ritesh-ui/RepoGuard
GitHub: ritesh-ui/RepoGuard
RepoGuard 是一款结合AST与LLM的仓库安全扫描器,旨在降低误报并早期发现代码漏洞。
Stars: 0 | Forks: 0
# 🛡️ RepoGuard: 确定型AI安全引擎
**下一代应用安全(AppSec)**。RepoGuard 是一个高性能安全引擎,通过合并 **抽象语法树(AST)** 的外科手术级精度与 **自主AI智能体** 的深度推理能力,消除“误报税”。
[](https://github.com/ritesh-ui/RepoGuard/actions/workflows/repoguard.yml)
[](https://www.python.org/)
[](#)
## ⚡ 确定型护城河
传统 SAST 工具产生噪音。轻量级 AI 扫描器缓慢且会幻觉。**RepoGuard 通过“混合模式”取胜。**
1. **阶段 1:确定型过滤器(手术刀)**
我们的自定义双通道引擎并行扫描数千个文件。它不仅仅查找字符串;它将抽象语法树映射到结构化的漏洞路径。
2. **阶段 2:取证智能体(大脑)**
而不是标记每一个“热点”,RepoGuard 启动一个 **自主安全智能体**。如果发现结果存在模糊性,智能体使用动态工具(`read_file`、`text_search`)在文件边界之间追溯变量来源,然后再给出判决。
## 🚀 关键特性
### 🔍 精确审计引擎
- **跨过程污点追踪**:构建全局函数传播映射的双通道架构。即使数据通过多个辅助函数传递,我们也能追踪用户控制的数据。
- **流敏感分析**:理解变量覆盖。如果被污染变量被重新赋值为安全字面量,RepoGuard 会动态清除风险。
- **词边界智能**:语义分段分割防止对 `metadata` 或 `target` 等名称产生误报。
### 🛡️ 企业级语言支持
对以下语言提供深度 AST 与 Tree-Sitter 支持:
- **Python**(原生 ast.NodeVisitor)
- **JavaScript / TypeScript**(Tree-Sitter)
- **Java**(Tree-Sitter)
- **Go**(Tree-Sitter)
### 🤖 AI 原生安全(LLM 安全)
针对标准扫描器遗漏的漏洞提供专门检测:
- **提示注入**:LLM01:2023 追踪。
- **不安全工具/智能体使用**:LLM08:2023 过度授权。
- **提示中的敏感信息泄露**:LLM06:2023。
## 🏗 高层架构
```
graph TD
CLI[scan_repo.py] --> P1[Pass 1: Global Prop Map Builder]
P1 -->|Parallel Processes| Map[Inter-Procedural Taint Map]
Map --> P2[Pass 2: Deep Pattern Scanner]
P2 -->|Hotspots| Agent[Autonomous Forensic Agent]
Agent -->|Tool Use: read_file| Root[Variable Root Tracing]
Agent -->|Tool Use: text_search| Cross[Cross-File Validation]
Root --> Logic[Deterministic Logic Check]
Logic --> Result[Verified Vulnerability]
Result --> Report[MD/JSON/CLI Reports]
```
## 🛠 安装与设置
1. **克隆并进入**:
```bash
git clone https://github.com/ritesh-ui/RepoGuard.git && cd RepoGuard
```
2. **环境设置**:
```bash
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
pip install tree-sitter tree-sitter-languages
```
3. **配置 API**:
创建 `.env` 文件:
```
OPENAI_API_KEY=your_key_here
OPENAI_MODEL=gpt-4o-mini
```
## 📖 使用方法
### 标准扫描
```
python3 scan_repo.py /path/to/repo
```
### 企业级 CI/CD 扫描(高/严重错误时失败)
```
python3 scan_repo.py . --fail-on High --markdown SECURITY_REPORT.md
```
### 远程仓库审计
```
python3 scan_repo.py https://github.com/org/repo --branch main
```
## 🏆 案例研究:实际影响
| 项目 | 发现结果 | 状态 | 报告 |
| :--- | :--- | :--- | :--- |
| **HF SmolAgents** | 0 个高风险(已验证安全) | ✅ 已审计 | [查看报告](reports/benchmarks/RESULTS_SMOLAGENTS.md) |
| **OpenAI Agents SDK** | 1 个关键风险,10 个高风险 | ✅ 已审计 | [查看报告](reports/benchmarks/RESULTS_OPENAI_SDK.md) |
## 🛡️ 许可证
根据 MIT 许可证分发。更多详细信息请参阅 `LICENSE`。
标签:AI安全, AppSec, Chat Copilot, CISA项目, LLM分析, odt, SAST, Tree-Sitter, 不安全编码模式, 企业级语言支持, 变量覆盖, 命令执行, 子域名变形, 安全引擎, 安全扫描, 安全报告, 安全防护, 并行扫描, 开发者风险修复, 抽象语法树, 时序注入, 盲注攻击, 硬编码密钥, 确定性安全, 自主智能体, 规则检测, 误报消除, 跨文件追踪, 逆向工具, 零日漏洞检测, 静态应用安全测试