SuperAPI AI 工具集

review

安全与审计

查看项目

更新于 10-15 09:27

技能介绍

用途

Review Repo for Openness(仓库开放性审计)是一个面向代码库公开发布前的检查技能,属于 git-repo-prep 工作流。它的目标不是评估代码质量,而是聚焦于“让仓库可以安全公开”这件事,检查密钥、个人信息、许可证、文档、.gitignore、CI/CD 和元数据等类别。该技能可随时重复运行。

主要能力

该技能按固定分类执行审计,并在开始时宣布使用 git-repo-prep:review。它通过 TodoWrite 建立清单,覆盖:密钥扫描、个人信息扫描、许可证检查、文档检查、Gitignore 检查、CI/CD 检查、元数据检查,最后呈现发现与总结。每项任务开始前标记为进行中,完成后立即标记为完成。

它会先检测生态以定制检查项:package.json(Node.js)、pyproject.toml / setup.py / setup.cfg(Python)、Cargo.toml(Rust)、go.mod(Go)、*.csproj / *.sln(.NET)、Gemfile(Ruby)、pom.xml / build.gradle(Java/Kotlin)。

审计过程中,每项发现严格按给定的严重级别表归类为 Critical(严重)、Recommended(建议)、Nice-to-have(锦上添花),不自行创建设置分类,也不升级或降级严重程度。

使用方式

技能按类别顺序逐项扫描:

  1. 密钥:在源文件中检索 sk_live、sk_test、ghp_、AKIA、password=、secret=、token=、api_key、-----BEGIN.PRIVATE KEY、含凭据的连接字符串等模式;检查任意层级是否存在 .env 文件;检查 .gitignore 是否排除 .env 与 .env.;查找 .pem、.key 或凭据文件。
  2. 个人信息:检查包元数据中的 author 字段(package.json author、pyproject.toml authors、Cargo.toml authors);在源文件中检索邮箱模式(排除 node_modules、vendor、锁文件);查找配置或源码中硬编码的用户名(如 DEFAULT_USER、AUTHOR、URL 或路径中的用户名)。
  3. 许可证:检查并比对三个位置——LICENSE 文件是否存在及其内容、包元数据中的 license 字段、README 中是否有许可证章节且指向同一许可证;标记三者间的不一致或任一位置缺失。
  4. 文档:README 是否存在、非空,是否包含项目描述、安装/快速开始、使用说明、许可证章节;CONTRIBUTING.md 与 SECURITY.md 是否缺失。
  5. Gitignore:.gitignore 是否存在;对照生态最佳实践(Node.js:node_modules/、.env、dist/、coverage/;Python:pycache/、.pyc、.env、.egg-info/、dist/、.venv/;Rust:target/、.env;Go:vendor/(若不 vendor)、.env;通用:.env、.env.、.log、.DS_Store、.pem、.key);并用 git ls-files 检查敏感文件是否已被跟踪。
  6. CI/CD:查找 .github/workflows/、.gitlab-ci.yml、Jenkinsfile、.circleci/ 等;检查 Dependabot 配置(.github/dependabot.yml)或 Renovate(renovate.json)。
  7. 元数据:按生态检查完整性——Node.js 的 package.json 中的 repository、engines、keywords、description;Python 的 pyproject.toml 中的 [project.urls]、classifiers、requires-python、keywords、description;Rust 的 Cargo.toml 中的 repository、keywords、categories、description;Go 的模块路径是否与仓库 URL 匹配、包文档注释。

呈现发现时以对话方式给出,不写报告文件;按严重级别分组,从最紧急开始。每条发现需简要描述问题、用一句话说明其对开放性的影响,并主动提出可立即修复。结尾给出统计:“X 项严重、Y 项建议、Z 项锦上添花”。若存在严重发现,建议发布前处理;若无,则说明仓库看起来已就绪,并建议处理建议项以提升质量。

范围限制

该技能明确是开放性审计,而非代码质量审查。不评论错误处理、架构、性能、代码风格、测试覆盖质量或设计模式。严重级别必须严格按给定表格对应列判定。

适用场景

适合在将仓库公开、开源或对外发布前进行准备性检查,也可在项目任意阶段重复运行以确认开放性状态。

限制

资料未提供自动化脚本、依赖安装方式或与具体平台的集成细节,暂未提供。实际修复操作需用户确认后由执行方进行。