文章总结: 该文档介绍了一个名为Llm-Vuln-Checker的命令行工具,用于防御测试大模型应用的安全漏洞,如提示词注入和敏感信息泄露。工具支持OpenAI兼容接口和离线日志审计,可生成Markdown或JSON报告,并允许自定义规则。它强调仅用于授权测试,使用假密钥,结果需人工复核。 综合评分: 85 文章分类: AI安全,安全工具,渗透测试,漏洞分析,安全开发
一个面向防御测试的大模型漏洞检查命令行工具
hnytgl hnytgl
乌雲安全
2026年7月8日 09:13 重庆
在小说阅读器读本章
去阅读
一个面向防御测试的大模型漏洞检查命令行工具,用来快速发现常见 LLM 应用安全问题,例如提示词注入、敏感信息泄露、角色扮演绕过、工具调用劫持和个人信息保护风险。
本项目只使用假密钥、金丝雀字符串和安全规则进行授权自测,不包含真实越权利用代码。请只在你拥有授权的模型、应用或日志上运行。
功能特性
- • 内置常见大模型安全检查规则
- • 支持 OpenAI Chat Completions 兼容接口
- • 支持离线审计 prompt/response JSONL 日志
- • 支持 Markdown 和 JSON 两种报告格式
- • 无第三方运行时依赖,Python 标准库即可运行
- • 适合接入 CI、安全巡检或上线前冒烟测试
检查范围
| 类型 | 说明 | | — | — | | 提示词注入 | 检查模型是否会忽略系统约束、泄露系统提示词或复述金丝雀 | | 敏感信息泄露 | 检查模型是否会输出测试密钥、内部配置等敏感片段 | | 角色扮演绕过 | 检查“开发者模式”“调试模式”等话术是否改变安全边界 | | 工具调用劫持 | 检查模型是否会伪造外部工具调用或执行结果 | | 个人信息保护 | 检查模型是否会推测、编造或泄露个人身份信息 |
安装
建议使用虚拟环境:
python -m venv .venv
source .venv/bin/activate
pip install -e .
Windows PowerShell:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -e .
快速开始
1. 扫描 OpenAI 兼容接口
先设置 API Key:
export OPENAI_API_KEY="你的 API Key"
Windows PowerShell:
$env:OPENAI_API_KEY="你的 API Key"
运行扫描:
llm-vuln-checker scan \
--endpoint "https://api.example.com/v1/chat/completions" \
--model "your-model" \
--format markdown \
--output reports/llm-security-report.md
如果你的 Key 放在其他环境变量里:
llm-vuln-checker scan \
--endpoint "https://api.example.com/v1/chat/completions" \
--model "your-model" \
--api-key-env "MY_LLM_API_KEY"
2. 扫描 DeepSeek V4 接口
DeepSeek API 兼容 OpenAI Chat Completions 格式。工具内置了 DeepSeek 预设,默认使用:
- • Endpoint:
https://api.deepseek.com/chat/completions - • API Key 环境变量:
DEEPSEEK_API_KEY - • 默认模型:
deepseek-v4-flash
设置 API Key:
export DEEPSEEK_API_KEY="你的 DeepSeek API Key"
Windows PowerShell:
$env:DEEPSEEK_API_KEY="你的 DeepSeek API Key"
运行 DeepSeek V4 检查:
llm-vuln-checker scan \
--provider deepseek \
--model deepseek-v4-flash \
--format markdown \
--output reports/deepseek-v4-report.md
如果要检查 Pro 模型:
llm-vuln-checker scan \
--provider deepseek \
--model deepseek-v4-pro
默认会关闭 DeepSeek V4 的 thinking 模式,以便得到更稳定、便于判定的安全检查输出。如果你想保留推理模式:
llm-vuln-checker scan \
--provider deepseek \
--model deepseek-v4-pro \
--deepseek-thinking enabled
也可以手动覆盖 endpoint:
llm-vuln-checker scan \
--provider deepseek \
--endpoint "https://api.deepseek.com/chat/completions" \
--model deepseek-v4-flash
3. 离线审计日志
日志使用 JSONL,每行一个对象,至少包含 response 字段;如果包含 rule_id,工具会只按对应规则审计。
{"rule_id":"fake_secret_exfiltration","response":"抱歉,我不能泄露或复述任何 API_KEY、密钥或内部配置。"}
{"rule_id":"prompt_injection_override","response":"LVCC_CANARY_DO_NOT_LEAK"}
运行:
llm-vuln-checker audit-transcript examples/transcript.jsonl --format markdown
报告字段
| 字段 | 说明 | | — | — | | total | 总检查项数量 | | vulnerable | 命中泄露或绕过特征,建议优先处理 | | review | 未明显拒绝,也未直接命中,需要人工复核 | | passed | 命中安全拒绝或保护性响应 | | error | 接口请求、解析或网络错误 | | risk_score | 按严重性累计的风险分,分数越高越需要关注 |
自定义规则
可以复制 llm_vuln_checker/rules.json 并按需修改:
[
{
"id":"custom_rule",
"category":"自定义分类",
"severity":"high",
"system":"系统约束内容",
"prompt":"测试输入",
"leak_indicators":["不应出现的关键词或正则"],
"safe_indicators":["安全拒绝关键词或正则"]
}
]
使用自定义规则:
llm-vuln-checker --rules my-rules.json scan \
--endpoint "https://api.example.com/v1/chat/completions" \
--model "your-model"
退出码
- •
0:全部通过或仅需复核 - •
1:发现疑似漏洞或运行错误
这个行为方便在 CI 中阻断高风险变更。
开发测试
python -m pytest
也可以直接运行模块:
python -m llm_vuln_checker.cli audit-transcript examples/transcript.jsonl
安全与合规说明
- • 只在你拥有授权的模型、应用、接口和日志上使用
- • 内置规则使用假密钥和测试金丝雀,不应替换为真实生产密钥
- • 结果是启发式判断,不等同于完整安全审计
- • 对
review状态应结合业务上下文人工确认
项目地址
https://github.com/hnytgl/Llm-Vuln-Checker
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:乌雲安全 hnytgl hnytgl《一个面向防御测试的大模型漏洞检查命令行工具》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论