ghostonbutterbread/llm-audit

GitHub: ghostonbutterbread/llm-audit

一款利用LLM进行代码安全审计的工具,通过分析历史CVE生成针对性威胁模型,在代码库中高效搜寻潜在漏洞。

Stars: 0 | Forks: 0

# LLM-Audit LLM 驱动的漏洞研究工具,遵循针对性的方法论: 1. **查找 CVE** - 获取目标项目过往的漏洞披露 2. **生成威胁模型** - 利用 LLM 从 CVE 模式中创建漏洞类别 3. **切片代码库** - 将代码分解为可管理的块,以避免上下文衰减 4. **针对性搜寻** - 让 LLM 分析每个切片以查找特定漏洞 ## 安装 ``` cd ~/projects/llm-audit pip install -e . ``` ## 前置条件 - Python 3.9+ - GitHub CLI (`gh`) 已安装并完成认证 - LLM API 密钥 (OpenRouter, OpenAI, 或 Anthropic) ## 配置 设置您的 API 密钥: ``` export OPENROUTER_API_KEY="your-key-here" # 或 export OPENAI_API_KEY="your-key-here" # 或 export ANTHROPIC_API_KEY="your-key-here" ``` 可选:创建 `config/local.yaml` 以覆盖默认设置。 ## 使用方法 ### 基本用法 ``` # Audit 一个 GitHub 仓库 llm-audit --target owner/repo # Audit 本地代码 llm-audit --target /path/to/project # 使用特定模型 llm-audit --target owner/repo --model gpt-4o # 输出为 JSON llm-audit --target owner/repo --format json # 增加分析深度 llm-audit --target owner/repo --max-slices 30 ``` ### 跳过步骤 ``` # 跳过 CVE lookup(重复扫描更快) llm-audit --target owner/repo --skip-cve # 跳过漏洞搜寻(仅获取威胁模型) llm-audit --target owner/repo --skip-hunt ``` ### 选项 | 选项 | 描述 | |--------|-------------| | `-t, --target` | 目标 GitHub 仓库 (owner/repo) 或本地路径 | | `-o, --output` | 输出目录 (默认: reports/) | | `-f, --format` | 报告格式: markdown 或 json | | `-m, --model` | 要使用的 LLM 模型 | | `--provider` | LLM 提供商: openai, anthropic, openrouter | | `--max-slices` | 最大代码切片分析数量 (默认: 20) | | `--skip-cve` | 跳过 CVE/安全公告查询 | | `--skip-hunt` | 跳过漏洞搜寻 | | `-v, --verbose` | 详细输出 | ## 工作原理 ### 1. CVE 发现 使用 GitHub Advisory Database API 查找目标仓库过往的安全漏洞。 ### 2. 威胁建模 利用 LLM 分析 CVE 模式以生成针对性的威胁模型——即基于历史问题确定的需搜寻的特定漏洞类别。 ### 3. 代码切片 将代码库分解为可管理的块(文件/目录),以避免 LLM 上下文衰减。过滤掉非代码文件和大型二进制文件。 ### 4. 针对性搜寻 对于每个代码切片,根据威胁模型向 LLM 提示特定的漏洞类别。与“查找所有漏洞”相比,这种针对性方法减少了幻觉。 ### 优先关注 该工具优先关注与漏洞赏金相关的漏洞类别: - IDOR (Insecure Direct Object Reference, 不安全的直接对象引用) - Authentication Bypass (身份验证绕过) - Data Leaks (数据泄露) - XSS - SQL Injection (SQL 注入) ## 输出 报告将保存到 `reports/` 目录,并带有时间戳: ``` reports/llm_audit_owner_repo_20241015_143022.md ``` ## 架构 ``` llm_audit/ ├── cli.py # Main CLI entry point ├── config.py # Configuration management ├── cve_finder.py # Find CVEs via GitHub API ├── threat_model.py # Generate threat model from CVEs ├── slicer.py # Slice codebase into chunks ├── hunter.py # LLM vulnerability hunting ├── reporter.py # Generate reports └── llm_client.py # LLM API client ``` ## 许可证 MIT
标签:AI安全, Chat Copilot, Claude, CVE分析, CVE检测, DevSecOps, DLL 劫持, GitHub Advisory, GPT-4, LLM, Petitpotam, Python, Unmanaged PE, 上游代理, 云安全监控, 人工智能, 代码切片, 大语言模型, 威胁建模, 安全扫描, 对称加密, 情报收集, 无后门, 时序注入, 漏洞猎手, 漏洞研究, 用户模式Hook绕过, 自动化审计, 逆向工具, 静态分析