
CVE-2026-82329(JFrog Artifactory)のPoCおよび検証ツール。空の署名鍵でJWTを偽造して管理者トークンを取得し、アクセスを検証します。また、スレッドを使用した複数ターゲットのスキャンをサポートします。
CVE-2026-82329 の影響を受ける JFrog Artifactory セルフホスト型インストールを特定するための PoC および検証ツールです。
このツールは、以下の認証チェーンを検証します:
このプロジェクトは、正当なセキュリティ テスト、パッチ検証、およびインシデント対応を目的としています。所有していないシステム、またはテストする書面による許可がないシステムに対して実行しないでください。
この CVE は、パッチが適用されていないセルフホスト型 Artifactory インストールに影響します。Artifactory Cloud は修正済みです。
修正済みとして記録されているバージョン:
修正バージョンはリリース ラインによって異なる場合があります。環境内のパッチ ステータスを確認するには、公式の JFrog アドバイザリを信頼できる情報源として使用してください。
-token オプションは、管理者トークンをターミナルに表示します。この出力は機密の認証情報として扱ってください。-create-admin オプションは、永続的な管理者アカウントを作成するため、破壊的です。テスト環境、またはインシデント対応手順で必要な場合にのみ使用してください。外部の Go 依存関係はありません。このプログラムは Go 標準ライブラリを使用します。
このプロジェクトをテスト マシンにクローンまたはコピーし、次のコマンドでビルドします:
go build -o cve-2026-82329 CVE-2026-82329.go
Go 標準フォーマットをチェックして実行するには:
gofmt -w CVE-2026-82329.go
go vet ./...

./cve-2026-82329 -u https://artifactory.example.com:8082
URL スキームは省略できます。省略した場合、プログラムは HTTP を使用します:
./cve-2026-82329 -u 192.0.2.10:8082
ターゲット ファイルには、1 行に 1 つの URL が含まれます。空行と # で始まる行は無視されます。
https://artifactory-a.example.com:8082
https://artifactory-b.example.com:8082
# 現在無効になっているラボ ターゲット
指定したワーカー数でスキャンを実行します:
./cve-2026-82329 -l urls.txt -threads 8
cat hosts.txt | ./cve-2026-82329
スキームの有無にかかわらず、有効なホストを持つ URL を使用できます。
./cve-2026-82329 -u https://artifactory.example.com:8082 -token
このオプションは、トークンが実際にさらなる検証に必要な場合にのみ使用してください。トークンを共有しないでください。
./cve-2026-82329 \
-u https://artifactory.example.com:8082 \
-create-admin audit-user:'テスト認証情報を使用'
値の形式は user:pass です。認証情報はシェル履歴やプロセス リストに表示される可能性があるため、制御された環境でのみ使用してください。この機能は、Artifactory Pro または Enterprise エディションに依存する場合があります。
./cve-2026-82329 -u https://artifactory.example.com:8082 -verbose
短いエイリアスは -v です。このモードは、リクエスト、レスポンス、偽造された JWT、およびトークンのクレームを記録します。すべての出力を機密データとして扱ってください。
| オプション | デフォルト | 説明 |
|---|---|---|
-u URL | 空 | ターゲットのベース URL。繰り返し指定可能 |
-l FILE | 空 | ターゲット URL のリストを含むファイル |
-threads N | 8 | 並列ワーカー数 |
-timeout N | 20 | 各リクエストのタイムアウト(秒) |
-token | false | 取得した管理者トークンを表示 |
-create-admin user:pass | 空 | 永続的な管理者アカウントを作成 |
-verbose | false | リクエスト、レスポンス、クレームの詳細を記録 |
-v | false | -verbose のエイリアス |
VULN: 参加が成功し、管理者証明エンドポイントが HTTP ステータス 200 を返しました。SAFE: 参加が成功しませんでした。たとえば、ターゲットがパッチ適用済みである、空のキーを使用していない、または該当する Artifactory ではない場合です。INFO: 参加は成功しましたが、管理者証明で決定的な結果が得られませんでした。バージョンと構成を手動で確認してください。FAIL: ターゲットに到達できないか、URL が無効です。SAFE ステータスは、バージョンと構成の検証の代わりにはなりません。INFO ステータスは、さらなる調査が必要な発見事項として扱う必要があります。
-threads と -timeout を調整してください。このリポジトリではライセンスは指定されていません。再配布または他の製品へのコード統合を行う前に、プロジェクト所有者に連絡してください。
このコードは、セキュリティ研究と許可されたテストのために提供されています。作成者および貢献者は、このツールの使用から生じる不正使用、損害、データ損失、または法律違反について責任を負いません。
Gagaltotal666 - GhostGTR666