首页 › skills-review › 官方安全三件套:同门逐行横评

官方安全三件套:security-threat-model / best-practices / ownership-map 同门横评

概述

安全类 Skill 在 SkillsMP 上有 79,366 个(占总库 287 万的约 2.8%,2026-08-31 抓取),是典型的「需求刚性但供给零散」赛道——绝大多数是泛泛的 "review my code for vulnerabilities" 提示词。这轮我们不看散兵游勇,把 Anthropic 官方 curated 库里的三个同门安全 Skill 拉出来逐行对比:security-threat-model(设计期威胁建模)、security-best-practices(编码期安全默认)、security-ownership-map(维护期所有权挖掘)。三者形态迥异——纯提示词、参考文档库、Python 脚本包——恰好构成安全工作的三条时间线。本次拆解基于本地安装的一手文件(SKILL.md 全文 + 目录树),并有一个意外发现:这三个「Claude 官方 Skill」里藏着 OpenAI Codex 的痕迹。

评测对比表

Skill 形态 功能完整度 设计质量 实战效果 上手难度 社区活跃 加权总分
security-best-practices SKILL.md + 10 份参考文档 ★★★★½ ★★★★½ ★★★★ ★★★★½ ★★★★ 4.30
security-threat-model 纯 SKILL.md + 2 份参考 ★★★★ ★★★★★ ★★★★ ★★★½ ★★★½ 3.95
security-ownership-map SKILL.md + 4 个 Python 脚本 ★★★★½ ★★★★ ★★★½ ★★★ ★★★½ 3.80

权重:功能 25% / 设计 25% / 实战 20% / 上手 15% / 社区 15%。社区分保守给出:三者同属 anthropics/skills 官方库(SkillsMP「Popular picks」收录该仓库),无独立 Star 数据,按官方库整体活跃度估分。

一、security-threat-model:把「暂停键」写进 SKILL.md 的设计期沙盘

定位:输入一张架构图或一个仓库,输出一份 AppSec 级威胁模型,落盘为 <repo名>-threat-model.md。它的 SKILL.md 开篇第一句就是反模板宣言:"Deliver an actionable AppSec-grade threat model that is specific to the repository... not a generic checklist"(交付针对本仓库的可执行威胁模型……而不是通用清单)。

工作流拆解。SKILL.md 定义了 8 步:圈定范围提取系统模型 → 推导信任边界/资产/入口点 → 校准攻击者能力 → 以「滥用路径」枚举威胁 → 用可能性×影响排优先级 → 与用户确认假设 → 给出缓解建议 → 质量自检。三处设计值得抄:

  1. 第 6 步是硬性暂停:"Pause and wait for user feedback before producing the final report"(暂停,等用户反馈后再出最终报告)。模型必须先列出影响排序的关键假设、问 1–3 个针对性问题(部署模型、认证方式、多租户与否),等用户确认。这是把「防幻觉」从被动叮嘱变成流程强制——用户不回答,报告也要标注哪些结论是悬在假设上的。
  2. 证据锚定:"Anchor every architectural claim to evidence in the repo"(每个架构断言都要锚定仓库内证据)+ "Do not claim components, flows, or controls without evidence"(无证据不得声称组件/流/控制存在)。
  3. 反贪多条款:"Keep the number of threats small but high quality"(威胁数量要少但质量要高)。见过太多安全报告用 40 条低价值发现稀释 3 条真问题,这句话直接把报告质量的上限写进了提示词。

它的严重度阶梯也很克制:High 只留给「pre-auth RCE、认证绕过、跨租户访问、敏感数据外泄、密钥窃取、模型/配置完整性破坏、沙箱逃逸」;Low 档明确写着「需要罕见前置条件的问题」——教模型主动降级,而不是渲染恐慌。

短板:零脚本、零自动化,全靠模型读仓库 + 用户配合;SKILL.md 把输出契约委托给 references/prompt-template.md,控件清单委托给 references/security-controls-and-assets.md,实际效果取决于模型是否真的去读这两份文件。纯提示词形态的上限就在这里。

二、security-best-practices:用「文件名协议」组织安全知识的三模式 Skill

定位:写代码时让模型「默认安全」。它是三个里工程化程度最高的——核心机制是一个命名协议:references/ 目录下所有文件按 <语言>-<框架>-<栈>-security.md 命名。本地安装版有整整 10 份:JS/TS 六份(express、jquery、nextjs、react、vue、general-web-frontend)、Python 三份(django、fastapi、flask)、Go 一份(general-backend)。SKILL.md 的工作流只有两步核心动作:先识别项目用了所有语言和框架(前后端都要查),再按协议去 references 里精确加载对应文件。这本质上是把「按需加载」做成了文件系统级的路由表——比在一份大文档里让模型自己找,命中率高得多。

三种工作模式写得层次分明:

两个「反直觉」条款是全文精华。其一是 Overrides:用户要绕过某条安全实践时,"you MAY report it to the user, but do not fight with them"(可以报告,但别跟用户吵架),并建议把绕过原因写进项目文档。这句话治的是 AI 助手最常见的毛病——抱着安全教条跟用户对线。其二是 TLS 务实条款:明确告诉模型不要把「开发环境没配 TLS」当漏洞报,警告 secure cookie 在非 TLS 环境会直接弄坏应用,甚至写了 "avoid recommending HSTS"(别乱推荐 HSTS,它能造成真实停摆)。这是在教模型什么不该报——安全工具最大的死法就是误报刷屏,失去用户信任。

一个生态级发现:这份 SKILL.md 的结尾写着 "...not generally recommended for the scope of projects being reviewed by codex"(就不展开上下文了),而两个同门 Skill 的目录里都躺着 agents/openai.yaml。三条证据拼起来:这套 curated 安全 Skill 是跨 Agent 维护的——同一份 SKILL.md 同时服务 Claude Code 和 OpenAI Codex。「官方 Skill」的边界,比我们以为的更模糊。

三、security-ownership-map:唯一一个「真的会跑代码」的安全 Skill

定位:前两个管「代码」,这个管「人」。它挖掘 git 历史,构建「人 ↔ 文件」二部图和文件共变图(对共享 commit 算 Jaccard 相似度),再用 networkx 做社区发现,回答一类传统扫描器完全不碰的问题:你仓库里的敏感代码,现在还有人在守吗?

能力清单(本地目录下 4 个脚本:run_ownership_map.py、build_ownership_map.py、query_ownership.py、community_maintainers.py):

最值得学的设计是 LLM 上下文经济学:SKILL.md 专门写了一节「LLM query helper」,要求模型用 query_ownership.py 取"small, JSON-bounded slices without loading the full graph into context"(小块、有 JSON 边界的切片,别把整张图灌进上下文)。一个百万 commit 的仓库,图数据轻松上 GB——这个 Skill 明确知道自己是给模型用的,把「喂多少数据」当成一等公民来设计。输出还能导出 GraphML,配套 references/neo4j-import.md 灌进 Neo4j/Gephi 做可视化——一个 Skill 自带图数据库导入文档,野心可见一斑。

短板:依赖 Python 3 + networkx,对纯业务开发者有门槛;且它的价值随团队规模递增——单人项目跑 bus factor 是自我感动,50 人以上的仓库才见真章。

同赛道对比:三条时间线,不是三个竞品

这三个 Skill 最有意思的地方在于它们互为补集,覆盖安全工作的三段时序:

flowchart LR
    subgraph D["设计期"]
        A["security-threat-model<br/>纯提示词 · 威胁建模"]
    end
    subgraph C["编码期"]
        B["security-best-practices<br/>参考库协议 · 安全默认"]
    end
    subgraph M["维护期"]
        E["security-ownership-map<br/>脚本包 · git 挖掘"]
    end
    P["架构图 / 仓库"] --> A
    A --> Q["threat-model.md<br/>漏洞死在白纸上"]
    W["新写 / 改代码"] --> B
    B --> X["secure by default<br/>漏洞不进库"]
    G["git 历史"] --> E
    E --> Y["bus factor / 孤儿代码<br/>看清谁在守家"]
    Q --> Z["CI 闸门<br/>claude-code-security-review"]
    X --> Z
    Y --> Z
对比轴 threat-model best-practices ownership-map
形态 纯提示词 SKILL.md + 10 参考文档 SKILL.md + 4 Python 脚本
介入时序 写代码之前 写代码之时 代码腐化之后
核心输入 架构/仓库 + 用户确认 语言/框架识别 git log
核心输出 威胁模型 md 安全代码 / 分级报告 CSV/JSON/GraphML
防幻觉机制 强制暂停 + 证据锚定 文件名协议精确加载 查询切片防爆上下文
目标用户 技术负责人 一线开发者 安全/平台工程师

安装与使用

三者同出 anthropics/skills 官方库(本地安装目录 ~/.claude/skills/ 已验证):

# 方式一:skills.sh CLI(owner/repo 模式)
npx skills add anthropics/skills

# 方式二:手动安装(以仓库实际路径为准)
git clone https://github.com/anthropics/skills
cp -r skills/.curated/security-threat-model ~/.claude/skills/
cp -r skills/.curated/security-best-practices ~/.claude/skills/
cp -r skills/.curated/security-ownership-map ~/.claude/skills/

# ownership-map 额外依赖
pip install networkx

触发方式:对着仓库说「给这个项目做威胁建模」自动命中 threat-model;日常写代码时 best-practices 被动生效(或点名「出一份安全报告」);ownership-map 则说「分析这个仓库的代码所有权」。

推荐排行榜

mindmap
  root(("官方安全Skill族"))
    security-threat-model
      纯提示词
      设计期威胁建模
      强制暂停确认假设
    security-best-practices
      10份语言参考库
      三种工作模式
      反误报TLS条款
    security-ownership-map
      Python脚本包
      bus factor与孤儿代码
      Neo4j图导出
    外部参照
      claude-code-security-review
      CI闸门收口

参考来源

  1. SkillsMP — Agent Skills Library — 全库 2,872,898 个 Skill、Security 类目 79,366 个等统计数据,2026-08-31 抓取
  2. skills.sh — The Agent Skills Directory — 安装 CLI(npx skills add <owner/repo>)与总榜安装量数据,2026-08-31 抓取
  3. anthropics/skills — 三个 Skill 的官方来源仓库(SkillsMP「Popular picks」收录佐证);本文逐行拆解基于本地安装副本(~/.claude/skills/security-*,含 references 与 scripts 目录树)
  4. 本刊 2026-08-28《官方捆绑 Skill 横评》— claude-code-security-review(6.1k Star,仓库 README 抓取于 2026-08-28)作为 CI 闸门的外部参照
  5. 本刊 2026-08-27《八技横评》— security-threat-model 首次周报收录记录,用于查重与连续观察

[!tip] 51学通信知识星球 星主:爱卫生(微信:gprshome201101)——公众号「51学通信」创办者,19 年通信行业运维与讲师经验,著有《GPRS网络信令实例详解》《EPC原理与实践》《5G核心网原理与实践》三本纸质书(各大电商平台有售)。 星球定位:深耕 5G 核心网、IMS、NFV/AI、云原生等 ICT 领域,主打运维岗位与信令分析。 当前规模:5200 篇主题 / 990 个回答,198 元/年。 加入福利:加入星球后请加爱卫生微信,拉您进知识星球年度陪伴与答疑群——不限量回复您的各种问题,另有群内分享。 AI 加持:51学通信知识星球已作为 skill 接入 WorkBuddy,使用 deepseek-4-flash 在海量星球帖子中精准找贴、找视频、找 FAQ 和案例,做总结、找文档和 PPT 等场景全覆盖。

51学通信知识星球海报-扫码加入