Rudra-Gupta15/Github_Scanner
GitHub: Rudra-Gupta15/Github_Scanner
一个结合静态分析与本地 LLM 的 AI 代码仓库扫描器,能够自动检测 Bug、漏洞和代码质量问题并生成交互式分析报告。
Stars: 0 | Forks: 0
# 🔍 RepoScan (GitHub Scanner)
[](https://fastapi.tiangolo.com)
[](https://reactjs.org)
[](https://ollama.com)
[](https://opensource.org/licenses/MIT)
一个交互式仓库扫描器和漏洞分析器,结合了确定性静态分析工具的速度与本地 LLM 的深度语义理解。
粘贴任何公开的仓库 URL,实时观察分析 pipeline 的运行,并探索一份类似 SonarQube 风格的全面报告,其中包含 AI 驱动的 bug 解释、建议的修复方案,以及一个内置了具备上下文感知能力的聊天助手的交互式 IDE。
## 📖 目录
- [✨ 核心功能](#-key-features)
- [⚙️ 架构与工作流](#-architecture--workflow)
- [📋 前置条件](#-prerequisites)
- [🚀 快速开始](#-getting-started)
- [1. 后端设置](#1-backend-setup)
- [2. 前端设置](#2-frontend-setup)
- [💡 使用指南](#-usage-guide)
- [🛠️ 配置](#️-configuration)
- [🧠 底层原理](#-under-the-hood)
## ✨ 核心功能
* **⚡ 混合分析 Pipeline:** 将确定性静态分析(`ESLint`、`Pylint`、`Bandit`)的快速问题检测与本地 LLM 智能(`gpt-oss:120b`)的上下文分类相结合。
* **🛰️ 任务控制进度轨:** 一个实时的 pipeline 可视化工具,显示实时的阶段进度:`queued` ➔ `cloning` ➔ `scanning` ➔ `analyzing` ➔ `triaging` ➔ `done`。
* **📊 丰富的分析仪表盘:** 全面的图表展示问题分布、严重程度、语言细分、文件大小排名,以及一个基于密度的*“优先修复”*优先级列表。
* **💻 集成 IDE 与代码查看器:** 一个内置于浏览器的交互式编辑器,配有文件树浏览器、语法高亮,以及直接映射到已识别问题的内联标记。
* **💬 上下文感知 AI 聊天:** 位于代码编辑器旁的 SSE 流式传输聊天界面。可以向本地 LLM 询问有关代码库的问题,请求对特定 bug 的解释,或要求它生成补丁。
* **📱 适配移动端的设计:** 完全响应式的 UI,可适应不同的屏幕尺寸,实现随时随地无缝扫描仓库和进行分类。
## ⚙️ 架构与工作流
```
graph TD
A[User pastes Repo URL] --> B[FastAPI Backend]
B --> C[Stage 1: Clone Repo]
C --> D[Stage 2: Scan & Classify Files]
D --> E[Stage 3: Run Static Analyzers]
E -->|ESLint| F[JavaScript/TypeScript Findings]
E -->|Pylint & Bandit| G[Python Findings]
F & G --> H[Stage 4: LLM Triage & Deep Scan]
H -->|Ollama: gpt-oss:120b| I[AI Explanations & Logic Bug Hunt]
I --> J[Stage 5: Compile Report]
J --> K[React Frontend Dashboard]
K --> L[Interactive IDE & Streaming AI Chat]
```
## 📋 前置条件
在设置之前,请确保您已安装以下内容:
* **Python 3.10+**
* **Node.js 18+**
* **Git**
* [**Ollama**](https://ollama.com)(已安装并运行)
在 Ollama 中拉取推荐的模型:
```
# 推荐用于扫描分诊和深度逻辑审查
ollama pull gpt-oss:120b
# 推荐用于交互式聊天助手
ollama pull qwen2.5-coder:7b
```
*(如果 `gpt-oss:120b` 对您的本地硬件来说负担太重,您可以退而使用像 `qwen2.5-coder:7b` 或 `llama3` 这样更轻量的模型——请参阅[配置](
标签:AI风险缓解, AV绕过, FastAPI, MITM代理, React, Syscalls, 代码质量审查, 本地大模型, 逆向工具, 错误基检测, 静态代码分析