跨栈源代码资产审计——对每个文件进行分类,检测嵌入的第三方库,并为每个模块提供可操作的四级判定结果,附带交互式HTML报告。
Scanned 9/12/2026
Install to Claude Code
npx -y skills add thedixitjain/the-mega-skill-library --skill repo-scan--affaan-m --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Repo Scan Affaan M?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/thedixitjain-repo-scan-affaan-m)More formats (shields.io, HTML) on the badges page.
---
name: repo-scan
description: "跨栈源代码资产审计——对每个文件进行分类,检测嵌入的第三方库,并为每个模块提供可操作的四级判定结果,附带交互式HTML报告。"
category: docs-and-knowledge-mgmt
source_repo: affaan-m/ECC
source_path: "docs/zh-CN/skills/repo-scan/SKILL.md"
source_url: https://github.com/affaan-m/ECC/blob/HEAD/docs/zh-CN/skills/repo-scan/SKILL.md
---
# repo-scan
> 每个生态系统都有自己的依赖管理器,但没有工具能跨 C++、Android、iOS 和 Web 告诉你:有多少代码真正属于你,哪些是第三方代码,哪些是冗余负担。
## 适用场景
* 接手大型遗留代码库,需要了解整体结构
* 重大重构前——识别核心代码、重复代码和废弃代码
* 审计直接嵌入源码(而非通过包管理器声明)的第三方依赖
* 为单体仓库重组准备架构决策记录
## 安装
```bash
# Fetch only the pinned commit for reproducibility
mkdir -p ~/.claude/skills/repo-scan
git init repo-scan
cd repo-scan
git remote add origin https://github.com/haibindev/repo-scan.git
git fetch --depth 1 origin 2742664
git checkout --detach FETCH_HEAD
cp -r . ~/.claude/skills/repo-scan
```
> 安装任何代理技能前,请先审查源码。
## 核心能力
| 能力 | 描述 |
|---|---|
| **跨技术栈扫描** | 一次扫描 C/C++、Java/Android、iOS(OC/Swift)、Web(TS/JS/Vue) |
| **文件分类** | 每个文件标记为项目代码、第三方代码或构建产物 |
| **库检测** | 识别 50+ 已知库(FFmpeg、Boost、OpenSSL…)并提取版本号 |
| **四级判定** | 核心资产 / 提取合并 / 重建 / 废弃 |
| **HTML 报告** | 交互式深色主题页面,支持逐层下钻导航 |
| **单体仓库支持** | 分层扫描,提供摘要 + 子项目报告 |
## 分析深度级别
| 级别 | 读取文件数 | 适用场景 |
|---|---|---|
| `fast` | 每模块 1-2 个 | 快速盘点大型目录 |
| `standard` | 每模块 2-5 个 | 默认审计,含完整依赖 + 架构检查 |
| `deep` | 每模块 5-10 个 | 增加线程安全、内存管理、API 一致性检查 |
| `full` | 所有文件 | 合并前全面审查 |
## 工作原理
1. **分类仓库表面**:枚举文件,将每个文件标记为项目代码、嵌入的第三方代码或构建产物。
2. **检测嵌入的库**:检查目录名、头文件、许可证文件和版本标记,识别捆绑的依赖及其可能版本。
3. **为每个模块评分**:按模块或子系统分组文件,根据所有权、重复度和维护成本分配四种判定之一。
4. **突出结构风险**:指出冗余产物、重复的封装器、过时的供应商代码,以及应提取、重建或废弃的模块。
5. **生成报告**:返回简洁摘要及交互式 HTML 输出,支持按模块下钻,便于异步审查审计结果。
## 示例
在一个 50,000 文件的 C++ 单体仓库中:
* 发现仍在使用 FFmpeg 2.x(2015 年版本)
* 发现同一 SDK 封装器重复了 3 次
* 识别出 636 MB 已提交的 Debug/ipch/obj 构建产物
* 分类结果:3 MB 项目代码 vs 596 MB 第三方代码
## 最佳实践
* 首次审计时从 `standard` 深度开始
* 对包含 100+ 模块的单体仓库使用 `fast` 快速盘点
* 对标记为需重构的模块增量运行 `deep`
* 审查跨模块分析结果,检测子项目间的重复代码
## 链接
* [GitHub 仓库](https://github.com/haibindev/repo-scan)
---
**Source:** [`affaan-m/ECC`](https://github.com/affaan-m/ECC) → `docs/zh-CN/skills/repo-scan/SKILL.md`
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!