用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就能按流程一步步分析,而不是天马行空地编答案。

structured skill blocks ai agent cybersecurity framework mapping

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。我把它简化为你可直接复用的模板:

markdown
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
# 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(最常见写法)

text
1
我收到一封可疑邮件,帮我看看是不是钓鱼。

结果:AI可能会说“请转发邮件内容”,但之后不知道具体分析步骤,给出的回答通用化、依赖AI自己编。我测试过相同邮件,不同AI模型给出的分析深度差异很大,有时甚至完全错误。

好Prompt(引用技能模板)

text
1 2 3 4 5 6
请使用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“自由发挥”的风险,提高了准确性。

difference between vague prompt and structured skill prompt results security analysis

5. 原理:为什么结构化技能有效

本质上,AI agent是一个推理引擎,它的能力上限取决于它能在推理过程中访问哪些知识单元

  • 如果没有结构化技能,agent只能依赖模型内部的参数化知识(即训练时见过的安全分析案例),这些知识分散且不精确。
  • 如果有了结构化技能,agent就能执行类似函数调用的过程:根据trigger找到对应skill,按capability逐行执行,每一步都可以与外部数据交互(日志、扫描结果等),最后输出结构化结果。

这就像给agent装了一个安全分析API,每个skill就是一个endpoint。通过组合多个skill,agent可以完成复杂工作流。

6. 实际案例演示:自动化钓鱼邮件分析Pipeline

我们用三个技能构建一个完整分析流程。

技能组合

  1. Phishing Detection(上文模板)
  2. Indicator Enrichment(Skill: SEC-THREAT-INTEL,查询VirusTotal等)
  3. Report Generation(Skill: SEC-REPORT,输出Markdown报告)

工作流触发Prompt

text
1 2 3 4
收到用户上报邮件。请执行以下步骤:
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. 行动建议

  1. 去GitHub下载项目(mukul975/Anthropic-Cybersecurity-Skills)
  2. 挑3-5个与当前任务相关的skill,放入你的agent配置目录
  3. 用上面的Prompt模板测试一下,看看agent是否按步执行
  4. 根据实际效果调整capability和trigger

你有更好的组合思路?欢迎在评论区分享,我会选出最实用的案例在下一期展开。