threat-model SKILL.md skillA
threat-model from perrylink/dsh-skill-pack-security is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add perrylink/dsh-skill-pack-security/threat-model@v2.2.25Pins v2.2.25 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- perrylink/dsh-skill-pack-security
- Path
skills/threat-model/SKILL.md- Versions recorded
- 13
- Latest version
- v2.2.25, committed Oct 31, 2026
- First version recorded
- Sep 7, 2026
- Size
- 5,439 bytes
- Repository stars
- 22
- License
- Apache-2.0
新功能/新系统的轻量威胁建模:固定对象→划定范围与信任边界→资产清单→STRIDE 逐资产威胁表→攻击树(可选)→缓解与优先级,产出可进设计评审的威胁模型文档。为新功能/新改动做设计阶段安全评审、梳理信任边界或画攻击树时用;与安全边界无关的纯 bug 修复、已有成熟建模流程的团队不展开本流程。.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# 威胁建模(threat-model) 本技能做**设计阶段**的轻量威胁建模:对一次改动/一个新组件,产出信任边界、STRIDE 威胁表与缓解清单。它只覆盖建模方法论;已有审计发现要定级转 `security-audit`,具体漏洞查情报转 `vuln-intel`。产物不含密钥,可进设计文档。 ## 1. 固定建模对象(不固定对象,模型不可复现) ```sh git rev-parse --show-toplevel git log -1 --format='%H %cd' --date=iso-strict ``` 预期输出样例(以实际输出为准): ``` D:\repo\example a1b2c3d4e5f6a7b8c9d0e1f2a3b4c5d6e7f8a9b0 2026-08-14T10:30:00+08:00 ``` 判据:退出码 0 且第一行为绝对路径;威胁模型文档头部必须记录该提交哈希——评审者据此知道模型针对哪个版本。 ## 2. 划定范围:改了什么、边界在哪 ```sh git diff --stat <base>...HEAD git diff --name-only <base>...HEAD ``` 预期输出样例:`src/auth/session.ts | 40 ++++`,随后是改动文件路径列表。 判据:范围 = 本次 diff 触及的文件与组件;**不做全仓库建模**(全仓库建模产出太大、评审没人看)。新建模块没有 diff 时用 `git ls-files -- '<模块目录>'` 代替。 信任边界四类,每个资产必须标出所在边界:进程内(同进程代码之间)、进程间(IPC/HTTP/RPC)、系统边界(本机/内核/文件系统)、外部(第三方服务/用户/上游数据)。 ## 3. 资产清单(STRIDE 表的行) ```sh git ls-files -- 'package.json' 'pnpm-lock.yaml' '.env*' '.github/workflows/**' 'Dockerfile*' '*.tf' 'cordis.yml' '**/cordis.yml' '*.pem' '**/*.key' ``` 预期输出样例:每行一个相对路径;无匹配 = 该类资产不存在。 判据:资产至少覆盖四类——数据(密钥、用户数据、配置)、代码(本次改动模块)、通道(API、消息、日志)、宿主(CI、容器、外部依赖)。缺哪类补哪类,不能只列本次 diff 的文件。 ## 4. STRIDE 逐资产威胁表 对第 3 节每个资产过六问(完整定义与提问提示见 `references/stride-and-attack-tree.md`): …
Read the whole file at its exact version.
How to install
mdr add perrylink/dsh-skill-pack-security/threat-model@sha256:95cfcc41b8d5e067The line at the top of this page pins the label v2.2.25, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_su2miecj6brrkdvf)
4 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 13 versions of this file, between Sep 7, 2026 and Oct 31, 2026, about one every 5 days.
| version | committed | commit | size | audit | |
|---|---|---|---|---|---|
| v2.2.25 latest | 2026-10-31 | af6b35f | 5,439 B | A | view · diff |
| v2.2.24 | 2026-10-10 | 0c1deb8 | 5,439 B | A | view · diff |
| v2.2.23 | 2026-10-10 | a5f8d45 | 5,439 B | A | view · diff |
| v2.2.22 | 2026-10-05 | 008bf2e | 5,439 B | A | view · diff |
| v2.2.20 | 2026-10-05 | 6b2adfe | 5,439 B | A | view · diff |
| v2.2.19 | 2026-10-04 | 380880e | 5,439 B | A | view · diff |
| v2.2.18 | 2026-10-04 | 8761f0d | 5,439 B | A | view · diff |
| v2.2.17 | 2026-09-24 | f926448 | 5,439 B | A | view · diff |
| v2.2.16 | 2026-09-12 | 8e74c4d | 5,439 B | A | view · diff |
| v2.2.14 | 2026-09-10 | d6120c8 | 5,439 B | A | view · diff |
| v2.2.13 | 2026-09-09 | 6ffdda7 | 5,439 B | A | view · diff |
| v2.2.12 | 2026-09-09 | dd3da11 | 5,439 B | A | view · diff |
| v2.2.10 | 2026-09-07 | 4430c52 | 5,439 B | A | view |
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (5439 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
perrylink/dsh-skill-pack-security · 22 stars · license Apache-2.0 · pushed 2026-11-01 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_su2miecj6brrkdvf GET https://markdownregistry.com/api/v1/resolve?ref=perrylink/dsh-skill-pack-security/threat-model GET https://markdownregistry.com/api/v1/blob/95cfcc41b8d5e067b335c32b17811d9a2f99a45ffb1dbc5dcf733df28ba9e022
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.
More from perrylink/dsh-skill-pack-security
Every file in perrylink/dsh-skill-pack-security