
悪意のあるパッケージ&サプライチェーンインテリジェンス
機能 • インストール • 使い方 • depx の実行 • JSON • Discord に参加
depx は、高速で受動的なサプライチェーンインテリジェンス CLI です。このツールは、OpenSSF Malicious Packages データ(MAL-*、OSV 形式)と、X (Grok API) から収集された 1 時間ごとに更新されるライブインテリジェンスフィードを照合することで、パッケージが 既知の悪意のあるもの(ハイジャックされた公開、認証情報窃取、インストールスクリプトのバックドア)かどうかを教えてくれます。
このツールは、数秒で 4 つの質問に答えます。
depx feed(または結果を 1 行で表示する --list)による時系列のカード。--require-clean ゲート、SARIF エクスポート、バージョン付き JSON エンベロープ。ecosystem:name 参照、ベア名、またはパイプ処理されたリストをチェック。--exclude-pkg ファイル。curl -sfL https://raw.githubusercontent.com/projectdiscovery/depx/main/scripts/install.sh | sh
最新のリリースを OS/アーキテクチャ用にダウンロードします(フォールバックとして go install でビルド)。スクリプトはバイナリを検証し、必要に応じてシェル PATH を更新します。
ソースから(Go 1.25+ が必要):
git clone https://github.com/projectdiscovery/depx.git
cd depx
make build
./bin/depx --help
または、Go で直接インストール:
go install github.com/projectdiscovery/depx/cmd/depx@latest
ビルド済みバイナリは GitHub リリース ページにもあります。
depx --help
コアコマンドとフラグ:
Usage:
depx [flags]
depx [command]
Available Commands:
feed Show recently disclosed malicious packages (cards)
audit Audit dependencies for malicious packages (default: $HOME)
github Audit GitHub repositories via dependency-graph SBOM
search Search known malicious packages by name (local index)
id Lookup advisory by ID
version Show version and check for updates
update Update depx to the latest version
Global flags:
-j, --json Machine-readable JSON output
-V, --version Show version and exit
-e, --ecosystem string Restrict lookup to one ecosystem (npm, PyPI, Go, ...)
-v, --verbose Extra audit/github detail
--silent Suppress banner and version info
--no-color Disable ANSI colors
--config string Config file path
--update Update depx to the latest version
--disable-update-check Disable the update check
Default command (intelligence dashboard):
--since string Feed time window (default "3d")
-n, --limit int Dashboard/feed entry cap on default command
depx feed:
--since string Feed time window (default "3d")
-n, --limit int Result limit
--list One header line per result
depx search:
-n, --limit int Max results shown (default 25)
--list One header line per result
depx audit / depx github:
--require-clean Exit 1 if any malicious package is found
--exclude-pkg string File of ecosystem:package lines to exclude from findings
-o, --output string Write export file(s) to this path or basename
--output-format string Comma-separated export formats: json, csv, txt (default: json)
--sarif-export string Write SARIF 2.1.0 report to this path
--sbom-export string Write audited dependency SBOM (audit only)
--sbom-format string SBOM format: cyclonedx (default) or spdx
depx github:
-n, --limit int Max repos for org/user targets (default 100 with token, 10 without)
depx id:
--raw Raw OSV record only
depx # 過去 3 日間のダッシュボード
depx --since 7d # 時間枠を拡大
depx -e npm # npm のみのダッシュボード
depx feed # カードフィード(ダッシュボードなし)
depx feed --list # アドバイザリごとに 1 行
depx -j # ダッシュボード / パイプライン向け JSON
最初の実行後は即座に、ロックファイルと SBOM を ローカルの悪意のあるパッケージインデックス と照合します。パスを指定しない場合、depx は $HOME 内のプロジェクトとグローバルインストールをスイープします。
depx audit # $HOME 内のプロジェクト + グローバルインストールをスイープ
depx audit ./my-app # 単一のプロジェクトツリー
depx audit ./bom.cdx.json # CycloneDX / SPDX ファイル
npm、PyPI、Go、Cargo、RubyGems、Maven/Gradle ロックファイル、および CycloneDX / SPDX SBOM をサポートします。
誤検知を抑制する。 あなたが安全だと確認したパッケージがフラグ付けされた場合、--exclude-pkg(audit または github で)に、改行区切りの ecosystem:package エントリを含むファイルを渡すと、そのパッケージを検出結果から除外します。
depx audit ./my-app --exclude-pkg .depxignore
depx github google --exclude-pkg .depxignore
# .depxignore: 検出結果から除外するパッケージ
npm:internal-tool
PyPI:requests
*:shared-lib # '*' は任意のエコシステムに一致
GitHub の依存関係グラフ SBOM エクスポートを使用します。プライベートリポジトリと組織の探索には GITHUB_TOKEN を設定します。
depx github projectdiscovery/depx
depx github google
depx github
認証なしの GitHub アクセスは約 60 リクエスト/時間にレート制限されるため、トークンなしでの組織/ユーザースキャンはデフォルトで 10 リポジトリ(トークンありでは 100)に制限されます。GITHUB_TOKEN、GH_TOKEN、または DEPX_GITHUB_TOKEN を設定するか、-n で明示的に上限を上げると、より多くのリポジトリをスキャンできます。
depx npm:lodash
depx id MAL-2026-4343
depx search redhat
--require-clean は、悪意のあるパッケージが見つかった瞬間にゼロ以外の終了コードで終了します。
depx audit . --require-clean # 悪意のあるものがあればビルドを失敗させる
depx github google --require-clean -j
| 終了コード | 意味 |
|---|---|
0 | クリーン / 成功 |
1 | --require-clean で悪意のあるパッケージが検出された |
すべての -j 応答は、安定したバージョン管理されたエンベロープを使用するため、その上に安全に構築できます。
{
"schema_version": "1",
"command": "check",
"depx_version": "v0.1.0",
"data": {
"total": 1,
"results": [
{
"ref": "npm:evil-pkg",
"purl": "pkg:npm/evil-pkg",
"verdict": "malicious",
"confidence": "high",
"ids": ["MAL-2026-4343"],
"package_ecosystem": "npm",
"package_name": "evil-pkg",
"registry_url": "https://www.npmjs.com/package/evil-pkg",
"advisories": [
{
"id": "MAL-2026-4343",
"url": "https://github.com/ossf/malicious-packages/blob/main/osv/npm/MAL-2026-4343.json",
"summary": "Malicious code in evil-pkg (npm)",
"modified_at": "2026-06-01T12:00:00Z",
"published_at": "2026-06-01T10:00:00Z"
}
]
}
]
}
}
クリーンなパッケージは "verdict": "clean" を返します。ベア名のチェックでは、すべてのエコシステムを検索する場合に checked_ecosystems、matched_ecosystems、found_ecosystems が含まれることがあります。
スキーマは schema/v1/ にあります。
depx は MIT License の下で配布されています。
Discord に参加 • ProjectDiscovery チームが ❤️ を込めて作成
2 | 使用方法のエラー |
3 | アップストリームが利用不可 |