
rev-dep v3.0.0
モダンなJavaScriptおよびTypeScriptコードベース向けの依存関係分析・最適化ツールキット。非常に高速なCLIで依存関係グラフの健全性を維持し、未使用コードを削除します。
Rev-dep
機能 • インストール • ドキュメント • 探索ツールキット • CLI リファレンス
モダンな JavaScript および TypeScript コードベース向けの依存関係分析・最適化ツールキット。
非常に高速な CLI で依存関係グラフの健全性を強制し、未使用コードを削除します。
概要 📣
コードベースが大規模化するにつれ、依存関係の全体像を頭の中で把握することは不可能になります。Rev-dep は、大規模な JS/TS プロジェクト全体でアーキテクチャの整合性と依存関係の健全性を強制するために設計された高速静的解析ツールです。
Rev-dep は、依存関係グラフのための高速リンターと考えてください。
複数の低速なツールによる断片的で逐次的なチェックを、単一の高性能エンジンに統合します。 Rev-dep は、循環参照、孤立ファイル、モジュール境界など、ガバナンスチェックのフルスイートを 1 回の並列パスで実行します。Node ベースの解析のパフォーマンスボトルネックを回避するために Go で実装されており、50 万行以上のプロジェクトを約 150ms で監査できます。パフォーマンス比較を見る
自動化されたコードベースガバナンス
Rev-dep は受動的なスキャンを超え、能動的な強制へと踏み込み、以下の難しい問いに答えます(そして CI を失敗させます):
- アーキテクチャの整合性: 「私の『ドメイン A』は『ドメイン B』から不正にインポートしていないか?」。
- デッドコードと肥大化: 「これらのファイルは到達不能か、あるいはこれらの
node_modulesは未使用か?」。 - リファクタリングの安全性: 「どのエントリポイントが実際にこのユーティリティを使用しており、循環チェーンは存在するか?」。
- ワークスペースの健全性: 「インポートは一貫しているか、すべての依存関係は宣言されているか?」。
Rev-dep は CI のための高速ゲートキーパーとして機能し、反復開発を進める中で依存関係グラフをスリムに保ち、アーキテクチャを維持します。
なぜ Rev-dep なのか? 🤔
🏗️ モノレポのファーストクラスサポート
モダンなワークスペース(pnpm、yarn、npm)向けに設計されています。Rev-dep は package.json の exports/imports マップ、TypeScript エイリアスをネイティブに解決し、パッケージ境界を越えて依存関係を追跡します。
🛡️ 設定ベースのコードベースガバナンス
受動的なスキャンを超えましょう。設定エンジンを使用してモジュール境界とインポート規約を強制します。健全性チェックのフルスイート(循環参照、孤立ファイル、未使用モジュールなど)を単一の並列パスで実行し、CI のための高速ゲートキーパーとして機能します。
🔍 探索ツールキット
ファイル間の依存関係の問題をデバッグするのに役立つ CLI ツールキット。ファイル間の推移的関係を理解し、問題を修正します。
⚡ スピードと CI 効率のために構築
Node ベースの解析のパフォーマンスコストを排除するために Go で実装されています。ファイルを並列処理することで、Rev-dep は代替ツールよりも 17 倍〜90 倍高速な実行を実現し、CI コストと開発者の待ち時間を大幅に削減します。
Rev-dep は 50 万行以上のプロジェクトを約 150ms で監査できます。 パフォーマンス比較を見る
機能 🚀
ガバナンスとメンテナンス(設定ベース) 🛡️
rev-dep config run を使用して、すべてのパッケージに対して複数のチェックを 1 回のパスで実行します。
利用可能なチェック:
moduleBoundaries- モジュール間のアーキテクチャ境界を強制します。importConventions- インポートスタイルの規約を強制します(自動修正を提供)。unusedExportsDetection- 決して使用されないエクスポートを検出します(自動修正を提供)。orphanFilesDetection- デッド/孤立ファイルを検出します(自動修正を提供)。unusedNodeModulesDetection- 宣言されているが使用されていない依存関係を検出します。missingNodeModulesDetection- package json に欠けているインポートを検出します。unresolvedImportsDetection- 解決できないインポートリクエストを検出します。circularImportsDetection- 循環インポートを検出します。duplicatedCodeDetection- コピー&ペーストされたコード(繰り返しブロックと JSX 要素)を検出します。devDepsUsageOnProdDetection- 本番コードで使用されている dev 依存関係を検出します。restrictedImportsDetection- 選択したエントリポイントからの拒否されたファイル/モジュールのインポートをブロックします。restrictedImportersDetection- 一連のファイル/モジュールに推移的に到達できるエントリポイントをホワイトリスト化します。restrictedDirectImportersDetection- 一連のファイル/モジュールを直接インポートできるファイルを制限します(非推移的)。
探索的分析(CLI ベース) 🔍
アドホックな依存関係の探索には CLI コマンドを使用します:
entry-points- プロジェクトのエントリポイントを発見します。files- 指定されたエントリポイントの依存関係ツリーのファイルを一覧表示します。resolve- ファイル間の依存関係パスを追跡します(誰がこのファイルをインポートしているか)。imported-by- ファイルの直接のインポーターを一覧表示します。circular- 循環依存チェーンを一覧表示します。duplicated-code- コピー&ペーストされたコードブロックと JSX 要素を検出します。node-modules-used、unused、missing、installedの node モジュールを検査します。lines-of-code- 実効 LOC をカウントします。unresolved- 解決できなかったインポートをファイルごとにグループ化して一覧表示します。list-cwd-files- CWD 内のすべてのソースコードファイルを一覧表示しますdebug- rev-dep が内部的に何を解析、解決、発見するかを検査します。
インストール 📦
完全なドキュメント: rev-dep.com/docs/intro
プロジェクトのチェックスクリプトを設定するにはローカルにインストールしてください``` yarn add -D rev-dep
## 主な機能
- **自動偵察** — ポートスキャン、サービス検出、Web 列挙
- **脆弱性検出** — 既知の CVE を照合し、設定ミスを特定
- **エクスプロイト提案** — 発見された脆弱性に基づき、関連するエクスプロイトを提案
- **レポート生成** — 詳細な Markdown および JSON レポートを出力
- **モジュール設計** — カスタムモジュールによる拡張が容易
## インストール
```bash
git clone https://github.com/example/pentestkit.git
cd pentestkit
pip install -r requirements.txt
使用方法
python pentestkit.py --target 192.168.1.1 --scan full
利用可能なオプション:
| オプション | 説明 |
|---|---|
--target | 対象の IP アドレスまたはホスト名 |
--scan | スキャンタイプ (quick、full、stealth) |
--output | 出力形式 (markdown、json) |
--verbose | 詳細ログを有効化 |
設定
設定ファイルは config/settings.yaml にあります。環境変数 PENTESTKIT_API_KEY を設定して、外部サービス連携を有効にできます。
免責事項
本ツールは、許可されたセキュリティテストおよび教育目的のみを対象としています。対象システムに対する適切な許可を必ず取得してください。``` npm install -D rev-dep
## 主な機能
- **自動偵察** - ワンクリックで完全な偵察を実行
- **サブドメイン列挙** - 複数のソースからサブドメインを検出
- **ポートスキャン** - 一般的なポートとサービスの特定
- **Web テクノロジー検出** - 使用されているフレームワークと CMS を識別
- **ディレクトリブルートフォース** - 隠されたパスとファイルを発見
- **脆弱性スキャン** - 既知の CVE と設定ミスをチェック
- **JavaScript 分析** - JS ファイルからエンドポイントとシークレットを抽出
- **スクリーンショット** - 発見された Web サービスをキャプチャ
- **レポート生成** - プロフェッショナルな HTML および JSON レポート
- **マルチスレッド** - 高速で並列なスキャン
- **プロキシサポート** - プロキシ経由でトラフィックをルーティング
## インストール
### 前提条件
- Python 3.8 以上
- pip (Python パッケージマネージャー)
- Git
### クイックインストール
```bash
# リポジトリをクローン
git clone https://github.com/yourusername/reconx.git
cd reconx
# 仮想環境を作成
python3 -m venv venv
source venv/bin/activate # Windows の場合: venv\Scripts\activate
# 依存関係をインストール
pip install -r requirements.txt
# ツールをインストール
pip install -e .
Docker インストール
# Docker イメージをビルド
docker build -t reconx .
# コンテナを実行
docker run -it --rm reconx --help
使用方法
基本的な使用方法
# 完全な偵察スキャン
reconx -d example.com
# 特定のモジュールでスキャン
reconx -d example.com -m subdomain,port,web
# 出力をファイルに保存
reconx -d example.com -o report.html
高度な使用方法
# カスタムスレッド数でスキャン
reconx -d example.com -t 50
# プロキシを使用
reconx -d example.com --proxy http://127.0.0.1:8080
# カスタムワードリストでスキャン
reconx -d example.com -w /path/to/wordlist.txt
# 詳細出力
reconx -d example.com -v
コマンドラインオプション
| オプション | 説明 | デフォルト |
|---|---|---|
-d, --domain | 対象ドメイン | 必須 |
-m, --modules | 実行するモジュール | all |
-o, --output | 出力ファイル | report.html |
-t, --threads | スレッド数 | 10 |
-w, --wordlist | ワードリストのパス | built-in |
--proxy | プロキシ URL | none |
-v, --verbose | 詳細出力 | false |
--timeout | リクエストタイムアウト | 30 |
モジュール
サブドメイン列挙
以下のソースを使用してサブドメインを検出します:
- Certificate Transparency ログ
- DNS ブルートフォース
- 検索エンジン
- 公開データセット
ポートスキャン
一般的なポートをスキャンし、サービスを特定します:
- TCP SYN スキャン
- サービスバージョン検出
- バナーグラビング
Web テクノロジー検出
以下を含む Web テクノロジーを識別します:
- Web サーバー
- プログラミング言語
- フレームワーク
- CMS プラットフォーム
- JavaScript ライブラリ
脆弱性スキャン
以下をチェックします:
- 既知の CVE
- 設定ミス
- デフォルト認証情報
- 公開されている機密ファイル
設定
ReconX は設定ファイル ~/.reconx/config.yaml を使用します:
# API キー
api_keys:
shodan: "YOUR_API_KEY"
virustotal: "YOUR_API_KEY"
securitytrails: "YOUR_API_KEY"
# スキャン設定
scan:
threads: 10
timeout: 30
user_agent: "Mozilla/5.0..."
# 出力設定
output:
format: "html"
directory: "./reports"
出力例
[*] example.com の偵察を開始しています
[*] サブドメインを列挙しています...
[+] 見つかりました: www.example.com
[+] 見つかりました: mail.example.com
[+] 見つかりました: api.example.com
[*] ポートをスキャンしています...
[+] 開いているポート: 80, 443, 8080
[*] Web テクノロジーを検出しています...
[+] サーバー: nginx/1.18.0
[+] フレームワーク: React, Node.js
[*] 脆弱性をスキャンしています...
[!] 見つかりました: 公開されている .git ディレクトリ
[!] 見つかりました: 古い jQuery バージョン
[*] レポートを生成しています...
[+] レポートを保存しました: report.html