# Sec Spec Appsec

> 网络安全·应用安全(SDL)方向规格生成器。安全开发生命周期、威胁建模(STRIDE)、代码审计方案、SAST/DAST/SCA 工具矩阵与门禁、密钥扫描、SBOM 与供应链安全、安全编码规范。触发词：SDL 流程/代码审计计划/威胁建模/供应链安全/安全门禁。属 it-project-spec-generator 体系。

- Skill: `wufufu770/sec-spec-appsec` (Agent Skill)
- Install (CLI): `npx skillmds@latest add wufufu770/sec-spec-appsec`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wufufu770/sec-spec-appsec/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- License: MIT
- Author: wufufu770 (https://skillmd.com/u/wufufu770)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wufufu770/sec-spec-appsec

---


# 应用安全（SDL）规格生成器

## 角色

资深 AppSec 工程师：把"让代码更安全"翻译成门禁级可执行、审计级可复现的交付物规格。

## 生成前置（每次必做）

按序读取本 skill 目录同级的 `_spec-core/` 下 `core-laws.md` → `protocol.md` → `structure.md` 并遵照执行；内核不可读时降级为无内核模式：直接按本 skill 领域骨架生成，全部精确值标 [待验证] 并在文末注明「核心铁律未加载」。

## 五种交付物

### A. SDL 流程设计

阶段表（需求→设计→编码→测试→发布→运维，每阶段：安全活动→产出物→责任角色→门禁条件）。与 CI 集成点显式标注到具体流水线阶段。

### B. 威胁建模规格（STRIDE）

| 步骤 | 产出 |
|------|------|
| 绘制数据流图 | 信任边界逐条编号 |
| 枚举威胁 | 每个跨边界数据流过 STRIDE 六类检查表 |
| 风险排序 | 影响×可能性矩阵 |
| 缓解措施 | 措施→对应威胁编号→验证方式 |

### C. 代码审计方案

```
范围与版本锁定 → 审计清单 → 数据流追踪规范 → 工具辅助配置 → 报告模板
```

移动 App 审计 MUST 映射 OWASP MASVS 域 [待验证：核对 MASTG 最新版次]；Web 审计映射 OWASP WSTG 章节。

污点追踪记录表（每个可疑流必含列）：

| 列 | 说明 |
|----|------|
| 流 ID | AUD-xx |
| Source | 入口（路由/参数/环境变量/反序列化点），文件:行号 |
| Sink | 危险函数调用点，文件:行号 |
| 路径可达性 | 过滤器/校验层逐个列出并判定可否绕过 |
| 判定 | 确认利用 / 理论风险 / 已缓解（附依据） |

高危模式清单按语言维护（注入/反序列化/SSRF/路径穿越/权限缺失/竞态…每项：特征签名→误报陷阱→验证方法）。

### D. 安全工具链与门禁

工具矩阵表：

| 层 | 工具类型 | 门禁阈值 | 失败动作 | 豁免流程 |
|----|---------|---------|---------|---------|
| SAST | 代码扫描 | HIGH 及以上阻塞合并 | 阻断 MR | 安全负责人书面豁免+期限 |

配套：密钥扫描（提交前 pre-commit + 服务端双重）、依赖锁定文件 MUST 提交、SCA 报告保留策略。

### E. 供应链与 SBOM 规格

```
组件清单 → 许可证合规表 → 已知漏洞比对 → 准入结论
```

SBOM 格式与生成时机（CycloneDX/SPDX 二选一并声明 [待验证：确认下游客户要求格式]）、第三方组件准入标准（维护活跃度/许可证合规表）、镜像构建来源约束（仅允许内部代理仓库拉取）。

## 领域增补铁律

8. 每条审计发现 MUST 有污点路径或反例证明；"可能有风险"不入报告正文，入观察清单。
9. 门禁阈值 MUST 写进流水线配置而非口头约定；豁免 MUST 带到期日，过期自动恢复阻塞。
10. 新引入依赖 MUST 过准入检查表；禁用已停维护组件 [判定标准：12 个月无发布且存在已知 HIGH CVE]。
11. 安全修复 MUST 附回归用例，防同类复发。

## 约束句型示范

- 审计结论 MUST 区分"可利用"与"符合预期行为"，禁止把框架默认行为报成漏洞。
- SAST 结果 MUST 人工分诊后计数，原始告警数不作为指标。
- 密钥 MUST NOT 出现在代码、CI 变量明文、错误日志三处任一。

## 验收惯例

审计验收：抽样 20% 发现由第二人独立复核一致率 ≥ 90%；SDL 验收：一次真实迭代全流程走查无跳过门禁；供应链验收：SBOM 可自动生成并与实际构建产物比对一致。

## 开工检查单默认项

技术栈与语言清单 / 工具矩阵一行摘要 / 最先实现的 3 个内容（密钥扫描接入 → SAST 门禁 → 一份 STRIDE 表）/ 最低验收 = 主干分支门禁生效且首次全量扫描完成分诊。

## 不适用（When NOT to use）

- 运行时渗透测试与 SRC 挖掘归 sec-spec-web-pentest。
- 云平台配置加固与 IAM 归 sec-spec-cloud。
- 一次性代码修复（无 SDL 流程诉求）不适用——直接改代码，不产规格。

