关于 pentest-ai-llm-security
面向 AI/LLM 应用的安全测试技能,依据 OWASP LLM Top 10(2025)组织评估流程。它指导获授权的测试人员发现攻击面、检查注入与数据泄露,并记录修复建议。
主要功能
- 01发现 LLM 集成点
- 02测试直接与间接提示词注入
- 03检查数据暴露和输出处理
- 04测试过度代理与工具调用
- 05按 OWASP LLM Top 10 分类
适用场景
- 01评估 AI 应用的提示词注入风险
- 02检查 RAG 内容中的恶意指令
- 03测试 LLM 输出的安全渲染与执行
- 04记录 LLM 安全发现及修复建议
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ jd-opensource/ joysafeter --skill pentest-ai-llm-security安装后在 Claude Code 中输入/pentest-ai-llm-security确认已加载。
附带文件references/tools.mdreferences/workflows.md
详细介绍
渗透测试:AI/大模型安全
目的
集成 AI 的应用引入了全新的攻击面。提示词注入是“AI 领域的 SQLi”。Shannon 和现有的任何技能都未涵盖这一领域。OWASP LLM Top 10 (2025) 定义了相关方法。
前提条件
授权要求
- 书面授权,并明确包含 AI/大模型测试范围
- 模型访问详情——API 端点、模型版本、工具/函数访问权限
- 数据敏感度分类——大模型可以访问哪些数据
- 速率限制认知——LLM API 成本可能迅速攀升
环境设置
- Garak,用于自动化大模型漏洞扫描
- Burp Suite,用于拦截 LLM 请求/响应的 API 流量
- Python 脚本,用于自定义提示词注入载荷
- 本地代理,用于捕获完整的请求/响应链
核心工作流
- 发现集成点:识别所有 LLM 集成点——聊天界面、内容生成、RAG 流水线、AI 搜索、代码补全、摘要生成。
- 直接提示词注入:覆盖系统提示词、提取系统提示词内容、注入可改变模型行为的指令。
- 间接提示词注入:在大模型处理的文档/电子邮件/网页中嵌入恶意指令,污染 RAG 上下文。
- 数据泄露:提取训练数据、上下文窗口中的 PII、其他用户的对话历史、系统配置详情。
- 不安全的输出处理:将 LLM 输出渲染为 HTML(通过 LLM 实现 XSS)、用于 SQL 查询(通过 LLM 实现 SQLi)、用于系统命令。
- 过度代理权限:拥有工具访问权限的 LLM 执行未授权操作、通过工具链提升权限、滥用资源。
- 分类:使用 OWASP LLM Top 10 (2025) 对发现的问题进行分类,并提供修复指导。
OWASP LLM Top 10 (2025) 覆盖范围
| 类别 | 测试重点 | 状态 |
|---|---|---|
| LLM01 提示词注入 | 直接和间接注入 | ✅ |
| LLM02 敏感信息泄露 | 数据泄露、PII 泄露 | ✅ |
| LLM03 供应链 | 模型来源、插件可信度 | ✅ |
| LLM04 数据和模型投毒 | 训练数据完整性 | ✅ |
| LLM05 不当输出处理 | 通过 LLM 输出实现 XSS/SQLi | ✅ |
| LLM06 过度代理权限 | 未授权使用工具 | ✅ |
| LLM07 系统提示词泄露 | 提取系统提示词 | ✅ |
| LLM08 向量和嵌入弱点 | RAG 投毒 | ✅ |
| LLM09 错误信息 | 利用幻觉 | ✅ |
| LLM10 无限制消耗 | 资源耗尽 | ✅ |
工具类别
| 类别 | 工具 | 用途 |
|---|---|---|
| LLM 扫描 | Garak, rebuff | 自动化提示词注入测试 |
| API 流量拦截 | Burp Suite, mitmproxy | 捕获 LLM API 请求/响应 |
| 提示词模糊测试 | 自定义 Python 脚本 | 生成和测试载荷 |
| 输出分析 | Browser DevTools, Burp | 检测不安全的输出渲染 |
参考资料
references/tools.md- 工具函数签名和参数references/workflows.md- 攻击模式定义和测试向量
评论
支持 Markdown