Reddie:自动发现 LLM 应用漏洞并提交修复 PR 的开源工具
Reddie 用 LLM 自动对 LLM 应用做红队测试,生成 pytest 复现用例并直接开 GitHub PR 提交…
Reddie 是一款面向 LLM 应用的自动化 DevSecOps 工具。它能在一条命令内完成安全审计全流程:发现 LLM 应用中的漏洞 → 自动生成隔离的 pytest 复现用例 → 合成加固后的 prompt 与护栏补丁 → 在沙箱中验证 → 直接在 GitHub 上提交 Pull Request。项目基于 LangGraph 编排工作流,默认使用 Groq 作为推理后端,覆盖 OWASP 2025 版 LLM 应用 Top 10 中的若干关键类别。
核心流水线
Reddie 把整个审计拆成 6 个阶段,形成一条闭环流水线:
- Recon(侦察):用 AST + 正则对 Python、JS、TS 代码做静态分析,提取 system prompt 与 tool 定义。
- Red Team(红队):调用 Groq 上的真实 LLM(或降级到确定性启发式)生成对抗样本并执行。
- Reproduce(复现):自动生成独立的 pytest 套件,证明漏洞可稳定复现。
- Patch(补丁):由 LLM 合成修复,包括注入保密边界、输入护栏与权限检查。
- Verify(验证):在沙箱子进程里同时跑复现测试和回归套件,最多重试 3 次。
- PR(提交):推送 security/fix-* 分支并通过 PyGithub 发起 PR,描述里附完整审计报告。
OWASP LLM Top 10 覆盖
项目明确对齐 OWASP 2025 版 LLM 应用风险清单,覆盖以下条目并提供自动修复:
- LLM01 Prompt Injection:注入指令锁与输入护栏。
- LLM02 Sensitive Information Disclosure:加入保密指令与 token 脱敏。
- LLM06 Excessive Agency:执行权限边界约束。
- LLM07 System Prompt Leakage:对 system instruction 设置保密边界。
三种运行模式
- 离线模式:纯启发式扫描,零 API 成本,适合快速预检。
- AI 模式:调用真实 LLM 做红队评估,但不开 PR。
- 完整流水线:AI 审计 + 自动在 GitHub 上提交修复 PR。
工具同时提供 GitHub Action 镜像,可在 PR 触发或定时任务(默认每天 UTC 02:00)下自动运行,权限只需 contents: write 与 pull-requests: write。
CLI 与项目结构
主要参数包括 --repo-path、--github-repo、--github-token、--groq-key、--provider(支持 groq / openrouter / openai)、--export-html、--export-json、--max-retries、--dry-run 等。
代码以模块化方式组织:
agents/下分别实现 recon、red_team、reproduce、patcher、verifier、github_pr 六个节点。tools/封装静态分析器、HTTP fuzzer、LLM 客户端、报告生成器、Git 操作与 pytest 沙箱运行器。- 配套 13 个测试用例、
Dockerfile与docker-compose.yml,并随仓库提供NON_CS_EXPLAINER.md非技术向导读。
定位与局限
Reddie 适合作为 LLM 应用 CI 流水线中的一道自动安全门,尤其对早期缺乏专职安全团队的中小项目较友好。但要注意:它依赖外部 LLM(如 Groq)合成补丁,结果仍需人工 review;当前覆盖的 OWASP 条目有限(仅 4 项),对复杂业务逻辑漏洞的发现能力取决于底层模型与启发式规则强度。
