Just-In-N-Out/LLM-Vulnerability-Scanner

GitHub: Just-In-N-Out/LLM-Vulnerability-Scanner

面向LLM应用的黑盒安全扫描CLI工具,基于确定性规则引擎检测OWASP LLM Top 10漏洞并可在CI/CD中阻断合并。

Stars: 0 | Forks: 0

# LLM 漏洞扫描器 一款命令行安全工具,用于测试基于 LLM 的应用程序是否存在映射到 **[OWASP LLM Top 10](https://owasp.org/www-project-top-10-for-large-language-model-applications/)** 的现实世界漏洞。旨在作为合并前的安全门禁直接接入 CI/CD 流水线——其工作方式与传统 Web 应用的 SAST/DAST 工具相同。 本项目旨在展示实操型的 AppSec + DevSecOps 技能:对抗性测试、基于规则的检测工程以及安全左移自动化。 ## 功能介绍 1. 向目标 LLM 发送对抗性提示(越狱、提示注入、凭证诱饵、PII 提取、工具滥用探测)。 2. 使用**确定性的 Python 规则引擎**评估每个响应——无需“LLM 裁判”,因此每一项发现都是可重现且可审计的。 3. 打印带有颜色编码的报告,指出触发该规则的具体细节及触发该规则的证据子串。 4. 如果发现的问题达到可配置的严重性阈值,则以非零代码退出——从而在 CI 中阻断合并。 ## 金丝雀技术 在每次扫描之前,该工具会生成一个随机的 UUID(一个“金丝雀”),并将其作为“机密参考代码”静默附加到目标的系统提示中。如果该 UUID 曾经出现在响应中,则证明模型泄露了其系统提示——这不需要主观判断,只需检查 `canary in response` 即可。这与应用于 LLM 安全领域的蜜罐、栈金丝雀和授权金丝雀模式是相同的原理。 ## OWASP LLM Top 10 覆盖范围 | 类别 | OWASP ID | 检测示例 | |---|---|---| | 提示注入 | LLM01 | 金丝雀泄露、人格劫持、系统提示回显 | | 不安全的输出处理 | LLM02 | `