prompt-injection
$
npx mdskill add wgpsec/AboutSecurity/prompt-injectionDefend agents against malicious external data sources.
- Identifies injection vectors from untrusted web, document, and API inputs.
- Detects hidden payloads in PDFs, CSVs, emails, and code repositories.
- Recognizes RAG poisoning and tool chain hijacking attempts.
- Flags critical OWASP LLM Top 10 vulnerabilities in real-time.
SKILL.md
.github/skills/prompt-injectionView on GitHub ↗
--- name: prompt-injection description: "AI/LLM 间接 Prompt 注入攻击。当目标 AI 系统会处理外部数据源(网页、文档、邮件、数据库、API 返回)时使用。覆盖间接注入、工具链劫持、RAG 投毒、数据外泄等技术。OWASP LLM Top 10 #1 漏洞类别" metadata: tags: "ai,llm,prompt-injection,间接注入,RAG,投毒,工具调用,数据外泄,AI安全,Agent,插件" category: "ai-security" --- # AI Prompt 间接注入方法论 ## 概述 Prompt Injection(提示注入)是指攻击者通过 AI 系统处理的外部数据源,注入恶意指令来操控模型行为。与 jailbreak(用户直接输入)不同,injection 利用**不受信任的第三方数据**作为攻击载体,模型无法区分"数据"和"指令"。 这是 LLM 应用最危险的漏洞类别 — OWASP LLM Top 10 的 **#1** 位。 ## 深入参考 - 各 Phase 详细 Payload 与代码(网页/文档/CSV/图片/工具链/RAG/数据外泄/高级技术) → [references/injection-payloads.md](references/injection-payloads.md) --- ## 攻击面分类 | 注入渠道 | 载体 | 危害等级 | |----------|------|----------| | 网页内容 | AI 浏览/搜索时读取恶意页面 | Critical | | 文档上传 | PDF/Word/CSV 中嵌入隐藏指令 | Critical | | 邮件内容 | AI 邮件助手处理恶意邮件 | Critical | | 数据库/RAG | 知识库中投毒的文档 | Critical | | API 返回 | AI Agent 调用的 API 返回恶意内容 | High | | 用户评论/表单 | AI 分析用户生成内容时触发 | High | | 图片 OCR | 图片中包含隐藏文本指令 | High | | 代码注释 | AI 代码助手读取恶意注释 | High | --- ## 方法论概览 ### Phase 1: 间接注入 — 网页/文档载体 - **网页隐藏指令**: CSS 隐藏元素/HTML 注释中嵌入 AI 可读指令 - **文档注入**: PDF/Word 白色字体隐藏指令、PDF 元数据注入 - **CSV/数据注入**: 在数据字段中嵌入恶意指令 - **图片注入(多模态)**: 极浅颜色文字(人看不见,AI 可读) ### Phase 2: 工具链劫持 (Tool Use Abuse) - **工具调用注入**: 通过外部数据让 Agent 调用 read_file/http_request 等危险工具 - **跨工具链攻击**: 搜索工具返回恶意内容 → 触发邮件工具发送数据 - **文件系统 Agent 攻击**: 代码仓库 README 中注入 → AI 代码助手读取 .env ### Phase 3: RAG 投毒 - **知识库投毒**: 在正常文档中夹带恶意指令(白色字体/特殊标记) - **对抗性检索**: 构造高频关键词文本确保被检索命中 - **元数据层注入**: 在文档 metadata 中注入覆盖指令 ### Phase 4: 数据外泄 - **Markdown 图片外泄**: 让 AI 输出包含 `` 的 markdown - **链接外泄**: 伪装为"更多信息"链接,URL 参数携带敏感数据 - **隐蔽编码外泄**: 用首字母拼写等方式隐蔽泄露 ### Phase 5: 高级注入技术 - **Payload Splitting**: 恶意指令分散到多个数据源,单独无害组合有害 - **延迟触发**: 嵌入条件触发器,特定查询时激活 - **递归注入**: 让 AI 输出中嵌入新的注入 payload,链式传播 > 所有技术的详细 payload 和代码见 [references/injection-payloads.md](references/injection-payloads.md) --- ## 实战检测清单 ``` 1. [ ] 目标 AI 应用是否处理外部数据?(网页、文档、邮件、API) 2. [ ] 是否有工具调用/插件能力?(文件操作、网络请求、代码执行) 3. [ ] 是否使用 RAG/知识库?(可投毒的向量数据库) 4. [ ] 输出是否渲染 Markdown?(图片/链接外泄风险) 5. [ ] 是否有多步骤工作流?(跨步骤注入机会) 6. [ ] 数据输入是否经过消毒?(HTML 标签、元数据是否保留) 7. [ ] 是否区分数据和指令?(系统/用户/上下文分离) ``` --- ## 参考资源 - [OWASP LLM Top 10 — LLM01: Prompt Injection](https://owasp.org/www-project-top-10-for-large-language-model-applications/) - [Not what you've signed up for: Compromising Real-World LLM-Integrated Applications](https://arxiv.org/abs/2302.12173) - [Indirect Prompt Injection via YouTube Transcripts](https://kai-greshake.de/) - [Prompt Injection in LangChain Agents](https://blog.langchain.dev/security/) - [Markdown Image Exfiltration in ChatGPT Plugins](https://embracethered.com/blog/posts/2023/chatgpt-plugin-data-exfiltration/) - [Google Bard Indirect Injection via Google Docs](https://embracethered.com/blog/posts/2023/google-bard-data-exfiltration/)
More from wgpsec/AboutSecurity
- 401-403-bypass401/403 访问拒绝绕过方法论。当遇到管理后台、API 端点返回 401/403 Forbidden 时使用。覆盖路径操纵、HTTP 方法篡改、Header 注入、协议降级、组合攻击
- ad-acl-abuseActive Directory ACL 滥用攻击方法论。当 BloodHound 发现 GenericAll/WriteDACL/WriteOwner/GenericWrite/ForceChangePassword 等危险 ACE 时使用。覆盖 ACE 枚举、权限滥用链、Shadow Credentials、RBCD 攻击
- ad-delegation-attackKerberos 委派攻击(非约束/约束/RBCD)。当 BloodHound 发现委派配置、或已获取有 SPN 的服务账号/机器账号控制权时使用。通过 S4U 协议滥用可实现跨服务模拟任意用户,常用于域内权限提升和横向移动。
- ad-domain-attackActive Directory 域环境攻击全链路。当目标主机在域环境中(systeminfo 显示 Domain 非 WORKGROUP)、发现 88/389/636 端口、或获取到域用户凭据时使用。覆盖域信息收集、用户枚举、Kerberoasting、AS-REP Roasting、委派攻击、ACL 滥用、DCSync、Golden/Silver Ticket
- ad-persistenceAD 域环境持久化技术。当已获取域管/本地管理员权限、需要建立持久访问以确保重启或密码更改后仍能回到目标环境时使用。覆盖主机级持久化(计划任务/注册表Run/COM劫持/WMI事件订阅/Windows服务/启动文件夹)、域级持久化(Golden Ticket/Silver Ticket/Skeleton Key/DSRM/AdminSDHolder)、DCShadow/GoldenGMSA高级技术、清理命令与检测规避
- ad-trust-attack域信任关系攻击。当目标存在多域/多林环境时使用。包含父子域提权(Golden Ticket + ExtraSid)、跨林攻击(SID History/MSSQL Trust Links)、单向信任利用。已获取子域 Domain Admin 或发现信任关系时优先加载。
- adcs-certipy-attackActive Directory Certificate Services (ADCS) 证书攻击。当发现域内有 CA 服务器、ADCS Web Enrollment、证书模板配置错误时使用。覆盖 ESC1-ESC11 所有证书滥用路径、Certipy 工具链、证书伪造、NTLM 中继到 ADCS。发现 ADCS/CA/证书/certsrv 相关内容时一定要使用此技能
- adinfo-enum使用 Adinfo 进行 Active Directory 信息收集。当获得域用户凭据后需要快速收集域环境信息时使用。Adinfo 是一个快速 AD 信息收集工具,一条命令输出域控列表、域管用户、信任关系、GPO、SPN、委派配置等关键信息——比手动 LDAP 查询快得多。发现域环境后第一步信息收集使用此技能
- agent-security|
- ai-data-security|