gitlink-cli/skills/gitlink-shared/references/security-review-matrix.md

2.3 KiB
Raw Blame History

PR 安全审查矩阵

安全检查不是“看到 security 标签才执行”的附加项。五个维护类 Skill 都要先根据改动文件和数据流判断是否命中以下类别;无法验证时标记为 not_run,不能直接判定安全通过。

类别 重点信号 最低验证 默认级别
凭据泄露 token、密码、私钥、.env、日志回显 扫描 diff、配置、测试 fixture 和日志;确认脱敏 blocking
命令注入 shell 拼接、exec、用户可控参数进入命令 使用带空格、引号、shell 元字符的输入测试 blocking
路径遍历 文件名、压缩包、下载地址来自用户或远端 验证 ..、绝对路径、符号链接和跨平台分隔符 high
注入 SQL、模板、Markdown、HTML、JSON 拼接 正常值、边界值、恶意值和转义结果 high
SSRF / 外连 URL、webhook、重定向、代理配置 限制协议、主机、重定向和内网地址 high
认证授权 token 作用域、项目权限、管理员动作 未登录、无权、越权和过期 token blocking
不安全反序列化 任意类型、远端 JSON/YAML、对象恢复 不可信输入和异常输入,确认无任意代码执行 blocking
依赖供应链 新增依赖、安装脚本、下载二进制 锁定版本、核对来源和最小权限 high
敏感信息暴露 PR 报告、错误、调试、缓存包含用户数据 检查 stdout、文件、JSON 和日志 high
资源耗尽 无界分页、超大 diff、并发、重试 空数据、最大数据、超时和取消 medium/high
加密与传输 TLS、证书校验、随机数、哈希用途 禁止跳过证书校验,确认算法和错误处理 high

证据规则

每个命中的安全项至少记录:categorystatusevidencetestowner。代码位置使用文件和行号;行为验证使用实际命令;平台能力不确定时标记 unverified_platform_behavior

自动化边界

静态关键词命中只能生成候选项,不能单独证明漏洞。动态验证不能覆盖真实凭据或生产写操作;默认使用脱敏 fixture、临时 worktree、--dry-run 和最小权限 token。发现疑似真实密钥时不要复制到报告报告只保留类型、位置和轮换建议。