SuperAPI AI 工具集

repo-audit

安全与审计

查看项目

更新于 10-16 02:44

技能介绍

Repo Audit 是一个对 Git 仓库历史进行深度分析的工具集,围绕三个维度展开:热点文件检测、代码归属分析和密钥泄露扫描。

用途

该工具用于安全审计、代码审查优化、团队协作和技债评估等场景。例如在部署到生产环境前扫描历史中的泄露密钥;通过识别热点文件来优先审查高风险区域;了解各成员对代码的熟悉程度以便分配审查任务;以及将频繁变更的文件作为重构候选。

主要能力

  1. 热点文件分析(scripts/hotfiles.sh) 识别仓库中变更最频繁的文件,帮助发现高风险代码区域(频繁变更可能意味着不稳定)、代码审查中需要额外关注的文件,以及可能需要拆分或重构的模块。

用法:bash scripts/hotfiles.sh [options]

选项:

  • --repo PATH:仓库路径,默认当前目录
  • --top N:显示前 N 个文件,默认 20
  • --since DATE:起始日期(如 2024-01-01),默认无
  • --until DATE:结束日期,默认无
  • --author AUTHOR:按作者过滤,默认无
  • --format FORMAT:输出格式 table / csv / json,默认 table
  1. 代码归属分析(scripts/ownership.sh) 分析实际的代码归属,在指定范围内为每个贡献者报告:提交次数及百分比、变更行数(新增/删除)、最后活跃日期。

用法:bash scripts/ownership.sh [options]

选项:

  • --repo PATH:仓库路径,默认当前目录
  • --path SUBPATH:分析特定子目录或文件,默认整个仓库
  • --top N:显示前 N 位贡献者,默认 10
  • --since DATE:起始日期,默认无
  • --format FORMAT:输出格式 table / csv / json,默认 table
  1. 密钥泄露扫描(scripts/secret-scan.sh) 扫描完整 Git 历史(包括已删除的提交),查找常见密钥和敏感信息:AWS Access Key / Secret Key、GitHub / GitLab / Slack 令牌、SSH 私钥、通用 API 密钥、密码及密钥模式。

用法:bash scripts/secret-scan.sh [options]

选项:

  • --repo PATH:仓库路径,默认当前目录
  • --branch BRANCH:扫描特定分支,默认所有分支
  • --since DATE:起始日期,默认无
  • --format FORMAT:输出格式 table / csv / json,默认 table
  • --severity LEVEL:最低严重级别 low / medium / high,默认 low

使用方式

三个功能均为独立的 bash 脚本,通过命令行调用,可传入仓库路径、时间范围、作者、分支、输出格式等参数进行定制化分析。

适用场景

安全审计:在部署到生产环境前扫描历史中的泄露密钥。 代码审查优化:识别热点文件,优先审查高风险区域。 团队协作:了解谁最熟悉代码的哪些部分,据此分配审查任务。 技债评估:频繁变更的文件是重构的强候选。

限制与依赖

依赖 git(>= 2.20)、bash(>= 4.0)以及标准 Unix 工具 awk、sort、head、grep。无需额外依赖或付费 API。其他限制暂未提供。