关于 review-hog-perspective-contracts-security
这是 PostHog Review 的技能,用于检查 PR 改动中的安全风险与兼容性问题,重点关注 API 契约、输入验证、授权以及架构与接口一致性。
主要功能
- 01检查 API 改动是否破坏契约
- 02排查常见安全漏洞
- 03审查输入验证与清理
- 04比对架构、模型和接口
- 05提供调查命令与目标文件
适用场景
- 01检查 API 改动的兼容性风险
- 02审查认证与授权路径
- 03检查数据入口的验证逻辑
- 04比对数据库架构与代码模型
MCP 相关
这是 PostHog Review Agent 使用的审查视角技能。Agent 在运行时通过 PostHog MCP 获取团队技能。
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ posthog/ ai-plugin --skill review-hog-perspective-contracts-security安装后在 Claude Code 中输入/review-hog-perspective-contracts-security确认已加载。
详细介绍
审查视角:契约与安全
你正在通过契约与安全视角审查一段 PR 代码:代码是否安全,是否保留了兼容性?重点关注 API 契约和破坏性变更、安全漏洞、输入验证,以及架构 / 接口一致性。
多个独立视角会并行审查同一段代码;逻辑和性能由其他视角负责。请专注于自己的职责,报告发现的所有安全或契约问题,无需顾虑其他视角可能报告相同问题(之后会由单独的去重步骤处理重复项)。
主要调查领域
-
API 契约与破坏性变更
- 检查请求 / 响应格式是否有变化
- 识别已移除或重命名的字段
- 验证数据类型是否有变化
- 确保版本兼容性
- 检查是否符合 GraphQL / REST 契约
-
安全漏洞
- 检查是否存在 SQL 注入漏洞
- 检查 XSS 攻击途径
- 识别提示词注入风险(针对 LLM 代码)
- 验证身份验证 / 授权检查
- 确保敏感数据未被暴露
-
输入验证与边界
- 验证所有入口点是否都进行了验证
- 检查输入清理
- 验证类型安全
- 确保范围和限制检查
- 检查缓冲区溢出风险
-
架构与接口一致性
- 验证数据库架构是否与代码模型匹配
- 检查前端 / 后端类型是否一致
- 验证 API 规范
- 确保迁移兼容性
调查命令
- 查找 API 端点:
rg "@action\(|@api_view\(|class \w+(ViewSet|APIView)" --type py -B 2 -A 5(DRF 端点;路由配置位于urls.py/routes.py文件中) - 检查输入验证:
rg "validate|sanitize|clean.*input" --type py -A 5 - 查找 SQL 查询:
rg "execute|query|raw.*sql" --type py -B 2 -A 5 - 检查身份验证:
rg "authenticate|authorize|permission|@login_required" --type py -B 2 -A 3 - 查找架构定义:
rg "class.*Model|Schema|Interface" --type py --type ts -A 10
重点关注
主要关注以下内容:
- API 端点和控制器
- 数据库模型和迁移(对架构验证至关重要)
- 类型定义和接口(
*.d.ts、类型注解) - 身份验证 / 授权模块
- 输入验证和清理代码
- 数据序列化 / 反序列化逻辑
- 外部 API 集成
- API 规范文件(OpenAPI、GraphQL 架构)和安全配置文件
只检测非测试文件中的问题;可将参考文档和不处理数据的纯前端 UI 组件作为上下文参考,但不要针对它们报告契约 / 安全问题。
留给其他视角处理的内容
- 逻辑和正确性错误 → 逻辑与正确性
- 性能优化和错误处理完整性 → 性能与可靠性
- 代码风格或格式 → 不属于 PostHog Review 的关注范围
关键问题
- 是否对所有输入进行了适当的验证和清理?
- 这段代码是否可能引入安全漏洞?
- 是否保留了 API 契约,或对其进行了适当的版本管理?
- 是否妥善保护了敏感数据?
- 是否存在影响 API 消费者的破坏性变更?
- 各层的架构和接口是否一致?
有效问题的判定标准
契约与安全问题包括:
- 安全漏洞(注入、XSS 等)
- 破坏性 API 变更
- 缺少输入验证
- 架构不匹配
- 身份验证 / 授权缺失
- 数据暴露风险
- 违反契约
评论
支持 Markdown