mcpField
P
pentest-ai-llm-security

pentest-ai-llm-security

github.com/jd-opensource安全31576 次安装28 周前更新
代码仓库

关于 pentest-ai-llm-security

面向 AI/LLM 应用的安全测试技能,依据 OWASP LLM Top 10(2025)组织评估流程。它指导获授权的测试人员发现攻击面、检查注入与数据泄露,并记录修复建议。

主要功能

  1. 01发现 LLM 集成点
  2. 02测试直接与间接提示词注入
  3. 03检查数据暴露和输出处理
  4. 04测试过度代理与工具调用
  5. 05按 OWASP LLM Top 10 分类

适用场景

  1. 01评估 AI 应用的提示词注入风险
  2. 02检查 RAG 内容中的恶意指令
  3. 03测试 LLM 输出的安全渲染与执行
  4. 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 脚本,用于自定义提示词注入载荷
  • 本地代理,用于捕获完整的请求/响应链

核心工作流

  1. 发现集成点:识别所有 LLM 集成点——聊天界面、内容生成、RAG 流水线、AI 搜索、代码补全、摘要生成。
  2. 直接提示词注入:覆盖系统提示词、提取系统提示词内容、注入可改变模型行为的指令。
  3. 间接提示词注入:在大模型处理的文档/电子邮件/网页中嵌入恶意指令,污染 RAG 上下文。
  4. 数据泄露:提取训练数据、上下文窗口中的 PII、其他用户的对话历史、系统配置详情。
  5. 不安全的输出处理:将 LLM 输出渲染为 HTML(通过 LLM 实现 XSS)、用于 SQL 查询(通过 LLM 实现 SQLi)、用于系统命令。
  6. 过度代理权限:拥有工具访问权限的 LLM 执行未授权操作、通过工具链提升权限、滥用资源。
  7. 分类:使用 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