Security & Review Skills
CLI-JAW 提供了一整套安全分析和代码审查技能,能够检测漏洞、强制执行最佳实践、进行威胁建模并简化同行评审——所有操作均可通过自然语言命令完成。
技能概览
| 技能 | 描述 | 触发示例 |
|---|---|---|
static-analysis | 在代码库中执行静态分析,无需运行代码即可发现错误、反模式和潜在漏洞 | "정적 분석 돌려줘" |
insecure-defaults | 扫描配置文件、环境变量和代码中的不安全默认值(开放的 CORS、生产环境的调试模式、弱加密设置) | "보안 기본값 점검해줘" |
security-best-practices | 根据 OWASP Top 10 和特定语言的安全指南审计项目,生成合规性检查清单 | "보안 베스트 프랙티스 검사해줘" |
security-ownership-map | 基于 git 历史记录和 CODEOWNERS 生成安全关键路径(身份验证、支付、加密、PII 处理)的所有者映射 | "보안 소유권 맵 만들어줘" |
security-threat-model | 为当前项目构建基于 STRIDE 的威胁模型,识别信任边界、数据流和攻击面 | "위협 모델링 해줘" |
differential-review | 仅审查 PR 或 diff 中变更的行,聚焦于安全回退和新引入的风险 | "변경된 부분만 보안 리뷰해줘" |
receiving-code-review | 处理收到的代码审查评论,按严重程度分类,并为每个发现建议修复方案 | "코드 리뷰 피드백 정리해줘" |
requesting-code-review | 为当前变更集准备结构化的代码审查请求,包含上下文、风险区域和审查者检查清单 | "이 코드 리뷰 요청해줘" |
静态分析
static-analysis 技能通过结合 AST 级别的检查和模式匹配来执行多语言静态分析。它能检测 SQL 注入向量、XSS 汇聚点、路径遍历模式、不安全的反序列化等漏洞。
# Run static analysis on the entire project
보안 취약점 검사해줘
# Target a specific directory
src/api 디렉토리만 정적 분석해줘
# Focus on a specific vulnerability class
SQL 인젝션 취약점만 찾아줘
结果按严重程度(严重、高、中、低)分组,附带文件位置、行号和修复建议。
不安全的默认值
insecure-defaults 技能检查项目中常常在不知不觉中被部署到生产环境的危险默认配置。
| 检查类别 | 检测示例 |
|---|---|
| 身份验证 | 默认密码、禁用的身份验证中间件、宽松的会话设置 |
| CORS | Access-Control-Allow-Origin: *、过于宽泛的允许方法 |
| 调试模式 | 生产配置中的 DEBUG=true、暴露的详细错误页面 |
| 加密 | 使用 MD5/SHA1 进行密码哈希、硬编码密钥、弱 JWT 密钥 |
| 网络 | 使用 HTTP 而非 HTTPS、无限制地绑定到 0.0.0.0、开放端口 |
| 依赖项 | 已知存在漏洞的包版本、未固定的依赖项 |
# Scan for insecure defaults
기본값 보안 점검해줘
# Check only environment and config files
설정 파일 보안 검사해줘
安全最佳实践
security-best-practices 技能根据既定的安全标准审计您的项目,并生成结构化的合规报告。
# Full OWASP Top 10 audit
OWASP 기준으로 보안 점검해줘
# Language-specific best practices
Python 보안 베스트 프랙티스 체크해줘
# Generate a compliance report
보안 컴플라이언스 리포트 만들어줘
审计涵盖以下内容:
- 输入验证 -- 注入防护、参数化查询、输入消毒
- 身份验证与会话管理 -- 安全的令牌存储、会话过期、多因素认证支持
- 访问控制 -- 基于角色的检查、权限提升向量
- 数据保护 -- 静态和传输中的加密、PII 处理、日志卫生
- 错误处理 -- 通过错误消息泄露信息、堆栈跟踪暴露
- 依赖管理 -- 过时的包、已知 CVE、供应链风险
安全所有权映射
security-ownership-map 技能分析 git 历史记录和项目结构,生成安全关键代码所有权的可视化映射。
# Generate ownership map for security-critical paths
보안 소유권 맵 만들어줘
# Focus on authentication code ownership
인증 관련 코드 소유자 확인해줘
该映射识别以下内容:
- 身份验证模块 -- 登录流程、令牌生成、OAuth 集成
- 支付处理 -- 账单逻辑、支付网关集成
- 加密代码 -- 密钥管理、加解密例程
- PII 处理 -- 用户数据存储、导出和删除路径
- 基础设施配置 -- Dockerfile、CI/CD 管道、部署脚本
每个路径都标注了主要所有者(最近和最频繁的提交者)、审查覆盖率百分比以及上次安全聚焦审查以来的时间。
威胁建模
security-threat-model 技能通过分析项目的架构、数据流和外部集成来构建基于 STRIDE 的威胁模型。
# Generate a full threat model
위협 모델링 해줘
# Threat model for a specific feature
결제 기능 위협 모델 만들어줘
# Update an existing threat model after changes
위협 모델 업데이트해줘
| STRIDE 类别 | 检测内容 |
|---|---|
| 伪造(Spoofing) | 弱身份验证、缺少身份验证、令牌伪造向量 |
| 篡改(Tampering) | 传输中的未签名数据、缺少完整性检查、可变共享状态 |
| 抵赖(Repudiation) | 缺少审计日志、未签名的事务、没有不可否认性控制 |
| 信息泄露(Information Disclosure) | 详细错误信息、日志泄露、不安全存储、调试端点 |
| 拒绝服务(Denial of Service) | 缺少速率限制、无界查询、资源耗尽向量 |
| 权限提升(Elevation of Privilege) | 缺少授权检查、IDOR、权限提升路径 |
差异审查
differential-review 技能仅对 PR 或工作树 diff 中变更的行进行安全聚焦审查,在合并之前捕获回退问题。
# Review the current diff for security issues
변경된 부분만 보안 리뷰해줘
# Review a specific PR
PR #42 보안 리뷰해줘
# Review staged changes before committing
커밋 전에 보안 검사해줘
差异审查聚焦于以下内容:
- 新引入的漏洞 -- 添加的不安全函数、移除的验证
- 安全回退 -- 先前加固的代码被变更削弱
- 敏感数据暴露 -- diff 中的 API 密钥、令牌或凭据
- 权限变更 -- 修改的访问控制逻辑、没有身份验证的新端点
- 依赖变更 -- 含有已知漏洞的新包
代码审查工作流
CLI-JAW 通过专用技能支持代码审查流程的两个方面。
接收代码审查
receiving-code-review 技能处理收到的审查评论,按严重程度分类,并为每个发现生成可操作的修复建议。
# Process review feedback on the current PR
코드 리뷰 피드백 정리해줘
# Triage and prioritize review comments
리뷰 코멘트 심각도별로 정리해줘
# Auto-generate fixes for review findings
리뷰 피드백 기반으로 수정 코드 생성해줘
请求代码审查
requesting-code-review 技能准备一个结构化的审查请求,包含上下文、风险标注和审查者检查清单。
# Create a review request for the current changes
이 코드 리뷰 요청해줘
# Generate a review request with security focus
보안 관점에서 리뷰 요청 만들어줘
# Add a reviewer checklist to an existing PR
PR에 리뷰 체크리스트 추가해줘
生成的审查请求包含以下内容:
- 变更摘要 -- 变更了什么以及为什么,附带业务上下文
- 风险区域 -- 标记需要仔细审查的文件和函数
- 测试覆盖 -- 哪些测试覆盖了变更,识别出的任何缺口
- 审查者检查清单 -- 审查者需要验证的具体事项
- 相关问题 -- 相关工单或先前讨论的链接
组合技能
安全技能可以链式组合以进行全面分析。CLI-JAW 会自动检测何时需要多个技能并进行编排。
# Full security audit (combines multiple skills)
전체 보안 감사 해줘
# Pre-release security check
릴리즈 전 보안 점검해줘
# Onboarding security review for a new project
이 프로젝트 보안 상태 전체적으로 파악해줘
| 组合工作流 | 调用的技能 |
|---|---|
| 全面安全审计 | static-analysis + insecure-defaults + security-best-practices |
| 发布前检查 | static-analysis + insecure-defaults + differential-review |
| 威胁评估 | security-threat-model + security-ownership-map |
| 审查准备 | differential-review + requesting-code-review |
配置
安全技能遵循 .jaw/security.yaml 中的项目级配置:
# .jaw/security.yaml
severity_threshold: medium # Minimum severity to report (low|medium|high|critical)
ignore_paths:
- "vendor/**"
- "node_modules/**"
- "**/*.test.ts"
owasp_profile: web # web | api | mobile | desktop
custom_rules:
- id: no-eval
pattern: "eval("
severity: critical
message: "eval() is forbidden; use a safe parser instead"