免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

agents24 仓库 threat-modeling-expert 安全威胁建模专家 Agent 实战指南:STRIDE、攻击树与风险优先级的完整方法论

agents24 仓库 threat-modeling-expert 安全威胁建模专家 Agent 实战指南:STRIDE、攻击树与风险优先级的完整方法论 agents24 仓库 threat-modeling-expert 安全威胁建模专家 Agent 实战指南STRIDE、攻击树与风险优先级的完整方法论【免费下载链接】agentsMulti-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity项目地址: https://gitcode.com/GitHub_Trending/agents24/agents本篇技术指南以 agents24 仓库plugins/security-scanning插件中的 threat-modeling-expert.md 为骨架系统讲解一个面向安全架构评审与威胁识别的多智能体 Agent它如何贯穿 STRIDE、攻击树、安全需求提取与缓解策略映射的完整工作流并给出可直接落地复用的威胁建模模板、评分方法与源码级实现佐证。读完本文你将掌握在代码库与架构评审场景中构建 secure-by-design 系统的八步威胁建模流程并能将威胁直接转化为可测试的安全需求与缓解方案。一、Agent 定位一个专精威胁建模的安全专家threat-modeling-expert是 agents24 仓库中security-scanning插件目录下的两个 Agent 之一与 security-auditor.md 组成审计—建模互补体系。其 frontmatter 定义如下--- name: threat-modeling-expert description: Expert in threat modeling methodologies, security architecture review, and risk assessment. Masters STRIDE, PASTA, attack trees, and security requirement extraction. Use PROACTIVELY for security architecture reviews, threat identification, or building secure-by-design systems. model: opus ---从元数据可以看出两个关键事实其一它的使用场景被显式标记为PROACTIVE主动即只要任务涉及安全架构评审、威胁识别或 secure-by-design 系统构建编排层就应主动调度该 Agent其二它被指定运行在opus模型上适合承载推理密度较高的安全分析任务。描述中列举了它的方法论武器库STRIDE、PASTA、攻击树attack trees、安全需求提取——这四个方法论在插件的 skills 目录中均有对应实现。二、Capabilities七大核心能力域该 Agent 对外承诺的七项能力源自 threat-modeling-expert.md如下STRIDE 威胁分析按 Spoofing / Tampering / Repudiation / Information Disclosure / DoS / Elevation of Privilege 六类系统化枚举威胁攻击树构建以树形结构可视化攻击路径识别防御缺口数据流图DFD分析沿数据流而非孤立组件发现信任边界跨越安全需求提取把威胁翻译成可测试、可追溯的安全需求风险优先级排序与评分基于影响与可能性的乘积给出量化排序缓解策略设计为每个威胁设计对应安全控制安全控制映射将控制对应到网络、应用、数据、端点、流程等层级。这些能力并非空洞的标签——每一项都在插件 skills 目录中有完整的方法论文档与可运行模板支撑详见第四至七节。三、适用场景When to Use根据原文档以下场景应主动调用该 Agent设计新系统或新功能时在设计期介入成本最低评审架构安全缺口时对照已知威胁模式审计现有设计准备安全审计时为审计提供威胁模型与风险矩阵证据识别攻击向量时枚举系统可能被攻破的路径为安全投入排定优先级时用风险评分指导预算分配创建安全文档时产出可复用的威胁模型文档培训团队的安全思维时以结构化方法论统一团队认知。值得注意的是在实际插件编排中该 Agent 被用于存量系统的威胁建模。在 security-hardening.md 的 Phase 1 Step 2 中安全加固编排器在完成漏洞扫描Step 1后会以subagent_type: threat-modeling-expert调度它并传入完整漏洞扫描结果作为上下文要求其完成 STRIDE 威胁建模、攻击树构建、MITRE ATTCK 映射与风险优先级排序输出写入.security-hardening/02-threat-model.md。这说明该 Agent 的输入不应是空白系统——先有漏洞扫描或架构事实再有威胁建模是其正确的使用姿势。四、八步工作流从范围界定到残余风险记录原文档给出了威胁建模的完整八步流程这是整篇方法论的主干定义系统范围与信任边界Define system scope and trust boundaries创建数据流图Create data flow diagrams识别资产与入口点Identify assets and entry points对每个组件应用 STRIDEApply STRIDE to each component为关键路径构建攻击树Build attack trees for critical paths对威胁评分并排序Score and prioritize threats设计缓解措施Design mitigations记录残余风险Document residual risks下面结合插件 skills 中的具体模板把每一步的落地细节讲透。4.1 步骤 1–3范围、信任边界、DFD 与资产清单信任边界是威胁建模的第一个关键概念。在 stride-analysis-patterns/references/details.md 的威胁模型文档模板中典型边界划分包括External Boundary外部边界Internet 到 DMZInternal Boundary内部边界DMZ 到内网Data Boundary数据边界应用层到数据库。资产清单则用资产—敏感度—描述结构化管理示例包括用户凭证High、个人数据High、会话数据Medium、应用日志Medium、配置与密钥High。同文件中的DFDAnalyzer提供了数据流图分析的自动化实现每个 DFD 元素带trust_level0 不可信数值越大越可信find_trust_boundary_crossings()自动找出跨越信任边界的数据流并按信任差排序analyze_unencrypted_flows()专门标记未加密且跨信任边界的高危数据流identify_threats_per_element()则按元素类型外部实体 / 进程 / 数据存储 / 数据流映射适用的 STRIDE 类别。这套代码直接印证了原文档Focus on data flows, not just components的最佳实践——威胁建模的抓手是数据如何流动而不是组件堆了多高。4.2 步骤 4对每个组件应用 STRIDESTRIDE 是六类威胁的缩写其完整定义与对应的控制族在 stride-analysis-patterns/SKILL.md 中给出S - Spoofing → 认证类威胁Authentication T - Tampering → 完整性类威胁Integrity R - Repudiation → 不可否认性类威胁Logging/Audit I - Info Disclosure→ 机密性类威胁Encryption D - DoS → 可用性类威胁Rate limiting E - Elevation → 授权类威胁Authorization威胁分析矩阵逐类自问的关键问题与控制族对应是原文档与 SKILL.md 共同强调的核心表格应完整保留类别核心问题对应控制族Spoofing攻击者能否冒充他人AuthenticationTampering攻击者能否篡改传输中/存储中的数据IntegrityRepudiation攻击者能否否认其行为Logging/AuditInfo Disclosure攻击者能否访问未授权数据EncryptionDoS攻击者能否破坏可用性Rate limitingElevation攻击者能否获得更高权限Authorization在 references/details.md 中每类威胁都有成熟的落地模板。以 Spoofing 为例其威胁表包括会话劫持S1影响 High / 可能性 Medium、令牌伪造S2、撞库攻击S3对应缓解项为实施 MFA、安全会话管理、账户锁定策略Tampering 类则覆盖 SQL 注入T1影响 Critical、参数篡改T2、文件上传滥用T3。完整的六类威胁表、每类对应的缓解清单均可直接复制到实际项目的威胁模型文档中。同文件的StrideAnalyzer类提供了系统化的自动辅助内置STRIDE_QUESTIONS字典为每一类威胁预置了 4 个引导性问题如 Tampering 类包含数据在传输中能否被修改输入校验控制是否充分generate_questionnaire()可为任意组件生成结构化问卷suggest_mitigations()则为每类威胁返回 5 条推荐缓解措施。Threat数据类还内置了risk_score impact × likelihood与risk_level分级逻辑——这正是工作流第 6 步评分机制的最小实现。4.3 步骤 5为关键路径构建攻击树攻击树把攻击者想达成什么目标根节点分解为多层子目标与叶子攻击步骤。其结构与节点类型定义在 attack-tree-construction/SKILL.md节点类型符号含义OR 节点椭圆任一子节点达成即实现目标AND 节点矩形所有子节点都必须完成Leaf 叶子方框原子的攻击步骤每个攻击叶子节点都应标注四类属性Cost成本$ / $$ / $$$、Time时间小时 / 天 / 周、Skill技能低 / 中 / 高、Detection被发现的概率低 / 中 / 高。attack-tree-construction/references/details.md 给出了可运行的攻击树数据模型。核心聚合逻辑体现了攻击树的语义calculate_path_difficulty()OR 节点取子节点最小值攻击者会挑最容易的路AND 节点取最大值calculate_path_cost()OR 节点取最小值AND 节点求和find_easiest_path()/find_cheapest_path()/find_stealthiest_path()分别找出难度最低、成本最低、最不易被发现的三条关键路径get_unmitigated_attacks()直接列出所有尚未配置缓解措施的叶子攻击——这是防御缺口的快速清单AttackPathAnalyzer.coverage_analysis()给定已缓解攻击集合计算被阻断路径占总路径的百分比量化安全投入的实际覆盖效果prioritize_mitigations()按阻断路径数 × 覆盖率影响对缓解措施排序指导防御投资优先级。文件还提供了AttackTreeBuilder流式构建器goal → or_node → and_node → attack → end → build并附一个完整的账户接管Account Takeover示例将窃取凭证 / 绕过认证 / 社会工程作为三个 OR 子目标展开其中社会工程分支下的账户恢复攻击是典型的 AND 节点需要同时完成收集个人信息与致电客服两个叶子且三个叶子攻击被分别赋予难度、成本、检测风险属性与缓解措施。此外还提供MermaidExporter与PlantUMLExporter可将攻击树一键导出为可视化图表用于利益相关方沟通。4.4 步骤 6风险评分与排序风险排序采用影响 × 可能性的风险矩阵。在 STRIDE 模板中评分映射为 4×4 矩阵Low/Med/High/Crit 各 1–4 分乘积 1–16 分并在风险表中有完整示例排名威胁风险分优先级1SQL 注入T112Critical2IDORE19High3撞库S39High4数据泄露I18High代码层面的分级规则见Threat.risk_level≥12 为 Critical≥6 为 High≥3 为 Medium其余为 Low。排序之后模板进一步按时间窗给出处置节奏立即行动输入校验框架、认证端点限流、审计日志、30 天短期部署带 OWASP 规则集的 WAF、敏感操作启用 MFA、PII 静态加密、90 天长期安全意识培训、渗透测试、漏洞赏金计划——这为第 7 步缓解设计提供了可直接套用的行动编排模板。4.5 步骤 7设计缓解措施与步骤 8记录残余风险缓解设计遵循 threat-mitigation-mapping/SKILL.md 的三类控制体系Preventive预防性──► 阻止攻击发生防火墙、输入校验 Detective检测性────► 发现进行中的攻击IDS、日志监控 Corrective纠正性───► 响应并从攻击中恢复应急响应、备份恢复控制按层级分布Network防火墙、WAF、DDoS 防护、Application输入校验、认证、Data加密、访问控制、EndpointEDR、补丁管理、Process安全培训、应急响应。多个层级叠加形成纵深防御Defense in Depth其分层示意图在 SKILL.md 中以洋葱模型形式给出。threat-mitigation-mapping/references/details.md 的模板将缓解工程化SecurityControl数据类为每个控制记录control_type、layer、effectiveness、实施成本/维护成本、implementation_status与mitigates_threats并通过coverage_score()计算有效性 × 实施状态的覆盖得分MitigationMapping.calculate_coverage()给出每个威胁的缓解覆盖率百分比MitigationPlan.get_gaps()自动识别三类缺口——覆盖不足50%、缺少纵深防御层级不足 2 层、控制类型单一缺少检测/纠正性控制。ControlLibrary内置了 12 个标准控制AUTH-001 MFA、AUTH-002 账户锁定、VAL-001 输入校验框架、VAL-002 WAF、ENC-001 静态加密、ENC-002 TLS、LOG-001 安全事件日志、LOG-002 日志完整性保护、ACC-001 RBAC、AVL-001 限流、AVL-002 DDoS 防护等每个控制都标注了适用威胁类别、技术栈与合规引用如 PCI-DSS 8.3、NIST 800-63B、GDPR Art. 32可直接作为企业控制库的起点。MitigationAnalyzer还提供总体风险削减率计算、关键缺口识别、预算内控制选择贪心算法按有效性/成本比排序与分阶段实施路线图Phase 1 处理 Critical 影响威胁Phase 2 处理 High 影响威胁。残余风险则体现在MitigationMapping.residual_risk字段中——记录缓解后的剩余风险水平正是工作流第 8 步的落点。五、把威胁变成需求安全需求提取威胁建模的价值最终要落到可执行的需求上。原文档 Capabilities 中的安全需求提取对应 security-requirement-extraction/SKILL.md其核心链路为业务需求 → 安全需求 → 技术控制 保护客户数据 → PII 静态加密 → AES-256 KMS 密钥轮换安全需求分三类功能性系统必须做什么如系统必须认证用户、非功能性系统必须如何表现如认证须在 2 秒内完成、约束施加的限制如必须使用经批准的密码库。每条需求还应具备四个属性可追溯性关联到威胁/合规项、可测试性、优先级、风险等级。references/details.md 提供了威胁→需求的自动化转化器RequirementExtractor内置STRIDE_MAPPINGS把六类 STRIDE 威胁映射到安全域与需求句式模板如 Spoofing → 认证域为 {target} 实施强认证Repudiation → 审计日志域为 {target} 记录所有安全事件。_calculate_priority()沿用影响×可能性评分≥12 Critical≥6 High≥3 Medium_generate_acceptance_criteria()与_generate_test_cases()为每条需求自动生成验收标准与安全测试用例如 Spoofing 的测试用例包含会话令牌不可伪造。SecurityRequirement.to_user_story()把需求转成带验收标准的标准用户故事格式RequirementSet.traceability_matrix()生成威胁→需求的追溯矩阵ComplianceMapper则将需求映射到 PCI-DSS、HIPAA、GDPR、SOC2、NIST CSF、ISO 27001、OWASP 等框架的控制编号并提供gap_analysis()识别合规缺口missing_controls / weak_coverage。每条需求都必须可追溯到一个威胁是这套模板反复强调的铁律。六、方法论最佳实践Dos 与 Donts综合原文档与四个 SKILL.md威胁建模专家的实践准则可归纳如下应该做Dos让开发者参与威胁建模会议原文档核心建议聚焦数据流而非孤立组件考虑内部威胁insider threats架构变化时同步更新威胁模型把威胁链接到安全需求把缓解措施跟踪到具体实现定期评审而非只在设计期做一次原文档STRIDE 分析应覆盖全部六个类别、系统化推进、结合 DFD 视觉辅助stride SKILL攻击树应从清晰目标出发、穷举攻击向量、为攻击标注成本/技能/检测属性、用红队专家验证attack-tree SKILL需求提取应做到具体可测、包含验收标准、早期映射合规框架requirement-extraction SKILL缓解映射应覆盖全部威胁、分层叠加控制、混合控制类型、跟踪有效性mitigation-mapping SKILL。不要做Donts不要跳过任何 STRIDE 类别每类都会暴露不同威胁不要假设某组件天然安全不要孤立作业不要忽视低概率高影响威胁不要止步于识别而不跟进缓解stride SKILL攻击树不要过度简化、不要忽略 AND 节点依赖、不要忘记内部威胁、不要跳过缓解、不要让它静态化attack-tree SKILLBe secure 不是需求不要忽略需求的理由不要无视优先级不要忘记可测试性不要孤立开发需求requirement-extraction SKILL不要依赖单一控制单点故障不要忽视成本ROI 重要不要跳过测试不要设置完就不管不要只依赖技术而忽略人与流程mitigation-mapping SKILL。七、仓库定位Agent、Skill、Command 三层联动threat-modeling-expert并非孤立文件它处于三层结构中security-scanning 插件目录Agent 层threat-modeling-expert.md本文主体与 security-auditor.md负责漏洞扫描与修复Skill 层本文第四至六节引用的四个方法论技能包——stride-analysis-patterns、attack-tree-construction、security-requirement-extraction、threat-mitigation-mapping每个技能包由 SKILL.md方法论速查与 references/details.md模板与可运行代码组成Command 层security-hardening.md安全加固编排器四阶段 13 步与 security-sast.md多语言 SAST 扫描。在security-hardening的编排中该 Agent 处于评估阶段的承上启下位置上游读取漏洞扫描结果01-vulnerability-scan.md下游为架构评审Step 3提供威胁模型输入其输出必须落盘到.security-hardening/02-threat-model.md供后续步骤读取——这体现了该插件每步产物落盘、禁止依赖上下文记忆的强约束设计。若需要先完成静态代码层面的脆弱点识别可配合 security-sast.md 使用其中还内置了 SQL 注入、XSS、硬编码密钥、路径穿越、不安全反序列化、命令注入、不安全随机数等七类漏洞的脆弱/安全代码对照与 Bandit、Semgrep、ESLint Security 等工具的配置示例可作为威胁建模前的事实输入源。八、总结threat-modeling-expert是 agents24 仓库中方法论密度极高的一个安全 Agent它以 STRIDE 保证威胁枚举的系统性以攻击树揭示攻击路径与防御缺口以风险矩阵实现量化排序以需求提取把分析结果沉淀为可测试、可追溯的安全需求以缓解映射把控制落到纵深防御的各层最终以残余风险记录完成闭环。配合插件的四个技能包SKILL.md references/details.md 双文件结构与security-hardening命令编排这套方法论既能驱动 Agent 完成自动化安全评审也能作为团队威胁建模的标准化参考模板直接复制使用——无论你是在设计新系统、审计存量架构还是准备安全合规评审这八步流程与配套模板都足以支撑一场结构化的安全分析。【免费下载链接】agentsMulti-harness agentic plugin marketplace for Claude Code, Codex, Cursor, OpenCode, GitHub Copilot, and Google Antigravity项目地址: https://gitcode.com/GitHub_Trending/agents24/agents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表