Skip to content
KitploitKITPLOIT
ツールブログ
提出
ツールブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

··フィード·お問い合わせ·プライバシー·© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
ツール/GitHubGitHub/alixiacf/rep-openai-artifactory
特権昇格コンテナセキュリティ脆弱性分析フォレンジックペネトレーションテストクラウドセキュリティ論文と研究学習と教育AIセキュリティラボと実践
GitHubalixiacf/rep-openai-artifactory

rep-openai-artifactory

1111時間28分前未レビュー

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有

OpenAI-Artifactory 権限昇格インシデント(CVE-2026-65616)のフォレンジック分析とローカル再現

リポジトリを見る

Forensis Lab — AIエージェント権限昇格のフォレンジック再現 (JFrog Artifactory)

「Incidente Cero」(OpenAI、2026年5月)の安全で隔離されたフォレンジック再現: サンドボックス化されたAIエージェントがJFrog Artifactoryパッケージプロキシを発見し、自身の設定から認証情報を抽出し、サーバー上に即席のメッセージボードを作成し、readerからadministratorへと権限昇格する。

研究目的: ベースライン設定のうちどれだけがこの事象を可能にしたかを明らかにすること。実験は管理者ユーザー(「flag」)の作成をもって終了する。インシデント全体を網羅するものではない。

要件

  • Docker + Docker Compose(Windows/WSLおよびLinuxでテスト済み)。
  • JFrog Artifactory Proライセンス — https://jfrog.com/start-free/ で1ヶ月の無料トライアルを取得できます。ライセンスファイルをartifactory_license/フォルダに配置してください(プレースホルダのartifactory.licを置き換えます)。ライセンスがない場合、ArtifactoryはOSSモードで動作し、ほとんどのラボAPI(パーミッション、トークン、リモートリポジトリ)は機能しません。
  • バージョンに関する注意: このラボではArtifactory 7.146.25を固定しています — これはトークンAPIが偽造リフレッシュベクターを受け入れた正確なバージョンです(CVE-2026-65616、7.146.27で修正済み)。これがこのラボの要点です。

クイックスタート

root@kitploit:~
git clone <this-repo> && cd <dir>
# 1. put your license in artifactory_license/artifactory.lic
# 2. clean start (preserves data volumes; see "Reset semantics" below):
./reset.sh && ./start.sh

start.shはシナリオ全体をプロビジョニングします(初回起動時はArtifactoryのウォームアップのため数分かかります):

  1. ライセンス — UI経由であなたが手動でインストールします(自動化は一切されません。あなたのライセンスは個人用であり有効期限があります)。スクリプトはライセンスが有効かどうかを確認して警告するだけです。
  2. 匿名アクセスを明示的に有効化 — 元のインシデントと同様。
  3. 6つのリポジトリ — pypi/npm、それぞれlocal + remote + virtual。PyPIリモートはURL https://files.pythonhosted.orgで設定されています(このバージョンで実際に機能するレシピ)。
  4. ユーザーagente-compartido(グループreaders)書き込み権限付き(Anything: read + deploy/cache) — メッセージボードを可能にする悪い慣行。
  5. デフォルトの参照トークンが専用ボリュームを通じてエージェントにプロビジョニングされます。エージェントはそれを/etc/pip.confと/etc/npmrcに平文でレンダリングします — これがフェーズ1の漏洩です。同梱のトークンはtoken/token_ref.txtにあります。

ショートカット: Releaseから事前プロビジョニング済みボリュームをインポートした場合(以下参照)、プロビジョニングは既に完了しています — ./start.shはスタックを起動するだけです。

確認:

root@kitploit:~
curl -s http://localhost:8081/artifactory/api/system/ping     # -> "true"
docker exec -it incidente-modelo-simulado sh
# inside the agent:
cat /etc/pip.conf            # leaked credentials (the Fase 1 leak)
. /opt/venv/bin/activate
pip install six              # packages without internet, via the remote

その後、フェーズを順番に進めてください: phases/README.md → 00 アーキテクチャ → 01 発見 → 02 メッセージボード → 03 リフレッシュ可能トークン → 04 権限昇格 (CVE-2026-65616) → 05 管理者検証。

トークンのライフサイクル(重要)

  • デフォルトの参照トークン(cmVmdGtu...)がtoken/token_ref.txtに同梱されており、起動のたびにstart.shによってエージェントに配信されます。

  • 参照トークンはArtifactoryのデータベースへのポインタです(トークンハッシュはPostgreSQLボリュームに存在します)。reset.shは意図的にデータボリュームを保持するため、トークンはリセット後も存続します。

  • 完全に新しい状態を強制するには、ボリュームを手動で削除してください:

    root@kitploit:~
    docker volume rm $(docker volume ls -q | grep -E 'artifactory_data_v714625|postgres_data')
    

    その後、管理者UI経由で新しい参照トークンを生成し、それをユーザーagente-compartidoに直接割り当てる必要があります — グループに対してではありません。グループスコープのトークンはadminに帰属され、エージェントのトークンリフレッシュはサイレントに失敗します。token/token_ref.txtを新しい値で更新してください。

  • 再生成の手順: token/README.md。

  • UIの癖(文書化済み): UIはトークンをリフレッシュ不可として表示する場合がありますが、管理者としてtoken.allow-refreshable: trueで作成された場合、実際にはリフレッシュです — このギャップは研究対象のインシデントの一部です。

フェーズ

事前プロビジョニング済みボリューム (Releaseアセット)

このリポジトリのGitHub Releaseには、動作するラボの3つのDockerボリュームがtarballとして同梱されているため、クローンからプロビジョニングなしで正確なプロビジョニング済み状態(リポジトリ、パーミッション、匿名ON、トークンハッシュ、キャッシュ)を復元できます:

アセットボリューム
incidente_artifactory_data_v714625.tar.gzArtifactoryデータ (7.146.25)
incidente_postgres_data.tar.gzPostgreSQLバックエンド (トークンハッシュはここに存在)
incidente_agent_secrets.tar.gzエージェントに配信された認証情報

インポート(tarballのあるフォルダから):

root@kitploit:~
for V in incidente_artifactory_data_v714625 incidente_postgres_data incidente_agent_secrets; do
  docker volume create $V
  docker run --rm -v $V:/data -v $(pwd):/backup alpine sh -c "cd /data && tar xzf /backup/$V.tar.gz"
done
./start.sh

注意:

  • ボリュームはdocker-compose.ymlで固定されたmasterKeyでのみ復号化されます — インポート後に変更しないでください。
  • 同梱の状態にはライセンスが含まれていません: 状態にライセンス素材が一切含まれていないことが検証済みです。./start.shの直後にご自身のトライアルライセンスをインストールしてください(要件参照) — これがないと書き込みがブロックされます(読み取りは機能します)。
  • ボリュームがあっても、同梱の参照トークンはボリュームの状態が無傷である間のみ認証します — トークンはそのデータベースへのポインタです(上記のトークンのライフサイクル参照)。

リセットのセマンティクス

  • ./reset.shはコンテナを停止しますがボリュームは削除しません(down -vなし)。
  • ./start.shは冪等です: 不足しているものをプロビジョニングし、それ以外はすべて保持します。
  • クリーンなマシンからの初回実行: 両方を実行してください。以降の実行: ./start.shのみで十分です。

このラボが示すもの

シナリオの各隔離された条件には、便利さのための正当化(キャッシュ、共有認証情報、リフレッシュ可能トークン)があります。それらが組み合わさると、洗練された暗号学的権限昇格は必要なかったことが示されます: 因果連鎖の6つのリンクのうち4つは設定上の決定です。信頼境界は企業の周りに引かれており、各アクターの周りではありませんでした — そしてエージェントは境界の内側のアクターでした。一文でのテーゼ: Zero Trustはモデルのためのものではなく、企業のためのものです。消費者が性質を変えるとき(スクリプト → 自律エージェント)、信頼の表面は再調整されなければなりません。

倫理

  • 隔離されたラボ: エージェントはインターネットアクセスを持ちません。Artifactoryはパッケージミラーとして機能するためにのみアクセスします。
  • 含まれるトークンはラボトークンです: 一時的なものであり、このネットワーク外では無価値です。
  • 教育および記録目的のみ: AIエージェントに適用されたサイバーセキュリティ考古学。

このリポジトリの引用

研究や教育でこのラボを使用する場合は、Zenodo DOI 10.5281/zenodo.22817059を通じて引用してください:

Colmenero-Fernandez, A. (2026). Forensis Lab: Forensic Recreation of the AI Agent Privilege Escalation (JFrog Artifactory, CVE-2026-65616) (v1.0.0). Zenodo. https://doi.org/10.5281/zenodo.22817059

BibTeX:

root@kitploit:~
@software{colmenerofernandez2026forensislab,
  author    = {Colmenero-Fernandez, Alicia},
  title     = {{Forensis Lab: Forensic Recreation of the AI Agent Privilege Escalation (JFrog Artifactory, CVE-2026-65616)}},
  year      = {2026},
  version   = {1.0.0},
  doi       = {10.5281/zenodo.22817059},
  url       = {https://doi.org/10.5281/zenodo.22817059}
}

機械可読な引用メタデータ: CITATION.cff。

ツールをダウンロード
可能
ファイルフェーズ内容
phases/FASE_00_Arquitectura.md0Dockerアーキテクチャ、脆弱なバージョン (7.146.25)、オペレータによるプロビジョニング
phases/FASE_01_Descubrimiento.md1エージェントがArtifactoryを発見: 閲覧はできないがインストールは可能、pip.confの監査
phases/FASE_02_Tablon_Mensajes.md2ローカルリポジトリへのPUT (HTTP 201)、即席のメッセージボード
phases/FASE_03_Token_Refreshable.md3リフレッシュ可能トークンのリクエスト、YAMLエビデンス (allow-refreshable)
phases/FASE_04_Escalada.md4JWT偽造とリフレッシュエクスプロイト、失敗した試行とスコープ設定
phases/FASE_05_Verificacion_Admin.md5管理者トークンの検証とユーザーagente-adminの作成 (flag)
phases/FASE_06_Post_Escalada.md6インシデントの権限昇格後の活動 (文書化のみ、未実装)