SuperAPI AI 工具集

auditing-pre-release-security

安全与审计

查看项目

更新于 10-16 02:38

技能介绍

用途:比较任意两个 Git 引用(BASE_REF 起点、TARGET_REF 终点/候选发布),审计预发布阶段的安全与供应链风险。若用户未明确给出两个引用,需先询问一次;仅给一个引用时须补齐另一个,不得擅自假设默认值。

主要能力:审计源码差异中的安全回归;检查直接与传递依赖变更及锁文件确定性;检查 node_modules 中新引入包的行为;检查 .github/workflows 与 Expo/EAS 构建配置的 CI/CD 风险。输出为中文 Markdown 报告,文件名与标题均包含两个引用以避免覆盖,文件名格式为 security-audit__${BASE_REF_SAFE}to${TARGET_REF_SAFE}.md,其中 / 需替换为 __ 或 -。

使用方式:先验证引用存在,命令为 git rev-parse --verify "${BASE_REF}^{commit}" 与 git rev-parse --verify "${TARGET_REF}^{commit}";用 git status --porcelain 检查工作区;用 git diff --name-status "${BASE_REF}..${TARGET_REF}" 列出变更文件。重点收集源码 **/.{js,ts,tsx}、依赖 /package.json 与 yarn.lock、CI .github/workflows/、Expo/EAS 配置 eas.json、app.json、app.config. 及构建脚本的差异。依赖侧计算新增/移除/更新,标记 * 或 latest 为高风险、^ 或 ~ 为中风险;依赖变更但 yarn.lock 未变标记为高风险。锁文件确定性可尝试 yarn install --immutable(Berry)或 yarn install --frozen-lockfile(Classic)。漏洞扫描可尝试 yarn audit 或 osv-scanner,工具缺失需注明未运行及原因。对新直接依赖检查 package.json 的 preinstall/install/postinstall、入口与原生产物,并做敏感关键词扫描。CI 侧标记 uses: ...@latest 为高风险、未固定 SHA 的浮动标签为中风险,检查权限过宽与远程脚本执行。

限制:证据需可追溯(文件路径、行号、短片段);严禁输出助记词、私钥、API 密钥、令牌、Cookie、会话 ID 等机密,命令输出可能含机密时须脱敏;仅用短摘录,不粘贴大段内容。部分步骤为尽力而为,工具不可用时如实说明。