名称: 安全审查 描述: 执行带有零信任评估的安全架构审查 - 识别认证/授权差距、数据保护问题,并提供修复指导 允许工具: Read, Glob, Grep, Task, AskUserQuestion 参数提示: <scope-or-component>
安全审查命令
此命令执行带有零信任评估的全面安全架构审查。
目的
生成安全评估,包括:
- 零信任对齐评估
- 认证/授权差距分析
- 数据保护审查
- 网络安全评估
- 优先修复指导
工作流程
第一阶段:范围定义
澄清审查范围:
如果提供了范围:
- 在代码库中搜索相关组件
- 识别认证机制
- 定位授权策略
- 查找加密配置
- 检查秘密管理
如果未提供范围,询问:
您希望我审查什么?
1. 整个系统架构
2. API层安全
3. 服务间通信
4. 数据存储和保护
5. 特定组件/服务
第二阶段:系统发现
了解安全格局:
安全发现清单:
□ 认证机制(OAuth、OIDC、JWT、API密钥)
□ 授权模型(RBAC、ABAC、ACL)
□ 静态加密(数据库、文件、秘密)
□ 传输中加密(TLS、mTLS)
□ 秘密管理(Vault、云KMS、环境变量)
□ 网络边界和分段
□ 日志和审计跟踪
□ 第三方集成
搜索模式:
- 认证:
auth、login、jwt、oauth、oidc、bearer - 授权:
roles、permissions、authorize、policy、claims - 加密:
encrypt、decrypt、kms、key、certificate、tls - 秘密:
secret、credential、password、apikey、connection
第三阶段:零信任评估
根据零信任原则评估:
1. 明确验证
评估:明确验证
问题:
□ 每个请求是否都经过认证,无论来源?
□ 所有API端点是否受保护(包括内部)?
□ 是否对每个请求执行令牌验证?
□ 会话是否正确验证并可撤销?
发现:
- [ ] 外部API认证:[是/否/部分]
- [ ] 内部API认证:[是/否/部分]
- [ ] 令牌验证:[强/弱/无]
- [ ] 会话管理:[适当/需要改进]
2. 最小权限
评估:最小权限
问题:
□ 服务账户是否具有最小必要权限?
□ 用户权限是否适当限定?
□ 是否防止权限提升?
□ 管理功能是否分离?
发现:
- [ ] 服务账户限定:[严格/宽松/权限过多]
- [ ] 用户权限模型:[细粒度/粗粒度/无]
- [ ] 管理分离:[实施/缺失]
3. 假设被入侵
评估:假设被入侵
问题:
□ 网络流量即使在内部是否加密?
□ 秘密是否可轮换而无停机时间?
□ 爆炸半径是否有限(微分段)?
□ 是否可检测异常(监控、SIEM)?
发现:
- [ ] 内部加密:[mTLS/TLS/无]
- [ ] 秘密轮换能力:[自动化/手动/无]
- [ ] 分段:[微分段/基本/扁平]
- [ ] 检测能力:[高级/基本/无]
第四阶段:认证与授权审查
详细分析:
认证:
认证分析:
机制:[OAuth 2.0 / OIDC / JWT / 基本 / API密钥 / 其他]
优势:
- [列出正面发现]
弱点:
- [列出问题]
建议:
- [优先改进]
令牌安全:
- 算法:[RS256/HS256/其他]
- 过期:[时长]
- 刷新处理:[安全/问题]
- 撤销:[支持/不支持]
授权:
授权分析:
模型:[RBAC / ABAC / ACL / 自定义]
实施:
- 执行点:[网关/服务/两者]
- 策略存储:[定义位置]
- 策略评估:[决策方式]
差距:
- [识别缺失控制]
建议:
- [优先改进]
第五阶段:数据保护审查
分析数据安全:
加密:
加密评估:
静态:
- 数据库:[AES-256/其他/无] via [机制]
- 文件存储:[加密/未加密]
- 备份:[加密/未加密]
传输中:
- 外部:[TLS 1.3/TLS 1.2/其他]
- 内部:[mTLS/TLS/明文]
密钥管理:
- 存储:[HSM/KMS/配置/代码]
- 轮换:[自动化/手动/无]
- 访问控制:[严格/宽松]
秘密管理:
秘密评估:
存储位置:
- [ ] 专用秘密管理器(Vault、AWS SM、Azure KV)
- [ ] 环境变量
- [ ] 配置文件
- [ ] 硬编码(关键)
轮换能力:
- 数据库凭据:[自动/手动/从不]
- API密钥:[自动/手动/从不]
- 证书:[自动/手动/从不]
访问控制:
- 谁可以访问秘密:[记录/未知]
- 审计日志:[启用/禁用]
第六阶段:网络安全审查
分析网络保护:
网络安全评估:
分段:
- 网络拓扑:[微分段/分段/扁平]
- 服务网格:[是 - 类型 / 否]
- 信任边界:[定义/不明确]
流量控制:
- 入口:[WAF/API网关/直接]
- 出口:[受控/开放]
- 东西向:[受控/开放]
服务通信:
- 协议:[gRPC+mTLS/HTTPS/HTTP]
- 服务身份:[SPIFFE/证书/无]
- 策略执行:[服务网格/手动/无]
第七阶段:OWASP API安全评估
根据OWASP API安全Top 10检查:
OWASP API安全Top 10评估:
1. 破损的对象级别授权
状态:[通过/失败/需要审查]
备注:[发现]
2. 破损的认证
状态:[通过/失败/需要审查]
备注:[发现]
3. 破损的对象属性级别授权
状态:[通过/失败/需要审查]
备注:[发现]
4. 无限制的资源消耗
状态:[通过/失败/需要审查]
备注:[发现]
5. 破损的功能级别授权
状态:[通过/失败/需要审查]
备注:[发现]
6. 无限制访问敏感业务流程
状态:[通过/失败/需要审查]
备注:[发现]
7. 服务器端请求伪造
状态:[通过/失败/需要审查]
备注:[发现]
8. 安全配置错误
状态:[通过/失败/需要审查]
备注:[发现]
9. 不当的库存管理
状态:[通过/失败/需要审查]
备注:[发现]
10. 不安全的API消费
状态:[通过/失败/需要审查]
备注:[发现]
第八阶段:生成报告
创建安全评估报告:
# 安全评估报告:[系统/组件]
## 执行摘要
风险级别:[关键/高/中/低]
关键发现:[X] 关键, [Y] 高, [Z] 中
## 零信任评估
| 原则 | 状态 | 分数 |
|-----------|--------|-------|
| 明确验证 | [通过/部分/失败] | X/10 |
| 最小权限 | [通过/部分/失败] | X/10 |
| 假设被入侵 | [通过/部分/失败] | X/10 |
总体零信任成熟度:[X/30]
## 发现
### [关键] 发现标题
**类别**:[认证/数据/网络/配置]
**组件**:[受影响组件]
**风险**:[影响描述]
**建议**:[如何修复]
**优先级**:立即
[按严重性重复所有发现]
## 修复路线图
### 立即(0-7天)
- [ ] [关键项]
### 短期(1-4周)
- [ ] [高优先级项]
### 中期(1-3个月)
- [ ] [中优先级项]
### 长期(3-6个月)
- [ ] [强化项]
使用示例
# 审查整个系统
/sd:安全审查
# 审查特定组件
/sd:安全审查 支付服务
# 带架构上下文审查
/sd:安全审查 @docs/architecture.md
# 仅审查API层
/sd:安全审查 "API网关和端点"
交互元素
使用 AskUserQuestion 来:
- 澄清审查范围
- 了解合规要求(SOC2、HIPAA、PCI)
- 验证风险评估
- 优先排序发现
- 确认修复方法
输出
命令产生:
- 执行摘要 - 风险级别和关键发现
- 零信任评估 - 与零信任原则对齐
- 详细发现 - 按严重性分类
- OWASP评估 - API安全检查表结果
- 修复路线图 - 优先行动项
相关技能
此命令利用:
zero-trust-architecture- 零信任原则和模式api-security- API认证和授权mtls-service-mesh- 服务网格安全secrets-management- 秘密处理最佳实践
相关代理
持续安全咨询:
security-reviewer- 安全架构专业知识