git:20260907.af8ce9d to git:20260915.bc5a8d6

76 added, 35 removed. Audit A to A.

---
name: security-testing
- description: Use this skill when you need to design security testing around OWASP risks, vulnerability scanning, and penetration scenarios; triggers include 安全测试 and security testing.
+ description: Use this skill when you need to generate a concrete security scan plan with OWASP-aligned checks, vulnerability checklist, and remediation steps; triggers include 安全测试, 安全扫描, 渗透测试, security testing, and security scan.
---
- # 安全测试(中文版)
-
- **英文版:** 见对应英文技能。
+ # 安全测试
## 何时使用
- - 需要在真实项目里处理 security testing 相关任务。
- - 需要一份可以直接用于执行、评审或跟进的结果。
+ - 用户提供系统架构或接口信息,需要生成**可执行的安全扫描方案**。
+ - 需要围绕 OWASP Top 10、认证授权、数据保护做安全验证。
+ ## 输入要求
+
+ | 必填 | 字段 | 说明 |
+ |------|------|------|
+ | ✅ | 系统范围 | 应用类型(Web/API/移动端)、核心模块 |
+ | ✅ | 认证方式 | 登录机制、Token 类型、权限模型 |
+ | ⬜ | 接口清单 | API 路径、参数、错误码 |
+ | ⬜ | 敏感数据 | PII、密钥、支付信息的位置和流向 |
+ | ⬜ | 已知问题 | 历史漏洞、近期变更、安全事件 |
+
## 执行流程
- 1. 阅读并遵循「按需加载」中的主提示词(覆盖清单、输出结构、质量要求)。
- 2. 只补充真正影响结果的项目上下文:范围、环境、限制、风险、依赖、期望产出。
- 3. 信息不全时先给可用初版,并显式标出假设与信息缺口。
- 4. 默认 Markdown;用户指定其他格式时再切换。
+ ### 1. 输入审计
- ## 核心约束
+ - 检查系统范围是否明确(哪些模块需要测试)
+ - 检查认证方式是否描述完整
+ - 缺失信息标记为「假设」
- - 按风险/业务影响排优先级,不要平均摊铺。
- - 把「已确认事实」和「当前假设」分开写。
- - 不要编造用户未提供的接口、字段、环境或根因细节。
- - 结果必须可执行:场景具体、有优先级、能指导下一步。
+ ### 2. 攻击面识别
- ## 按需加载
+ 基于输入识别安全风险:
- - 产出前必须阅读并遵循 `prompts/security-testing.md`(最低覆盖清单、输出结构、质量要求)。
- - 需要 Excel/CSV/JSON/Word 等格式时:读 `output-formats.md`,并按用户格式要求输出。
- - 需要套用现成模板时:读 `output-templates/` 中匹配的模板,不要自创冲突结构。
- - 用户要示例或对标现有资产时:读 `examples/` 中相关样例。
- - 需要框架规范、排障、报告 schema 等深资料时:只读 `references/` 里与当前问题相关的文件,不要整目录通读。
- - 需要格式转换或辅助校验时:优先使用 `scripts/` 中已有脚本,而不是重写一遍。
- - 需要评测/回归本 skill 时:使用 `evals/`,并用 skill-up 校验与运行。
- - 用户只要最短上手路径时:读 `quick-start.md`。
+ | 风险类别 | 检查内容 | 优先级 |
+ |----------|---------|--------|
+ | 认证 | 暴力破解、凭证填充、会话固定 | P0 |
+ | 授权 | 水平越权、垂直越权、IDOR | P0 |
+ | 输入处理 | XSS、SQL 注入、命令注入、SSRF | P0 |
+ | 敏感数据 | PII 泄露、密钥暴露、日志敏感信息 | P0 |
+ | 会话 | Token 过期、CSRF、Cookie 安全属性 | P1 |
+ | 配置 | 默认凭证、调试模式、CORS、安全头 | P1 |
+ | 依赖 | 已知 CVE、过时组件、供应链风险 | P1 |
- ## 交付前自检
+ ### 3. 检查项生成
- - [ ] 已遵循主提示词的输出结构
- - [ ] 最低覆盖关注:范围和关键资产、高风险攻击面、鉴权和授权检查、输入输出处理风险、敏感数据保护、会话或令牌处理、配置和依赖风险、优先级和业务影响…(细节以主提示词为准)
- - [ ] 已覆盖最低清单,或标明为何省略
- - [ ] 高风险项有明确优先级
- - [ ] 未编造用户未提供的细节
- - [ ] 假设与信息缺口已标明
+ 为每个风险类别生成具体检查项,格式:
+ ```markdown
+ ## [P0] SEC-<类别>-<序号>: <检查项标题>
+ [风险类别] 认证
+ [检查方法] <具体的测试步骤>
+ [预期安全行为] <系统应有的安全响应>
+ [风险描述] <如果不通过的安全影响>
+ [修复建议] <通过后的修复方向>
+ [验证方式] 手动 / 自动化脚本
+ ```
+
+ ### 4. 检查项校验
+
+ 生成后必须执行以下校验:
+
+ - [ ] 覆盖 OWASP Top 10 中至少 5 个类别
+ - [ ] 每个 P0 风险类别至少有 2 条检查项
+ - [ ] 检查方法具体可执行(非泛泛描述)
+ - [ ] 有「预期安全行为」和「风险描述」
+ - [ ] 至少覆盖 1 条认证 + 1 条授权 + 1 条输入处理
+ - [ ] 不含攻击利用细节(防守导向)
+
+ ### 5. 输出交付物
+
+ | 文件 | 内容 |
+ |------|------|
+ | `security-scan-plan.md` | 完整扫描方案(含攻击面、检查项、优先级) |
+ | `vulnerability-checklist.md` | 逐项检查清单(可直接用于执行) |
+ | `remediation-guide.md` | 修复指南(按优先级排序的修复建议) |
+
+ ## 核心约束
+
+ - 保持**防守和评审导向**,不写成进攻式操作教程。
+ - 不提供可用于真实攻击的完整利用链。
+ - 区分「已确认弱点」「高风险疑点」「需要专项验证的项」。
+ - 没有足够范围时,不要夸大覆盖程度。
+
+ ## 参考文件
+
+ - `prompts/security-testing.md`:详细执行规范。
+ - `references/troubleshooting.md`:常见安全问题排查。
+
## 常见误区
- - 范围和上下文都不清楚时,不要假装已经完整可用。
- - 不要把所有项写成同等重要。
- - 不要跳过假设与信息缺口。
- - 不要输出大段与当前工具链无关的空泛理论。
+ - 罗列所有可能问题 → 应按业务影响排优先级。
+ - 只看技术漏洞 → 配置错误和逻辑漏洞同样危险。
+ - 给出攻击教程 → 应给出防御建议。
+ - 忽略已知 CVE → 依赖组件扫描是必须的。