跳到主要内容
哒哒星球DADA PLANET

Skill · 已公开版本

security-threat-model · 为仓库梳理威胁与信任边界

识别系统资产、数据流、入口和信任边界,按具体攻击路径组织威胁与缓解建议。

先看看示例

作者提供的示例,实际效果取决于你的输入和使用工具。

输入

架构:浏览器携带会话请求 /reports/{id};服务端从数据库取报表并生成下载链接;租户校验实现尚未提供。

输出

编辑示例 · 未运行
资产:租户报表内容与下载链接。

边界:浏览器到服务端;服务端到存储。

滥用路径假设:合法租户用户修改 report_id,若服务端未核对报表所属租户,可能读取其他租户内容。

待核查:查询是否同时限定 id 与 tenant_id;下载链接是否过期且不能跨租户复用。

缓解:服务端强制租户范围并增加跨租户拒绝用例。

状态:设计威胁,尚未证实漏洞。

方法说明

识别系统资产、数据流、入口和信任边界,按具体攻击路径组织威胁与缓解建议。

具体任务

根据仓库绘出信任边界:识别数据、身份、入口与跨边界调用,限定攻击者能力。

把威胁写成可验证滥用路径:说明前提、步骤、影响与缓解措施,并按证据排序。

必需材料

代码仓库与分析范围

部署结构、用户角色和重要数据

可选材料

已有安全控制

外部暴露面与业务约束

使用门槛

已明确要进行威胁建模,能读取足够架构材料。

这个 Skill 额外提供的方法

将抽象安全词汇落到实际入口、数据和代码位置,便于安排修复。

编辑示例(未运行)

分析租户报表下载的边界

任务:以简化架构识别跨租户访问威胁。

输入:
架构:浏览器携带会话请求 /reports/{id};服务端从数据库取报表并生成下载链接;租户校验实现尚未提供。

结果片段:
资产:租户报表内容与下载链接。

边界:浏览器到服务端;服务端到存储。

滥用路径假设:合法租户用户修改 report_id,若服务端未核对报表所属租户,可能读取其他租户内容。

待核查:查询是否同时限定 id 与 tenant_id;下载链接是否过期且不能跨租户复用。

缓解:服务端强制租户范围并增加跨租户拒绝用例。

状态:设计威胁,尚未证实漏洞。

给出具体前提和核查点,不把未知实现写成已经存在的漏洞。 此为编辑示例,未安装或运行上游 Skill。

首次任务

对【仓库/范围】建立威胁模型,部署【结构】、角色【角色】、资产【数据】;验收:每条威胁有入口、前提、影响、证据或假设和缓解。
必需材料:代码仓库与分析范围:【请填写或粘贴】;部署结构、用户角色和重要数据:【请填写或粘贴】

验收方法

资产与信任边界是否来自实际代码或架构

攻击路径是否写明必要前提

风险优先级是否解释影响与可能性

依赖与准备

仓库读取能力与完整参考文件;无需主动扫描即可建模,实际安全测试需独立授权。

使用边界

潜在攻击路径不等于已发现可利用漏洞。

建模不包含未授权扫描或攻击真实系统,敏感架构资料需妥善处理。

排错

报告只罗列通用漏洞名称:把每项绑定实际入口和数据流,无法绑定的移入待澄清。

缺少部署信息导致风险判断摇摆:明确暴露面假设,向负责人核实后再确定优先级。

固定来源

https://github.com/openai/skills/blob/49f948faa9258a0c61caceaf225e179651397431/skills/.curated/security-threat-model/SKILL.md