ritesh-ui/RepoGuard

GitHub: ritesh-ui/RepoGuard

RepoGuard 是一款结合AST与LLM的仓库安全扫描器,旨在降低误报并早期发现代码漏洞。

Stars: 0 | Forks: 0

# 🛡️ RepoGuard: 确定型AI安全引擎 **下一代应用安全(AppSec)**。RepoGuard 是一个高性能安全引擎,通过合并 **抽象语法树(AST)** 的外科手术级精度与 **自主AI智能体** 的深度推理能力,消除“误报税”。 [![RepoGuard 安全扫描](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/5e9b67017d154543.svg)](https://github.com/ritesh-ui/RepoGuard/actions/workflows/repoguard.yml) [![Python 版本](https://img.shields.io/badge/python-3.9+-blue.svg)](https://www.python.org/) [![性能](https://img.shields.io/badge/Parallel-Scale-green.svg)](#) ## ⚡ 确定型护城河 传统 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, 不安全编码模式, 企业级语言支持, 变量覆盖, 命令执行, 子域名变形, 安全引擎, 安全扫描, 安全报告, 安全防护, 并行扫描, 开发者风险修复, 抽象语法树, 时序注入, 盲注攻击, 硬编码密钥, 确定性安全, 自主智能体, 规则检测, 误报消除, 跨文件追踪, 逆向工具, 零日漏洞检测, 静态应用安全测试