一键导入
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 获取整体协作评分