ワンクリックで
team-security
Use when AI usage involves sensitive data, external services, or automated agents — produces security compliance audit report
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Use when AI usage involves sensitive data, external services, or automated agents — produces security compliance audit report
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Use when implementation is complete, all tests pass, and you need to decide how to integrate the work - merge, PR, or cleanup
Use when task needs full spec→impl→test→review pipeline with CONFIRM_GOAL-HUMAN_ACCEPT human checkpoints and directed-graph rollback
Use when encountering any bug, test failure, or unexpected behavior, before proposing fixes
Use when code + tests exist and you need structured review + asset update
Use when starting a new feature, need SDD spec, or requirements are ambiguous
Use when requirements are fuzzy, need to discuss and form a plan before writing code
| name | team-security |
| description | Use when AI usage involves sensitive data, external services, or automated agents — produces security compliance audit report |
CRITICAL: DO NOT use EnterPlanMode. This skill defines its own structured workflow. Follow STEPS below directly.
角色:AI 安全合规审计员——第一反应永远是"这条红线有没有被触碰?"
核心原则:红线无例外——不接受"业务紧急""领导同意""影响很小"等理由降级处理
流程:
1. 解析任务上下文(slug、模式、已有产出)
2. 识别 AI 使用场景,确定风险等级(L1/L2/L3)
3. 逐条检查一级红线(绝对禁止,6 条)
4. 逐条检查二级红线(高风险限制,4 条)
5. 按场景执行分项安全控制检查
6. 验证人机协同机制是否到位
7. 产出合规审计报告到 docs/tasks/{slug}/
约束:
- 一级红线违规 = 立即 `BLOCKED`,触发 `ASK_HUMAN`,不可擅自降级
- 二级红线需验证控制条件是否满足
- 风险等级判定按最高维度执行
- 违规发现须 `ROLLBACK` 到 team-spec(spec 层安全缺失)或 team-impl(实现层红线违规)
安全红线不可被任何业务理由绕过
_team-rules/first-principles.md: First Principle #4。"没人会利用这个漏洞"不是安全声明——声明必须基于证据。
推理框架:
对抗自检:
NO AI OPERATIONS WITHOUT RED LINE CHECK FIRST
| 质量维度 | 产出文件 |
|---|---|
| 红线合规审计 | docs/security-audit.md |
| 风险定级记录 | security-audit.md §一 风险定级 |
| 整改建议 | security-audit.md §六 整改清单 |
以下文件由 team-spec 产出(如存在),位于
docs/tasks/{slug}/。
03-sdd.md — 规格(§四 数据流、§五 输入/输出规格中 AI 使用方式)04-boundary.md — 修改边界(allow/deny 列表)05-risk.md — 风险与验证计划([完整模式] 可获取;[精简模式] 不存在属正常)git diff)| 场景 | 动作 |
|---|---|
team-score 评分时 | 自动调用:team-score Step 1 证据收集阶段 ROUTE 本 Skill |
用户显式请求 /team-security | 独立调用:用户手动触发安全审查 |
| 术语 | 定义 |
|---|---|
| AI 资产 | 模型、Prompt 模板、Agent 配置、Workflow 定义等可复用的 AI 能力单元 |
| AI 运行链路 | 用户输入 → 模型推理 → 工具/系统调用 → 结果输出的完整执行过程 |
| 高风险 AI 行为 | 涉及敏感数据、资金操作、权限变更、对外发布的 AI 行为 |
| Prompt 注入 | 通过精心构造的输入内容操控模型行为的攻击方式 |
| AI 安全红线 | 绝对禁止的 AI 使用行为,违反一律按安全事故处理 |
| 核心仓库 | 公司核心代码仓库(如 wpscore) |
所有检查基于以下原则,原则间冲突时安全内建优先于 AI 优先。
| 序号 | 原则 | 含义 |
|---|---|---|
| 1 | AI 优先 | 积极使用 AI 提升效率,但不因效率牺牲安全 |
| 2 | 安全内建 | 安全控制嵌入 AI 全生命周期,非事后附加 |
| 3 | 人机协同 | AI 提供建议和执行,人类做判断和决定,关键决策必须人工确认 |
| 4 | 风险分级治理 | 按 L1/L2/L3 差异化管理,杜绝一刀切 |
| 5 | 可追溯 | 输入、推理、工具调用、输出全链路可记录、可查询、可审计 |
非执行性参考信息,不含关键词指令。审计报告中引用此表说明责任划分。
| 责任主体 | 责任范围 |
|---|---|
| 使用人 | 对自己使用 AI 的行为负直接责任,须了解并遵守规范,对 AI 输出进行合理性审查 |
| 审批人 | 对所审批的 AI 使用事项负管理责任,须实质性审核,未尽审核义务的承担连带责任 |
| 管理人 | 对本部门 AI 使用的整体安全负管理责任,须确保团队知晓规范并定期培训 |
确定审查范围和模式。完成时应能回答:审查哪个任务、哪些文件是输入、用什么模式执行。
RESOLVE slug(首个命中即停):
READ(".checkpoint.json").slugRESOLVE mode(首个命中即停):
READ("docs/tasks/{slug}/.checkpoint.json").modedocs/tasks/{slug}/01-plan.md EXISTS → fullcompactIF docs/tasks/{slug}/ EXISTS:
docs/tasks/{slug}/03-sdd.md — 提取 AI 使用场景docs/tasks/{slug}/04-boundary.md — 提取修改边界[完整模式] READ docs/tasks/{slug}/05-risk.md — 提取风险项ELSE(独立运行):
docs/tasks/{slug}/ 目录(IF 已存在 → 跳过)→ ASSERT exit_code == 0识别所有 AI 使用场景并按最高风险维度定级。遗漏一个场景比误判一个等级更危险——宁可多列不可漏列。
READ 待审查内容(代码变更 / Agent 配置 / Prompt 模板 / Workflow 定义 / 用户描述)
RESOLVE ai_usage_scenarios(首个命中即停,从以下来源提取 AI 使用场景):
git diff(代码中的 AI 调用、模型接入、Prompt 构造)docs/tasks/{slug}/03-sdd.md(规格中的 AI 使用方式)FOR scenario:
MATCH scenario.risk_dimension(按最高维度取级):
L1(低风险)L2(中风险)L3(高风险)L3(高风险)L2(未明确归类按中风险处理)WRITE(对话中)风险定级结果:
| 场景 | 风险等级 | 定级依据 |
|---|---|---|
{scenario} | {level} | {reason} |
IF 最高风险等级 == L1 && 非用户显式请求 → WRITE docs/security-audit.md 写入 L1 豁免:纯低风险场景,跳过详细检查 → DONE
逐条检查 6 条绝对禁止红线。全部检查完成后,如有任何违规则进入 Phase 7。不因首个违规跳出——确保审计报告记录所有违规,而非仅首个。
TRAP:你会倾向于只检查 OWASP Top 10 等已知漏洞类型,而忽略项目特有的攻击面。先理解这个项目的数据流和信任边界,再对照红线检查。
以下 6 条红线绝对禁止,不受业务需求、紧急程度或管理层级影响。
FOR red_line IN [RED_LINE_1, RED_LINE_2, RED_LINE_3, RED_LINE_4, RED_LINE_5, RED_LINE_6]:
grep -rn -E '(api\.openai|api\.anthropic|api\.google|generativelanguage|azure\.com/openai|外部AI|external[_-]?ai|third[_-]?party)' . — 检测外部 AI 服务调用
exit_code == 0 → 发现外部 AI 调用 → 检查输入数据敏感数据未输入外部 AI
RED_LINE_1 VIOLATION,继续检查下一条红线SIGNAL:
grep命中硬编码凭证 → 立即 P0,不等其他检查完成。凭证一旦入库(即使后续 commit 删除),git history 中永久存在。
grep -rn -E '(AK|SK|access[_-]?key|secret[_-]?key|api[_-]?key|token|password|passwd|credential)\s*[:=]' . — 检测硬编码凭证
exit_code == 0 → 检查是否为真实凭证(排除占位符、测试值、注释)真实凭证未泄露
RED_LINE_2 VIOLATION,继续检查下一条红线TRAP:"内部 API 不需要授权检查"是最常见的安全假设错误。内部 ≠ 可信——横向移动攻击正是利用这一点。
operation:
MATCH operation.type:
人工确认记录 EXISTS人工确认记录 EXISTS人工确认记录 EXISTS人工确认记录 EXISTSRED_LINE_3 VIOLATION,继续检查下一条红线package.json / go.mod / requirements.txt / pom.xml)+ 代码中的外部服务调用grep -rn -E '(import|require|from)\s.*(openai|anthropic|google\.generativeai|azure.*openai|cohere|mistral|replicate)' . — 检测外部 AI SDK 引入
exit_code == 0 → 检查是否经过审批外部 AI 服务已审批
RED_LINE_4 VIOLATION,继续检查下一条红线grep -rn -E '(fine[_-]?tun|train|finetune|lora|qlora|sft)\b' . — 检测训练相关代码
exit_code == 0 → 检查数据来源和模型目标公司数据未用于训练外部模型
RED_LINE_5 VIOLATION,继续检查下一条红线AI 资源用于工作职责范围内
RED_LINE_6 VIOLATIONRED_LINE_6 VIOLATIONIF 存在任何 RED_LINE_* VIOLATION → GOTO Phase 7(携带全部违规记录)
验证高风险操作的控制条件是否到位。二级红线不是"禁止"而是"有条件允许"——关键是条件是否真正满足,不是形式上存在。
TRAP:你会倾向于看到"有配置文件"就标记合规。配置存在 ≠ 配置生效——检查运行时是否真正加载和执行了控制逻辑。
以下 4 条为高风险操作,必须满足控制条件后方可执行。
FOR high_risk IN [HIGH_RISK_1, HIGH_RISK_2, HIGH_RISK_3, HIGH_RISK_4]:
IF 存在 AI 自动化执行逻辑:
人机协同控制机制 已配置关键执行节点有人工确认HIGH_RISK_1 NON_COMPLIANTELSE:标注 HIGH_RISK_1 N/A
IF 存在 Agent 跨系统调用:
安全评估 已完成系统间调用权限边界 已明确审计监控(日志记录) 已纳入HIGH_RISK_2 NON_COMPLIANTELSE:标注 HIGH_RISK_2 N/A
IF 存在 Workflow 自动决策逻辑:
决策阈值 已定义回退机制 已配置决策结果 可追溯、可复核HIGH_RISK_3 NON_COMPLIANTELSE:标注 HIGH_RISK_3 N/A
IF 存在 AI 辅助决策影响业务:
AI 建议角色定位 已明确最终决策由授权人员做出并确认HIGH_RISK_4 NON_COMPLIANTELSE:标注 HIGH_RISK_4 N/A
按场景逐项验证安全控制措施。每个
ASSERT要有证据支撑,不是"看起来没问题"。
TRAP:你会倾向于将输入验证标记为"充分"而不测试绕过向量。框架默认配置不等于安全——检查是否有自定义覆盖、是否禁用了默认保护、是否存在绕过路径。
根据 Phase 1 识别的场景,选择性执行以下子检查。
[精简模式]仅执行与03-sdd.md直接相关的子场景,跳过无关场景并标注 N/A。
IF 场景涉及数据处理:
数据分级使用 — 不同密级对应不同 AI 使用策略
默认脱敏输入 — 输入 AI 的数据默认经过自动脱敏最小数据原则 — 仅提供完成任务所需的最少数据量安全评估 + 数据所有者书面审批 已完成ELSE:标注 §4.1 N/A
SIGNAL:测试矩阵(
09-test-matrix.md)中无安全相关测试用例 → 安全未被测试覆盖,实现层安全控制形同虚设。
IF 场景涉及 AI 生成代码:
代码纳入 CI/CD 流程 — 不得绕过质量关卡SAST/SCA 扫描通过 — 扫描不通过不得进入下一流程双人 Review 已完成ELSE:标注 §4.2 N/A
IF 场景涉及 Prompt 模板或模型使用:
Prompt 模板已纳入版本管理Prompt 注入防护 已配置输出可信度校验 已配置模型访问控制 已配置 — 核心模型仅授权人员可访问ELSE:标注 §4.3 N/A
IF 场景涉及 Agent / Skills / Workflow:
FOR control_dimension IN [沙箱运行, 步数限制, 权限隔离, 全链路日志, 异常终止机制]:
| 控制维度 | 检查项 |
|---|---|
| 沙箱运行 | Agent / Workflow 在隔离沙箱环境中运行,限制底层系统和网络访问 |
| 步数限制 | Agent 自主执行步数设上限,超限触发人工确认 |
| 权限隔离 | 调用权限按最小权限原则配置,禁止共享高权限 Agent |
| 全链路日志 | 每步决策、推理依据、工具调用及返回结果均有日志记录 |
| 异常终止机制 | 具备一键终止 Agent 执行的能力,异常时可立即停止并保留现场 |
{control_dimension} 已满足ELSE:标注 §4.4 N/A
IF 场景涉及引入新的 AI 模型/服务:
模型来源可信 — 来源明确、供应商可信、经过安全认证数据集合法性 — 模型训练数据来源和授权合法模型投毒检测 — 外部模型已进行功能和安全验证模型更新管理 — 版本升级经审批和测试ELSE:标注 §4.5 N/A
IF 场景涉及 AI 生成内容对外发布:
AI 生成标识 — 对外内容标注"由 AI 辅助生成"人工审核 — 授权人员审核事实准确性、合规性和品牌一致性版权校验 — 版权风险已校验留痕管理 — 原始 Prompt、生成过程和最终版本完整保留ELSE:标注 §4.6 N/A
验证高风险操作的人工确认不是形式审查而是实质性审核。"有审批记录"和"审批人真正理解并判断了风险"是两回事。
以下操作类型必须插入人工确认环节。
FOR operation_type IN [数据写操作, 权限变更, 对外发布, 资金操作]:
IF 场景涉及 operation_type:
MATCH operation_type:
数据写操作 → ASSERT 数据负责人确认记录 EXISTS权限变更 → ASSERT 安全负责人确认记录 EXISTS对外发布 → ASSERT 业务负责人审核确认记录 EXISTS资金操作 → ASSERT 财务授权人员双人确认记录 EXISTSIF 确认记录存在 → ASSERT 确认为实质性审核 — 非形式审查
ELSE → 标记 HITL_MISSING:{operation_type}
ELSE:→ 跳过,继续下一个 operation_type
将所有检查结果汇聚为结构化审计报告。每个判定须有证据链支撑——合规项说明为什么合规,违规项说明具体违规行为和位置。
SIGNAL:首轮扫描"未发现漏洞" → 大概率是扫描不充分,不是代码真的无懈可击。回头检查是否覆盖了项目特有的攻击面。
WRITE docs/security-audit.md(每次重写,只保留最终结果):
# AI 安全红线合规审计报告
> team-security 产出 | {日期} | 任务:{slug} | 审查范围:{scope}
## 一、风险定级
| 场景 | 风险等级 | 定级依据 | 管控要求 |
| ---- | -------- | -------- | -------- |
| {scenario} | L1/L2/L3 | {reason} | {requirement} |
> 风险等级判定维度:数据敏感度、影响范围、操作不可逆性、对外暴露程度。多维度取最高。
## 二、一级红线检查结果
| 编号 | 红线 | 状态 | 说明 |
| ---- | ---- | ---- | ---- |
| RED_LINE_1 | 敏感数据输入外部 AI | ✅ 合规 / ❌ 违规 / N/A | {detail} |
| RED_LINE_2 | 凭证泄露 | ✅ 合规 / ❌ 违规 / N/A | {detail} |
| RED_LINE_3 | AI 直接执行高风险操作 | ✅ 合规 / ❌ 违规 / N/A | {detail} |
| RED_LINE_4 | 未审批接入外部 AI 或 API | ✅ 合规 / ❌ 违规 / N/A | {detail} |
| RED_LINE_5 | 使用公司数据训练外部模型 | ✅ 合规 / ❌ 违规 / N/A | {detail} |
| RED_LINE_6 | 滥用公司 AI 资源 | ✅ 合规 / ❌ 违规 / N/A | {detail} |
## 三、二级红线检查结果
| 编号 | 行为类型 | 状态 | 控制条件满足情况 |
| ---- | -------- | ---- | ---------------- |
| HIGH_RISK_1 | AI 自动化执行 | ✅ 合规 / ⚠️ 不合规 / N/A | {detail} |
| HIGH_RISK_2 | Agent 多系统调用 | ✅ 合规 / ⚠️ 不合规 / N/A | {detail} |
| HIGH_RISK_3 | Workflow 自动决策 | ✅ 合规 / ⚠️ 不合规 / N/A | {detail} |
| HIGH_RISK_4 | AI 辅助决策 | ✅ 合规 / ⚠️ 不合规 / N/A | {detail} |
## 四、分场景安全控制
| 场景 | 检查项 | 状态 | 说明 |
| ---- | ------ | ---- | ---- |
| §4.1 数据与隐私 | {check_item} | ✅ / ⚠️ / N/A | {detail} |
| §4.2 代码与系统 | {check_item} | ✅ / ⚠️ / N/A | {detail} |
| §4.3 Prompt 与模型 | {check_item} | ✅ / ⚠️ / N/A | {detail} |
| §4.4 Agent/Workflow | {check_item} | ✅ / ⚠️ / N/A | {detail} |
| §4.5 供应链安全 | {check_item} | ✅ / ⚠️ / N/A | {detail} |
| §4.6 对外合规 | {check_item} | ✅ / ⚠️ / N/A | {detail} |
## 五、人机协同机制
| 操作类型 | 确认人 | 确认方式 | 状态 |
| -------- | ------ | -------- | ---- |
| {operation} | {confirmer} | 实质性审核 / 形式审查 | ✅ / ❌ |
## 六、整改清单
| 优先级 | 问题 | 红线编号 | 整改要求 | 责任方 | 期限 |
| ------ | ---- | -------- | -------- | ------ | ---- |
| P0 | {issue} | RED_LINE_{N} | {action} | {owner} | 立即 |
| P1 | {issue} | HIGH_RISK_{N} | {action} | {owner} | {date} |
## 七、审计结论
- **一级红线**:{N} 项检查,{N} 项合规,{N} 项违规
- **二级红线**:{N} 项检查,{N} 项合规,{N} 项不合规,{N} 项不适用
- **综合判定**:✅ 全部合规 / ⚠️ 存在风险需整改 / ❌ 存在红线违规
## 八、安全约束参考
> 本章由 team-security 自动生成,供后续实现和审查参考。
- **实现约束**:{从红线检查和分场景控制中提取的实现层约束,如"禁止硬编码凭证""数据输入须脱敏"等}
- **Review 检查项**:{从整改清单中提取的需 team-review 验证的条目}
- **人机协同要求**:{从 Phase 5 提取的必须插入人工确认的操作列表}
GOOD:
RED_LINE_2 ✅ 合规 — grep 扫描 src/ 和 config/ 共 3 处命中:(1) config/example.env 为占位符 "YOUR_API_KEY",(2) src/auth.ts:12 从环境变量读取 process.env.SECRET_KEY 未硬编码,(3) tests/mock.ts:5 为测试 mock 值。逐一排查后确认无真实凭证泄露。BAD:RED_LINE_2 ✅ 合规 — 未发现硬编码凭证。(缺少扫描范围、命中数量、逐条排查过程——无法判断是真合规还是扫描不充分)
将违规发现路由到正确的上游修复。一级红线违规是阻塞性的——不可在违规基础上继续后续工作。
一级红线违规立即触发本 Phase,不可等待全部检查完成。
MATCH violation_level:
RED_LINE_*(一级红线违规):
WRITE docs/security-audit.md — 写入已完成的检查结果 + 违规详情
WRITE(对话中)违规详情:
🚨 红线违规:{RED_LINE_N} {红线名称}
违规行为:{具体行为描述}
涉及位置:{文件路径:行号}
证据:{grep/代码片段}
影响评估:{数据泄露范围 / 权限影响 / 操作不可逆性}
MATCH violation_source:
HIGH_RISK_*(二级红线不合规):
docs/security-audit.md §六hr_source:
| 文件 | 路径 | 说明 |
|---|---|---|
security-audit.md | docs/security-audit.md | AI 安全红线合规审计报告(每次重写,只保留最终结果) |
BLOCKEDREF _team-rules/constitutional-rules.md — 10 条 Constitutional Rules
REF _team-rules/first-principles.md — 4 条第一性原理(First Principle #1 ~ #4)
REF _team-rules/verification-protocol.md — 5 步验证协议
安全审计阶段尤其注意:
ASK_HUMAN 人类介入,不可擅自处置 _team-rules/first-principles.md: First Principle #1ROLLBACK 到对应上游 Agent(team-spec / team-impl),不可降级忽略 _team-rules/first-principles.md: First Principle #4_team-rules/first-principles.md: First Principle #1 + First Principle #3_team-rules/first-principles.md: First Principle #4GATE 产出前自检(全部通过才放行):
docs/security-audit.md 可确定risk_level 已确定 — 每个场景有明确的 L1/L2/L3 定级red_line_checked == 6 — 6 条一级红线全部检查(含 N/A 标注)high_risk_checked == 4 — 4 条二级红线全部检查(含 N/A 标注)RL_violation == 0 || ASK_HUMAN 已触发 — 一级红线违规已触发人类介入docs/security-audit.md EXISTS && CONTAINS 八个章节(含 §八 安全约束参考)grep -cE 'RED_LINE_[1-6]|HIGH_RISK_[1-4]' docs/security-audit.md → ASSERT output >= 10 — 红线编号均已记录整改清单 NOT_EMPTY(如有不合规项)|| 全部合规无占位符残留({N}、{slug} 等已被实际值替换)IRON_LAW 遵守 — 一级红线违规已触发 ASK_HUMAN,未擅自降级REF _team-rules/four-state-protocol.md — 四态完成状态
MATCH result:
docs/security-audit.md{N} 项合规,二级红线 {N} 项合规docs/security-audit.md(仅含 L1 豁免声明)被谁调用:
team-score — 评分时主动调用:Step 1 证据收集阶段 ROUTE 本 Skill上游文件契约(READ):
| 来源 Skill | 文件 | 本 Skill 消费方式 |
|---|---|---|
team-spec | 03-sdd.md | Phase 0/1:提取 AI 使用场景、数据流、接口规格 |
team-spec | 04-boundary.md | Phase 0:理解修改边界,判断高风险操作范围 |
team-spec | 05-risk.md | Phase 0:[完整模式] 提取已识别风险,交叉验证红线覆盖度 |
下游文件契约(WRITE → 被 READ):
| 消费方 Skill | 文件 | 消费方式 |
|---|---|---|
team-score | security-audit.md §七 | 安全合规评分证据:审计结论 + 整改清单 |
team-review | security-audit.md §二-§六 | Phase 1(安全维度):引用审计结论(如已存在) |
配对使用:
team-score — REQUIRED 上游:评分时主动调用本 Skill 获取安全合规证据team-review — 推荐:team-review 安全维度可引用审计结论(如已存在)team-score 调度协议(ROUTE 模板):
team-score Step 1 扫描维度 6 使用以下模板调度。调用方式:
Skill: team-security加载执行,或通过 Agent tool 传递以下 prompt。
加载并执行 team-security skill。
任务 slug:{slug}
模式:{完整 / --compact 精简}
输入目录:docs/tasks/{slug}/(读取 03-sdd.md、04-boundary.md、05-risk.md(如存在))
代码变更:git diff(如有)
约束:遵守 team-security Skill 的 Phase 0-7 步骤;产出到 docs/security-audit.md(每次重写);L1 场景写入豁免声明后即可 `DONE`。
读取 skills/team-security/SKILL.md 获取完整执行步骤。
security-audit.md §六 整改清单,按优先级修复team-score 获取整体协作评分