用途
forge-harden-security 是一个计划阶段的安全审查技能,以 CSO(首席安全官)角色,在代码尚不存在、无法被攻击之前,对构建计划进行威胁形态评估。它的审查对象是计划本身,而非已实现的代码,因此发现的任何问题都通过修改计划来解决。
该技能由 forge-harden 在每次硬化流程中自动调用,也可以独立调用,尤其在发布前或攻击面发生变化后使用。
主要能力
基础设施优先审查
- 计划中的密钥:检查计划说明密钥存放在何处(环境变量、vault、文件),每个引入密钥的阶段都需要说明存放位置与轮换方式,缺失即视为发现。
- 依赖供应链:检查计划引入的依赖是否无维护、近期被转移或仅由单人维护;计划应列出顶层依赖及信任姿态(是否固定版本、是否有锁文件、是否签名校验、是否使用镜像源)。
- CI/CD 暴露:若计划涉及流水线,需说明其接触哪些密钥、部署什么、回滚路径是什么;仅笼统写「搭建 CI」属于发现。
- LLM/AI 表面:若构建调用模型 API,需在阶段层面处理提示注入向量、输出信任(应用是否依据模型输出行动)、密钥处理、限流/滥用路径。
应用层 OWASP 结构审查
对每个引入新表面的阶段检查:
- 注入(SQL / 命令 / 路径 / 提示):计划应在引入该表面的阶段要求参数化查询、安全执行、路径规范化。
- 认证/授权:谁证明身份,谁证明权限;哪个阶段建立边界,哪个阶段测试它。
- 信任边界:每个不可信输入源(用户、网络、文件系统、环境、模型)及边界处的校验;未命名边界的计划会在后续泄漏。
- 敏感数据处理:什么被记录日志、什么被存储、什么离开本机;每个触及敏感数据的阶段都应声明。
STRIDE 通过(仅 DEEP 模式)
针对架构的信任区,遍历 Spoofing(仿冒)、Tampering(篡改)、Repudiation(抵赖)、Information disclosure(信息泄露)、Denial of service(拒绝服务)、Elevation of privilege(权限提升)。架构中未命名的区域视为发现。
发布关闭审计
要求存在最终的发布关闭阶段,缺失即为客观发现。审计其工作与门禁是否明确关闭了安全/授权、滥用控制、密钥扫描、备份/恢复、升级、可观测性、打包、运行手册,以及通过真实发布产物的冒烟测试。每项都需要有已证明的工作或 n/a 加理由。特别要求每个受保护边界都有授权矩阵,每个公开或高成本操作都有滥用/限流用例,以及仓库与打包产物的密钥扫描。笼统的「安全审查」条目或源码树冒烟测试不能关闭发布风险。
修复策略
每个发现都标注严重性(高/中/低)。
- 客观性缺陷(计划形态强制不安全行为,例如「将 API 密钥存放在 config.json」或「信任用户提供的路径」):就地修改 wiki/plan.md,在阶段工作条目中加入安全形态,在门禁中加入验证。
- 品味性选择(真实的权衡,例如 JWT 与会话、静态加密用哈希还是加密):作为品味决策返回,采用 Decision Brief 格式,并在每个选项描述中标注其安全含义。
使用方式
模式
- DAILY(默认):零噪声检查。每个发现带置信度评分 N/10(是否为真的确信度,严重性另计);只报告置信度 ≥ 8/10 且带有具体计划修改的发现;完全跳过推测性威胁;每次计划、每次迭代都运行。
- DEEP:全面月度式审计。报告置信度 ≥ 2/10 的任何问题,但将低于 8/10 的全部标记为 TENTATIVE,供用户低成本分诊;只过滤真正的噪声(测试夹具、占位符、文档示例);定期使用或发布前使用。
门禁定义在 forge suite 的 references/scoring.md 中。运行前需说明模式,默认 DAILY。
前置条件与流程
前置需要 wiki/plan.md 与 wiki/architecture.md。读取两者,以及 wiki/brief.md(数据敏感性与信任边界)和 wiki/learnings.md(此处强制的过往安全教训)。随后依次执行基础设施优先审查、应用层审查、DEEP 模式下执行 STRIDE 与发布关闭审计、修复策略、报告。
报告格式
forge-harden-security (mode: DAILY | DEEP)
Findings fixed: <N> (high: <h>, med: <m>, low: <l>; TENTATIVE: <t>)
Trend: <N> last harden → <N> now | first run
Trust boundaries named: <list>
Release closure: complete | fixed (<missing items>)
LLM surface review: applied | n/a
Taste decisions surfaced: <N>
趋势行与上一 ## Review 块的安全发现比较(依据 references/scoring.md),可见地呈现复合效果,使用户能观察到威胁面逐次运行是缩小还是扩大。编排器将其并入计划的 ## Review 部分;独立运行时自行撰写该部分并呈现品味批次。
适用场景
- 每次 forge-harden 硬化流程自动触发。
- 发布前或攻击面变化后的独立调用。
- 需要月度式全面安全审计(DEEP 模式)时。
限制
- 该技能只修改计划,不修复代码。
- 置信度门禁是硬性的:DAILY 会静默丢弃低于 8/10 的发现;DEEP 保留但标记 TENTATIVE;绝不将未通过门禁的猜测作为事实报告。
- DAILY 为默认模式,DEEP 需要显式选择。
- 每个发现必须标注严重性,没有高/中/低的「安全发现」视为噪声。
- 依赖前置文件 wiki/plan.md、wiki/architecture.md、wiki/brief.md、wiki/learnings.md 的可用性。
- 关于收费、价格、平台支持等信息暂未提供。
参考资料
- forge suite 的 references/question-style.md — Decision Brief 格式
- forge suite 的 references/scoring.md — 置信度门禁与趋势跟踪