技能 编程开发 跨栈代码库资产审计

跨栈代码库资产审计

v20260517
repo-scan
repo-scan是一款强大的代码库审计工具,能够对大型、复杂的跨技术栈项目进行全面的资产分析。它能将代码文件分类为项目代码、第三方依赖或构建产物,并识别嵌入的外部库和版本。通过生成交互式HTML报告,为代码的归属权、冗余度提供四级评估(核心资产/提取/重构/废弃),是进行单体仓库重构和架构规划的必备利器。
获取技能
351 次下载
概览

repo-scan

どのエコシステムにも独自の依存関係マネージャーがあるが、C++、Android、iOS、Web をまたいで「どのコードが本当に自分のもので、どれがサードパーティで、どれが余分な負担か」を教えてくれるツールはない。

適用場面

  • 大規模なレガシーコードベースを引き継ぎ、全体的な構造を把握する必要がある場合
  • 大規模なリファクタリング前——コアコード、重複コード、廃止コードを特定する
  • パッケージマネージャーで宣言せずにソースに直接埋め込まれたサードパーティの依存関係を監査する
  • モノレポの再編成に向けたアーキテクチャ決定記録を準備する

インストール

# 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…)を識別しバージョン番号を抽出
4段階の判定 コア資産 / 抽出・統合 / 再構築 / 廃止
HTMLレポート 階層的なドリルダウンナビゲーションに対応したインタラクティブなダークテーマページ
モノレポサポート 階層的スキャンによるサマリー + サブプロジェクトレポート

分析の深さレベル

レベル 読み取りファイル数 適用場面
fast モジュールあたり1〜2個 大規模ディレクトリの素早い棚卸し
standard モジュールあたり2〜5個 デフォルト監査、完全な依存関係 + アーキテクチャチェック
deep モジュールあたり5〜10個 スレッド安全性、メモリ管理、API一貫性チェックを追加
full 全ファイル 統合前の包括的レビュー

動作原理

  1. リポジトリの表面を分類:ファイルを列挙し、各ファイルをプロジェクトコード、埋め込みサードパーティコード、ビルドアーティファクトとしてマークする。
  2. 埋め込みライブラリを検出:ディレクトリ名、ヘッダーファイル、ライセンスファイル、バージョンマーカーを検査して、バンドルされた依存関係とその可能性のあるバージョンを識別する。
  3. 各モジュールをスコアリング:ファイルをモジュールまたはサブシステムにグループ化し、所有権、重複度、保守コストに基づいて4つの判定のいずれかを割り当てる。
  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 を実行する
  • クロスモジュール分析の結果をレビューして、サブプロジェクト間の重複コードを検出する

リンク

信息
Category 编程开发
Name repo-scan
版本 v20260517
大小 4.85KB
更新时间 2026-05-18
语言