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

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

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

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

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
trivysupplychainanalysis — 形式的に検証された、Trivy/TeamPCPのGitHub Actionsサプライチェーン攻撃(CVE-2026-33634)の定量的再構築:TLA+/TLCインシデントモデル、PRISM確率解析、および189ワークフローコーパス研究。 | Kitploit
ツール/GitHubGitHub/dfs333/trivysupplychainanalysis
脆弱性分析脅威インテリジェンスサプライチェーンセキュリティ論文と研究学習と教育
GitHubdfs333/trivysupplychainanalysis

trivysupplychainanalysis

形式的に検証された、Trivy/TeamPCPのGitHub Actionsサプライチェーン攻撃(CVE-2026-33634)の定量的再構築:TLA+/TLCインシデントモデル、PRISM確率解析、および189ワークフローコーパス研究。

リポジトリを見る
1ヶ月前未レビュー

人気

すべて見る →

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

すべてのツールを探索

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

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

マルチステージCI/CDサプライチェーン攻撃の定量分析

形式的に検証され、定量的に再構築された2026年3月のTrivy / "TeamPCP" GitHub Actionsサプライチェーン侵害(CVE-2026-33634)— TLA+でモデル化し、TLCで網羅的にチェックし、PRISM確率モデル検査器で定量化。

model checking PRISM corpus CVE verify DOI

論文内のすべての数値はこのリポジトリから再生成されます。 モデル、確率、コーパス測定、キャリブレーションはすべて、ソースから各レイヤーごとに単一のコマンドで再現可能です。


何が起こったか、そしてこれが何を証明するか

広く使われているAction(trivy-action / )上の浮動バージョンタグを移動できた攻撃者は、何千もの下流パイプラインが次回の定期実行時に攻撃者の制御するコードを実稼働認証情報とともに実行するように仕向け、シークレットを漏洩させ、それが第二段階のnpmワームの基となりました。このプロジェクトは、インシデントレポートが形式的に答えられない質問を問います。

setup-trivy
  • 完全 vs. 部分的な認証情報のローテーション。 モデルは、実際に行われた部分的なローテーションでは攻撃を防げず、一方完全なローテーションでは防げることを証明します—これは文書化されたインシデントの原因と一致します。
  • SHAピン留めはパイプラインを分離する。 コミットSHAでピン留めされたパイプラインは、たとえ隣接パイプラインが侵害され、盗まれた認証情報が有効であり続けても、決して侵害されないことが証明されます—侵害はピン留めされていないサブセットに封じ込められます(形式的な分離定理 + 残存攻撃対象領域を定量化する精緻化関係)。
  • 可能性、速度、範囲。 正確な侵害確率、期待侵害時間、二段階のnpm伝播カスケード、閉形式のパラメトリック結果を、実際の悪意のあるパッケージ頻度データでキャリブレーション。
  • この発見は自動探索に耐える。 LLM提案者(Claude Opus 4.8)が防御側ポリシー空間を検証済みPRISMオラクルに対して探索すると、人間の指導なしに同じ最小コストで確実に安全なポリシーに収束します:残存認証情報をローテーションする。提案者が提案し、モデル検査器が決定します。

主要な結果

質問結果
文書化された攻撃は到達可能か?はい — TLCは正確な3ステップの調査証跡を返す
部分的なローテーションで十分か?いいえ(NoExfiltrationは失敗);完全ローテーションならはい
混合集団におけるSHAピン留め8,185状態で分離が成立;侵害は封じ込められる
P(侵害)、脆弱な構成1.0;E[時間] 6日;P(≤30日) 0.9985
マルチステージカスケードP(ステージ2到達) = q;E[最初の下流] 16日;ローテーション → 0
パラメトリック(閉形式)E[侵害までの日数] = (p+1)/p;P(ステージ2) = q(正確)
レイヤー1コーパス(189実ワークフロー)浮動タグの割合 f = 0.3698;構成カバレッジ 88.2%
キャリブレーション(OpenSSF/OSV)npm = 214,497件(94.2%);2026年2月→3月: 329 → 1,048(×3.19倍)
自動軽減策探索LLMが提案、PRISMが検証 → ローテーションのみが最適(スコア −0.05)、4ラウンドで収束

三層検証

  1. 構造的忠実性 (TrivySupplyChain/layer1/) — 実際のGitHub Actionsワークフローのコーパスに対する静的解析器が、モデル化された構造がどの程度の頻度で出現するかを測定(14/14単体テスト;浮動タグ割合はレイヤー3に供給)。
  2. インシデント再構築 (TrivySupplyChain/) — TLA+モデル + 10のTLC構成が攻撃を再現し、どの軽減策が攻撃を封じるかを証明(到達可能性、分離、精緻化、残存表面)。
  3. 予測的キャリブレーション (TrivySupplyChain/layer3/) — PRISM MDP/DTMCが確率、期待時間、マルチステージカスケードを計算し、OpenSSF悪意パッケージデータセットと文書化された2月→3月のタイムラインに対してキャリブレーション。

リポジトリ構成

root@kitploit:~
TrivySupplyChain/            モデル + 検証ハーネス
  TrivySupplyChain.tla       コアTLA+遷移システム
  MCTrace.tla, SecureWorkflow.tla, MCRefine.tla
  cfg_*.cfg                  10個のTLC構成(検証テーブル)
  tools/tla2tools.jar        バンドル済み TLA+ / TLC 2.19
  layer1/                    コーパス解析器(Python)+ フィクスチャ + テスト
  layer3/                    PRISMモデル (.prism/.props) + バンドル済みPRISM 4.10.1
  asi_evolve/                LLM軽減策探索ループ (run_evolve.py)、検証済みPRISMオラクル上で動作 + アーカイブされた実行例 (example_run.json)
  run-all.ps1                10個すべてのTLCチェックを再現
  env-check.ps1              ワンショット環境診断
Trivy-USENIX-paper/          USENIX論文: main.tex(単独コンパイル可)、main.pdf、
                             および記入済み検証結果 .docx
Trivy-TeamPCP-Dossier.md     インシデント調査報告書 — ソース付きの証拠ベース(読み取り専用)

layer2/ はどこに? レイヤー2(インシデント再構築)は TrivySupplyChain/ のトップレベルです — TrivySupplyChain.tla モデル、cfg_*.cfg 構成、MC*.tla / SecureWorkflow.tla モジュール、および run-all.ps1。最初にコアとして構築されたため、ルートにあります;layer1/ と layer3/ はその周りに追加された検証レイヤーです。


再現する

要件: Windows + JDK(JAVA_HOME 設定);Python 3.10+(レイヤー1とキャリブレーション);Node.js(Word文書の再生成のみ);Git for Windows(PRISMのネイティブライブラリが必要とするMinGWランタイムDLLを提供)。TLA+ツールとPRISMはリポジトリにバンドルされています。

root@kitploit:~
# 0. ツールチェーンの確認
powershell -File TrivySupplyChain\env-check.ps1

# 1. レイヤー2 — 全10のTLCチェック(到達可能性、軽減策、分離、精緻化)
powershell -File TrivySupplyChain\run-all.ps1

# 2. レイヤー1 — コーパス解析(単体テスト + 測定された浮動タグ割合)
powershell -File TrivySupplyChain\layer1\run-layer1.ps1

# 3. レイヤー3 — PRISM: 確率、マルチステージカスケード、パラメトリック、キャリブレーション
powershell -File TrivySupplyChain\layer3\run-layer3.ps1

# 4. (任意)ASI-Evolve 軽減策探索 — Claude Opusがポリシーを提案し、
#    PRISMがそれぞれを検証。Anthropic SDK + APIキーが必要。
pip install -r TrivySupplyChain\asi_evolve\requirements.txt
python TrivySupplyChain\asi_evolve\run_evolve.py

レイヤー1~3は自己完結しており、APIキーは不要です。ステップ4の提案者だけがLLMです;そのPRISMオラクル(asi_evolve/evaluate.py)は単独で動作し、実際に各ポリシーをスコアリングします。

.tla、.prism、.py のソースは移植可能ですが、ランナースクリプトのみWindows PowerShellです。手動(クロスプラットフォーム)コマンドについては TrivySupplyChain/README.md を参照してください。

レイヤー3はバンドル版ではWindowsのみ。 ここでのPRISMはネイティブWindowsライブラリ(prism.dll、CUDD)とGit for WindowsのMinGWランタイムとして提供されているため、run-layer3.ps1 はWindowsでのみ動作します。Linux/macOSのレビューアはバンドルバイナリからレイヤー3を実行できません — ただし .prism/.props モデルは移植可能です:アップストリームのPRISM(https://www.prismmodelchecker.org)をインストールし、直接実行してください(例:prism layer3/trivy_mdp.prism layer3/trivy.props)。レイヤー1~2はクロスプラットフォームです(Python、およびバンドルされた tla2tools.jar はJDKがあればどこでも動作します)。


論文

📄 ブラウザで読む: main.pdf — GitHubがインラインでレンダリングします。直接ダウンロードは v1.0.0リリース に添付されています。

Trivy-USENIX-paper/main.tex はUSENIX Security二段組形式の論文原稿です。これは自己完結型(標準CTANパッケージ)で、Overleafまたは任意のTeXエンジンでコンパイルできます:

root@kitploit:~
pdflatex main.tex && pdflatex main.tex     # または: tectonic main.tex

コンパイル済み論文は main.pdf、記入済み検証レポート(Word)は QA -- Validation Results (Filled In).docx — いずれも Trivy-USENIX-paper/ にあります。


ブランチ

  • main — 現在の、修正された分析。こちらからビルドしてください。
  • pre-mercor-fix — Mercor→v1 のリラベル前のプロジェクトのアーカイブ再構築(Mercorの侵害は直接のtrivy-action実行ではなく、ステージ2のLiteLLMフォローオン経由でした)。参考用のみ;そのブランチの PRE-MERCOR-FIX.md を参照してください。

ステータスと範囲

Franklin Hanna による研究中のプレプリント(所属/メールは main.tex 内でまだプレースホルダーです)。インシデントの事実は公開調査報告書(Aqua、GHSA、CVE-2026-33634、Unit 42、Microsoft、Wiz、ReversingLabs、Endor Labs、OpenSSF/OSVなど)から引用しています。モデル化の前提とその限界は、論文の Limitations and Threats to Validity セクションで明示的に述べられています。


引用

この研究を使用する場合は、アーカイブ済みリリース(Zenodo DOI 10.5281/zenodo.21387135)を引用してください;機械可読なメタデータは CITATION.cff にあります。

root@kitploit:~
@software{hanna_2026_trivy_teampcp,
  author    = {Hanna, Franklin},
  title     = {Formal Analysis of the Trivy / TeamPCP GitHub Actions
               Supply-Chain Attack (CVE-2026-33634)},
  year      = {2026},
  version   = {v1.0.0},
  publisher = {Zenodo},
  doi       = {10.5281/zenodo.21387135},
  url       = {https://doi.org/10.5281/zenodo.21387135}
}

ライセンス

  • コードと形式手法の成果物(解析器、TLA+/PRISMモデル、スクリプト、ジェネレーター) — Apache License 2.0.
  • 論文テキストとその表現 (Trivy-USENIX-paper/) — CC BY 4.0.

バンドルされたサードパーティツールはそれぞれのライセンスに従います:PRISMはGPL(TrivySupplyChain/layer3/prism/COPYING.txt)、TLA+ツールはMITです。

ツールをダウンロード