用754个技能库,给AI Agent装上安全大脑
上周在GitHub上看到一个项目,短短一天涨了7000多星:mukul975/Anthropic-Cybersecurity-Skills。它提供了754个结构化的网络安全技能,映射到5个主流框架(MITRE ATT&CK、NIST CSF 2.0、MITRE ATLAS、D3FEND、NIST AI RMF),并且兼容Claude Code、Cursor、GitHub Copilot等20+AI代理平台。
我第一时间跑下来试了试。读完今天这篇文章,你会得到三样东西:
- 一个可以直接复制使用的Skill模板,让AI agent知道怎么执行安全分析
- 差Prompt vs 好Prompt的对比,理解结构化技能为什么有效
- 2-3个实战变体,覆盖不同安全场景
1. 这个Skill解决什么具体问题
先说痛点:你用Claude Code或Cursor做安全分析时,是不是经常遇到这个问题?
问:“帮我分析这个服务器的安全漏洞”
AI回复一堆大而全的建议,包括“更新软件”“关闭端口”之类,但不针对你的数据。
问题出在哪?AI agent没有结构化的安全知识。它不知道应该按什么顺序检查,不知道哪个攻击手法对应哪个防御技术,也不知道从哪个框架出发。
这个项目提供的就是一套“安全能力的乐高积木”。每个技能像一个函数:
- 有明确的触发条件(trigger)
- 有可执行的步骤(capability)
- 有依赖的框架(framework)
- 有输入和输出
当你把这些技能注入AI agent的system prompt或Tool Use中,agent就能按流程一步步分析,而不是天马行空地编答案。

2. Skill的触发条件和适用场景
先看看什么场景下你会用到这套技能。
适用场景(任选一个即可触发):
- 你需要AI做渗透测试报告中的检测项枚举(MITRE ATT&CK)
- 你需要AI根据日志判断是否发生了特定攻击手法(Tactic X)
- 你需要AI为发现的安全问题推荐防御措施(D3FEND)
- 你需要AI评估某个安全控制是否满足NIST CSF某个类别
- 你需要AI依据NIST AI RMF检查AI系统的安全风险
触发条件:你需要在AI agent的System Prompt或Skill配置中声明这些技能。项目已经提供了标准格式(agentskills.io),只需按平台规则引入。
例如在Claude Code中,你可以把技能定义放在.claude/skills/目录下,每个技能一个Markdown文件。在Cursor中,可以用.cursorrules加载。在Copilot中,可以通过内容块注入。
3. 完整Skill结构(SKILL.md示例)
项目中的每个技能都遵循统一schema。我把它简化为你可直接复用的模板:
# Skill: Phishing Detection and Analysis
## Metadata
- **Domain**: Email Security
- **Framework**: MITRE ATT&CK (T1566), D3FEND (D3-EM)
- **ID**: SEC-EMAIL-001
## Trigger
When user provides an email header, body, or attachment for analysis, or asks "Is this email phishing?"
## Capability
1. Extract email headers and identify suspicious routing patterns.
2. Analyze sender domain using DMARC/SPF/DKIM (if provided).
3. Check body for common phishing triggers: urgency, mismatched URLs, impersonation.
4. Inspect attachments for malicious indicators (file type, entropy, known signatures).
5. Map findings to MITRE ATT&CK T1566 (Phishing).
6. Recommend D3FEND countermeasures: Email Filtering (D3-EF), Link Analysis (D3-LA).
## Input
- Email raw text or header+body.
- Optional: mailbox path, SMTP log.
## Output
- JSON with fields: `technique_id`, `confidence`, `indicators`, `recommended_actions`.
## Examples
```json
{
"technique_id": "T1566.001",
"confidence": 0.87,
"indicators": ["Domain mismatch", "Spelling errors in body"],
"recommended_actions": ["Block sender", "Enable D3-EF email filtering"]
}
```
这个模板你可以直接复制到自己项目里。关键点是触发条件要具体,能力要可执行,输出要结构化。
4. 差Prompt vs 好Prompt:对比演示
差Prompt(最常见写法)
我收到一封可疑邮件,帮我看看是不是钓鱼。
结果:AI可能会说“请转发邮件内容”,但之后不知道具体分析步骤,给出的回答通用化、依赖AI自己编。我测试过相同邮件,不同AI模型给出的分析深度差异很大,有时甚至完全错误。
好Prompt(引用技能模板)
请使用Skill: Phishing Detection and Analysis(SEC-EMAIL-001)来分析以下邮件。
按Capability中的步骤逐项检查,输出JSON格式结果。
邮件内容:
From: support@bank0famerica.com
Subject: Urgent account verification
Body: Click here https://bit.ly/3xYs2Q7
结果:AI会先检查header routing,发现没有SPF记录,域名‘bank0famerica.com’与真实银行域名不同;body中有短链接;attachment无。然后给出T1566.001,confidence 0.95,推荐block。
为什么好? 因为好Prompt提供了已知的知识结构。AI不再需要从零推理安全分析步骤,而是直接调用预定义的流程。这降低了AI“自由发挥”的风险,提高了准确性。

5. 原理:为什么结构化技能有效
本质上,AI agent是一个推理引擎,它的能力上限取决于它能在推理过程中访问哪些知识单元。
- 如果没有结构化技能,agent只能依赖模型内部的参数化知识(即训练时见过的安全分析案例),这些知识分散且不精确。
- 如果有了结构化技能,agent就能执行类似函数调用的过程:根据trigger找到对应skill,按capability逐行执行,每一步都可以与外部数据交互(日志、扫描结果等),最后输出结构化结果。
这就像给agent装了一个安全分析API,每个skill就是一个endpoint。通过组合多个skill,agent可以完成复杂工作流。
6. 实际案例演示:自动化钓鱼邮件分析Pipeline
我们用三个技能构建一个完整分析流程。
技能组合:
- Phishing Detection(上文模板)
- Indicator Enrichment(Skill: SEC-THREAT-INTEL,查询VirusTotal等)
- Report Generation(Skill: SEC-REPORT,输出Markdown报告)
工作流触发Prompt:
收到用户上报邮件。请执行以下步骤:
1. 调用Skill SEC-EMAIL-001分析邮件,得到JSON输出。
2. 如果confidence > 0.6,将indicators传递给Skill SEC-THREAT-INTEL,获取外部威胁情报。
3. 调用Skill SEC-REPORT,将分析结果和情报合并生成最终报告。
你不需要写任何代码,只需要在Agent的System Prompt中加入这三个Skill定义,然后用户问一句“分析这封邮件”就能触发完整Pipeline。
7. 复用和组合技巧
技巧1:Skill 继承
你可以基于项目中的已有技能创建新技能。例如项目有“MITRE ATT&CK T1059 Command and Scripting Interpreter”的技能,你可以继承它,增加对PowerShell日志的解析。
技巧2:跨框架映射
一个安全事件往往涉及多个框架。项目已经为你做好了映射:检测到T1059后,可以自动关联到NIST CSF的“DE.CM”(持续监控)和D3FEND的“Process Analysis”。组合时只需引用对应skill ID。
技巧3:平台适配器
不同AI平台(Claude Code, Cursor, Copilot)的Skill加载方式有差异。项目提供了agentskills.io标准,大多数平台只需将技能文件放入特定目录。如果你用RAG方式加载,可以编写一个简单的索引器,把所有skill的trigger和capability存入向量数据库,然后通过语义路由自动调用。
8. 2-3个扩展变体
变体1:渗透测试报告检查员
修改触发条件为“分析这段渗透测试结果”,capability改为枚举未覆盖的ATT&CK技术,输出评估报告。
变体2:SOC警报分类器
触发器:传入一个告警ID和日志片段。Capability:与所有ATT&CK技能匹配,返回最可能的技战术。
变体3:AI系统风险评估(NIST AI RMF)\n项目包含了NIST AI RMF映射。你可以创建一个技能,接受AI模型描述,输出风险识别-评估-缓解-监控的建议。
9. 个人看法
这个项目最让我眼前一亮的是映射关系。很多安全团队有自己的ATT&CK覆盖率表,但很少有人把它们写成agent可读的skill。这套标准(agentskills.io)把这件事工业化,而且Apache 2.0协议,可以直接商业化。
但注意两点:
- 技能的质量依赖映射的准确性。我抽查了几个技能,发现部分D3FEND技术映射到旧版,需要核对。
- 754个技能对很多agent来说太多了,建议只加载与你场景相关的子集,否则token消耗巨大。
整体而言,这是目前我看到的最完整AI安全skill库。如果你的团队正在构建安全agent,直接拿它做基础层,比自己造轮子快10倍。
10. 行动建议
- 去GitHub下载项目(mukul975/Anthropic-Cybersecurity-Skills)
- 挑3-5个与当前任务相关的skill,放入你的agent配置目录
- 用上面的Prompt模板测试一下,看看agent是否按步执行
- 根据实际效果调整capability和trigger
你有更好的组合思路?欢迎在评论区分享,我会选出最实用的案例在下一期展开。