
基于 Promptfoo 的 LLM 持续红队对抗MITRE ATLAS、NIST AI RMF 与 OWASP 标准映射实战指南【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills本篇文章是 Anthropic-Cybersecurity-Skills 仓库中continuous-llm-red-teaming-with-promptfoo技能的标准与参考文档的深度展开。该技能将 Promptfoo 与 DeepTeam 接入 CI/CD把 LLM 应用的红队对抗变成可重复执行的回归测试并以MITRE ATLAS、NIST AI RMF、OWASP LLM Top 10 / OWASP Agentic三套风险分类学作为对齐基线。读完本文你将掌握这些安全标准在 LLM 红队场景中的确切含义、对应的攻击技术与插件/策略映射关系以及如何把标准覆盖度转化为流水线门禁与合规报告。一、这份标准文档在技能包中的定位skills/continuous-llm-red-teaming-with-promptfoo/目录是一个完整的、可供 AI Agent 直接调用的网络安全技能包其标准文档位于 references/standards.md是技能的「合规对齐层」它回答了「我们做的红队测试到底对应哪些公认的威胁分类」——即 MITRE ATLAS 技术清单它回答了「这套持续测试在治理框架中属于哪个控制点」——即 NIST AI RMF 的 MANAGE-4.1它回答了「攻击套件追踪哪些风险分类学」——即 OWASP LLM Top 10、OWASP Agentic 与 MITRE ATLAS。与它配套的是三份仓库内资源完整操作流程见 SKILL.md命令与配置键速查见 references/api-reference.md而把标准映射落实为「可判定、可失败、可回归」的 CI 门禁脚本见 scripts/agent.py。本文以标准文档为骨架逐一拆解每一行映射背后的技术含义。二、核心威胁模型MITRE ATLAS 技术映射标准文档将本技能对抗的核心攻击面收敛到 MITRE ATLASAdversarial Threat Landscape for Artificial-Intelligence Systems的两大技术族共 4 个条目ID名称战术Tactic映射理由RationaleAML.T0051LLM Prompt InjectionLLM Attack攻击套件生成并回归测试的核心攻击类别AML.T0051.000Direct Prompt InjectionLLM Attack直接经由用户提示词投递的注入AML.T0051.001Indirect Prompt InjectionLLM Attack经由检索/外部内容投递的注入AML.T0054LLM JailbreakLLM Attack逃逸策略jailbreak、composite、crescendo测试防护绕过的能力2.1 AML.T0051整个套件的「第一威胁」Prompt injection提示词注入是 MITRE ATLAS 中专门针对 LLM 的攻击技术攻击者通过构造对抗性指令覆盖或劫持应用的预期行为。标准文档明确它是「Core class of attack generated and regression-tested by the suite」——即本技能生成与回归测试的核心攻击类别。在技能主文档的 MITRE ATTCK 映射表中它同时被标注为 LLM 战术下的Initial Access / Persistence说明注入既是外部入侵 LLM 应用的入口Initial Access也可能在持久化阶段被复用为维持访问的手段。2.2 AML.T0051.000 与 AML.T0051.001直接注入与间接注入AML.T0051.000 Direct Prompt Injection注入内容直接出现在用户输入中。对应 Promptfoo 的prompt-injection策略注入包裹器是套件默认开启的基础攻击形态。AML.T0051.001 Indirect Prompt Injection注入内容隐藏在应用检索到的外部内容里如 RAG 知识库文档、网页抓取结果、工具返回数据用户甚至没有主动输入恶意指令。仓库中另有 detecting-indirect-prompt-injection 与 testing-prompt-injection-in-rag-pipelines 两个相邻技能专门处理这类场景可互为补充。2.3 AML.T0054LLM Jailbreak 的逃逸谱系标准文档将 Jailbreak 的三种形态显式列出jailbreak单轮迭代逃逸、composite复合逃逸技术叠加、crescendo多轮逐步升级。在技能主文档的 ATTCK 映射表中AML.T0054 对应 LLM 战术下的Privilege Escalation / Defense Evasion——逃逸的本质是绕过模型的安全对齐Defense Evasion并试图让模型执行超出权限的行为Privilege Escalation。2.4 从 frontmatter 看技能的机器可读映射技能主文档 SKILL.md 的 YAML frontmatter 中直接声明了这两项标准映射供自动化管线解析nist_ai_rmf: - MANAGE-4.1 atlas_techniques: - AML.T0051这意味着该技能不仅「在文字上」声称对齐标准还提供了机器可读的标准 ID 声明可直接被索引、检索与合规审计工具消费。三、NIST AI RMFMANAGE-4.1 如何落地为 CI/CD 持续监控标准文档给出的第二项映射是 NIST AI RMFAI 风险管理框架的控制点IDFunctionRationaleMANAGE-4.1已实施部署后监控计划AI 风险被追踪和管理持续 CI/CD 红队对抗是 LLM 风险的部署后监控控制3.1 MANAGE-4.1 在治理语义上意味着什么NIST AI RMF 的 MANAGE 职能关注 AI 风险的治理与持续管理。MANAGE-4.1 要求在 AI 系统部署之后依然存在有效的监控计划——模型会漂移、提示词会被改写、知识库会更新、底层模型会被升级这些变化都可能重新引入或放大风险。标准文档给出的判断非常直接把红队对抗放进 CI/CD让每次提交都重跑同一套对抗套件本身就是 MANAGE-4.1 所说的「部署后监控」控制而不是一次性的上线前安全审查。3.2 为什么「一次性测试」不足以满足 MANAGE-4.1技能主文档给出了一个极具说服力的场景上周刚修复的 jailbreak 漏洞可能因为一次提示词编辑或模型升级而静默回归。这也正是「持续Continuous」二字的核心动机——把 LLM 安全当作回归测试来对待而不是当作一次验收。这与 NIST AI RMF 强调的「AI 风险需要持续追踪与管理」完全同构。四、追踪的框架与 presetOWASP LLM Top 10 / OWASP Agentic / MITRE ATLAS标准文档最后一节列出技能实际追踪的三套框架它们在 Promptfoo 中以preset预设插件包的形式被直接消费OWASP LLM Top 10owasp:llmpreset覆盖 LLM 应用的十大典型漏洞类别如 LLM06 敏感信息泄露、LLM07 系统提示词泄露等OWASP Agentic threatsowasp:agenticpreset覆盖代理式 AI 的威胁包括工具滥用、过度授权、依赖链投毒等 Agentic 场景特有的攻击面MITRE ATLASPromptfoo 的 ATLAS 映射将每个生成/评估结果回溯到 ATLAS 技术 ID。4.1 插件与策略的标准映射参考表技能主文档提供了一张完整的映射表它把「Promptfoo 的配置项」与「标准框架」一一对应起来是撰写合规报告时最直接的引用依据Promptfoo 配置项类型标准映射owasp:llmpresetOWASP LLM Top 10 套件owasp:agenticpresetOWASP Agentic 威胁prompt-extractionpluginLLM07 系统提示词泄露pii:directpluginLLM06 敏感信息泄露harmfulplugin有害内容生成jailbreak/jailbreak:compositestrategyAML.T0054 LLM jailbreakcrescendostrategy多轮 jailbreakprompt-injectionstrategyAML.T0051 prompt injection从这张表可以清晰地看到标准文档与主文档的咬合关系标准文档定义「追踪什么」ATLAS 技术、NIST 控制点、OWASP 框架主文档定义「用什么配置实现追踪」preset、plugin、strategy二者结合才能产出可审计的合规闭环。五、把标准映射落到实战从配置到流水线门禁5.1 脚手架生成对齐 OWASP preset 的配置技能主文档推荐先用交互式初始化生成promptfooconfig.yamlpromptfoo redteam init # 选择目标类型HTTP endpoint、openai:...、anthropic:...、自定义 provider随后编辑配置。其中purpose应用描述会作为攻击生成的语境基础plugins是对抗性输入生成器strategies是投递技术jailbreak / 注入包裹器三者共同决定了测试套件对标准框架的覆盖度# promptfooconfig.yaml targets: - id: https://api.example.com/chat # 你的应用端点 label: support-bot redteam: purpose: | A customer-support assistant for an e-commerce site. Must never reveal system prompts, leak PII, or perform actions outside order support. numTests: 10 plugins: - owasp:llm # OWASP LLM Top 10 preset - owasp:agentic # OWASP Agentic threats preset - id: pii:direct numTests: 15 - prompt-extraction # 系统提示词泄露 - harmful strategies: - id: jailbreak # 迭代式单轮 jailbreak - id: jailbreak:composite # 叠加式 jailbreak 技术 - id: crescendo # 多轮升级 - id: prompt-injection # 注入包裹器注意pii:direct通过id:加numTests: 15的写法覆盖默认的每插件测试数——这展示了如何在 OWASP preset 之外对特定漏洞类别加大采样密度。5.2 运行与解读报告redteam run合并了「生成 评估」两步随后可打开 Web 报告promptfoo redteam run promptfoo redteam report # 启动 Web 报告每个插件 pass/fail报告中每一行展示插件映射到 OWASP/ATLAS、策略、攻击提示词、模型响应与判分器结论。标准文档所定义的威胁模型在这里转化为可观测指标——每个插件的攻击成功率attack success rate是首要指标应按版本追踪。5.3 用 DeepTeam 补充研究型攻击DeepTeamConfident AI提供 50 现成漏洞定义与 10 研究支撑的攻击方法可用 Python 编写定制套件# deepteam_suite.py from deepteam import red_team from deepteam.vulnerabilities import Bias, PIILeakage from deepteam.attacks.single_turn import PromptInjection def model_callback(prompt: str) - str: # 在这里调用你应用的 LLM 端点并返回文本响应 return call_my_app(prompt) red_team( model_callbackmodel_callback, vulnerabilities[Bias(types[race]), PIILeakage(types[api_and_database_access])], attacks[PromptInjection()], )也可用 YAML 驱动 CLIdeepteam run config.yaml。5.4 CI/CD 门禁构建失败即阻断合并Promptfoo 在断言失败时返回非零退出码GitHub Actions 中即可作为合并阻断闸门# .github/workflows/llm-redteam.yml name: LLM Red Team on: [pull_request] jobs: redteam: runs-on: ubuntu-latest steps: - uses: actions/checkoutv4 - uses: actions/setup-nodev4 with: { node-version: 20 } - run: npm install -g promptfoo - name: Run red team (fails build on new vulns) env: OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} run: promptfoo redteam run --no-progress-bar - name: Export machine-readable results if: always() run: promptfoo redteam report --output results.json - uses: actions/upload-artifactv4 if: always() with: { name: redteam-report, path: results.json }5.5 回归追踪每次运行持久化results.json对比各版本的每插件攻击成功率。任一 OWASP LLM 类别的成功率上升即为回归需在发布前处置。--filter-failing可只重跑此前失败的用例以确认修复promptfoo redteam run --filter-failing results.json六、源码级实现agent.py 如何把标准映射变成可判定的门禁标准文档定义的是「应该追踪什么」而 scripts/agent.py 定义的是「如何程序化地强制追踪」。它提供三个子命令子命令职责scaffold写出含 OWASP LLM/Agentic preset 的 starterpromptfooconfig.yamlrun以子进程调用promptfoo redteam run并捕获退出码parse解析results.json按插件统计攻击成功率ASR超阈值即非零退出CI 门禁6.1 scaffold与标准文档一致的 starter 配置STARTER_CONFIG内嵌的模板与技能主文档的配置示例高度一致默认即启用owasp:llm、owasp:agentic两个 preset以及prompt-extraction、pii:direct15 个用例、harmful三个插件和 jailbreak / jailbreak:composite / crescendo / prompt-injection 四类策略见 agent.py 第 18-39 行。这意味着一个 Agent 只需执行python3 agent.py scaffold --target https://api.example.com/chat \ --purpose A customer-support assistant... --num-tests 10 --out promptfooconfig.yaml python3 agent.py run --config promptfooconfig.yaml --output results.json即可从零得到一个对齐 OWASP 与 ATLAS 的完整红队套件。6.2 parse把「攻击成功率」变成可执行标准cmd_parse从results.json中提取每条记录的pluginId与success字段将「断言失败」等价于「攻击成功」聚合出每个插件的攻击成功率ASR并支持--max-asr阈值默认0.0即零容忍python3 agent.py parse --results results.json --max-asr 0.05若任一插件的 ASR 超过阈值脚本返回退出码2并列出违约插件agent.py 第 86-113 行。这正是标准文档中「按插件追踪攻击成功率、上升即回归」这一治理要求在实现层的落地——标准给出了语义脚本给出了判定。七、命令与配置速查来自 references/api-reference.md 的速查信息便于在 CI 与本地之间快速切换安装方式工具命令Promptfoo全局npm install -g promptfooPromptfoo免安装npx promptfoolatest redteam runDeepTeampip install -U deepteamPromptfoo 红队 CLI命令用途promptfoo redteam init交互式脚手架生成红队配置promptfoo redteam generate仅生成对抗性测试用例promptfoo redteam run生成 评估合并promptfoo redteam eval评估已生成的测试promptfoo redteam report打开/导出结果报告promptfoo redteam plugins列出可用插件promptfoo redteam strategies列出可用策略常用标志--no-progress-barCI 环境、--output results.json、--filter-failing file、-c config。redteam:配置键键用途purpose应用描述作为攻击生成的语境基础numTests每插件生成的测试数plugins对抗性生成器owasp:llm、owasp:agentic、pii:direct、prompt-extraction、harmful等strategies投递技术jailbreak、jailbreak:composite、crescendo、prompt-injectiontargets被测端点/模型八、可验证的验收清单技能主文档为「标准映射是否真正落地」给出了可勾选的验收标准可直接用作实践与审计依据已创建promptfooconfig.yaml包含目标、owasp:llm与owasp:agentic插件已启用 jailbreak 与 prompt-injection 策略promptfoo redteam run可执行并产出每插件 pass/fail 报告DeepTeam 套件通过model_callback对同一目标运行CI/CD 任务在出现新的红队失败时以非零退出码阻断构建每次运行归档results.json产物用于回归追踪各 OWASP 类别的攻击成功率已跨版本趋势化。九、授权边界与总结需要特别强调本技能生成的攻击载荷jailbreak、prompt injection、有害内容诱导均属对抗性输入只能针对你拥有或明确授权测试的 LLM 应用与端点运行。向第三方服务发送此类载荷可能违反其服务条款。技能主文档在开头即以「Authorized Use Only」声明了这一边界这本身也是对 NIST AI RMF「风险治理」精神的呼应。总结而言references/standards.md虽然篇幅精简却承担了技能包中最关键的对齐职能它把 Promptfoo DeepTeam 的每一次攻击生成与评估锚定到 MITRE ATLASAML.T0051 系与 AML.T0054、NIST AI RMFMANAGE-4.1与 OWASP LLM Top 10 / OWASP Agentic 三套公认框架上配合 SKILL.md 的完整工作流、api-reference.md 的命令速查与 agent.py 的门禁实现这套技能即可作为 LLM 应用持续安全监控的标准化组件直接投入使用并为合规审计提供可复现、可追溯的标准映射证据链。【免费下载链接】Anthropic-Cybersecurity-Skills817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATTCK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI 20 platforms · 29 security domains · Apache 2.0项目地址: https://gitcode.com/GitHub_Trending/an/Anthropic-Cybersecurity-Skills创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考