Upgrade to Pro — share decks privately, control downloads, hide ads and more …

バグハンター視点によるサプライチェーンの脆弱性

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
Avatar for morioka12 morioka12
December 04, 2025

 バグハンター視点によるサプライチェーンの脆弱性

Findy TECH BATON「あなたの知らない ”サプライチェーン攻撃”を語る セキュリティ LT Night」
https://findy.connpass.com/event/375960/

Avatar for morioka12

morioka12

December 04, 2025

More Decks by morioka12

Other Decks in Technology

Transcript

  1. Findy TECH BATON「バグハンター視点によるサプライチェーンの脆弱性」@scgajge12 1 あなたの知らない”サプライチェーン攻撃”を語る セキュリティ LT Night (コラボ企画) Findy

    TECH BATON「バグハンター視点によるサプライチェーンの脆弱性」@scgajge12 Findy TECH BATON × セキュリティ若⼿の会 2025年12⽉4⽇(⽊) morioka12 (@scgajge12) バグハンター視点による サプライチェーンの脆弱性
  2. Findy TECH BATON「バグハンター視点によるサプライチェーンの脆弱性」@scgajge12 2 Profile Name:森岡 優太 (Yuta Morioka) SNS

    :morioka12 (@scgajge12) • Job:Security Engineer ◦ 2020~2023:Web や Cloud などの脆弱性診断 ◦ 2023~2025:Web ペネトレーションテスト ◦ 2025~ now:セキュリティ事業(PS)の BizDev, コンサル • Admin: ◦ セキュリティ若⼿の会  (共同創設者 & 幹事1期) ◦ Bug Bounty JP Podcast (ホスト & スピーカー) • Other: ◦ Bug Bounty Hunter since 2020 ◦ AWS Community Builder since 2024 (Security) https://scgajge12.github.io/
  3. Findy TECH BATON「バグハンター視点によるサプライチェーンの脆弱性」@scgajge12 4 ソフトウェアサプライチェーンの脆弱性 [前提パス] 簡略概要 “Software Supply Chain”

    の “脆弱性” ソフトウェアの開発から提供、運⽤までの 全要素 (コード、システム、開発環境、⼈、組織) セキュリティ上の弱点
  4. Findy TECH BATON「バグハンター視点によるサプライチェーンの脆弱性」@scgajge12 5 ソフトウェアサプライチェーンの脆弱性 [前提パス] 主な脅威フェーズ ソース • 依存ライブラリの

    既知の脆弱性 ◦ Log4Shell • 新規コンポーネント の悪意のある混⼊ ◦ タイポ スクワッティング スロップ スクワッティング (react-dom → reac-dom) ビルド(環境) • CI/CDパイプラインの 侵害 ◦ ビルド環境の改ざん • ソースコード リポジトリの侵害 ◦ 認証情報の漏洩 配布 • アップデート サーバーの侵害 ◦ ⽔飲み場型攻撃 • コンテナレジストリ の脆弱性 ◦ 不正なコンテナイメージ
  5. Findy TECH BATON「バグハンター視点によるサプライチェーンの脆弱性」@scgajge12 8 ソフトウェアサプライチェーンの脆弱性 バグハンターの主な調査プロセス ①情報収集  許可された調査対象(企業)  から情報収集する •

    ソース:サブドメイン, ディレクトリ, ファイル, Prod/Dev/Stg 環境 • 環境:GitHub, GitLab, npm/PyPI/Maven … • 配布:Docker Hub, S3 , API ②解析 ファイルやコンテナなどを 特定して解析する • JavaScript, Source Map • package.json, ライブラリ • パッケージ, アカウント • .git, env, コンテナイメージ   →脆弱性, 設定不備, 認証情報 ③検証 悪⽤して最終的に脅威を ⽰せるかを検証する • 3要素 (CIA) ◦ 機密情報の漏洩 ◦ データの改ざん ◦ サービスの停⽌
  6. Findy TECH BATON「バグハンター視点によるサプライチェーンの脆弱性」@scgajge12 9 ソフトウェアサプライチェーンの脆弱性 バグハンターの調査プロセス(例1) JavaScript (npm)の場合 1. ドメイン上から

    JavaScript や package.json のファイルを列挙する a. JS file は抽象構⽂⽊(AST)に変換させたり静的解析する 2. npm organisation の名前空間とリポジトリの公開状況を確認する a. パブリックパッケージ, プライベートパッケージ 3. 乗っ取り可能なパッケージ名が存在する場合 a. 名前空間を乗っ取り、悪意のあるコードを含むパッケージを登録する 4. ゴール:ドメイン上のサービスで悪意のあるコードを実⾏させる
  7. Findy TECH BATON「バグハンター視点によるサプライチェーンの脆弱性」@scgajge12 10 ソフトウェアサプライチェーンの脆弱性 バグハンターの調査プロセス(例2) S3 bucket の場合 (Web

    スキミング) 1. ドメイン上や Google 検索で企業が保有する S3 bucket を収集する a. JS file から列挙したり、GitHub や Google で検索したりなど 2. S3 bucket に書き込み権限が許可されているかを検証する a. もしくは既に存在しない S3 bucket 名が使われたままでないか 3. S3 bucket が書き込み可能 or 乗っ取れる場合 (Subdomain Takeover) a. JS file を上書きで改ざんする b. その JS file が Web アプリケーション上に script タグで埋め込まれている 4. ゴール:悪意のあるコード(XSS やスキミング)により、機密情報を窃取する
  8. Findy TECH BATON「バグハンター視点によるサプライチェーンの脆弱性」@scgajge12 11 ソフトウェアサプライチェーンの脆弱性 バグハンターの調査プロセス(例3) コンテナイメージの場合 1. Docker Hub

    などから Docker イメージをダウンロードする 2. イメージ解析ツール(Dive や Dlayer)を⽤いて各レイヤーを調査する 3. ソースコード/.git/env などから認証情報が含まれている場合 a. GitHub Actions の認証トークン (write) → パイプラインの悪⽤ b. プライベート npm トークン (write) → プライベートパッケージの悪⽤ 4. ゴール:悪意のあるコードの挿⼊により、機密情報を窃取する a. read みの場合:読み取れるソースから脆弱性や認証情報がないかを調査する(loop)
  9. Findy TECH BATON「バグハンター視点によるサプライチェーンの脆弱性」@scgajge12 12 ソフトウェアサプライチェーンの脆弱性 バグハンターの調査プロセス(例4) ソースコード全般の場合 1. ソースコードから読み込まれているパッケージ名を列挙する 2.

    タイポ スクワッティング/スロップ スクワッティングを特定する a. 存在しないパッケージ名/リポジトリ名/アカウント名/サブドメイン名 3. ゴール:誤字名で悪意のあるパッケージ等を登録して、                読み込ませて機密情報を窃取する  🤖最近では LLM によって⽣成されたコードにより、    存在しないパッケージ名が記載される事例あり / 幻覚(ハルシネーション)
  10. Findy TECH BATON「バグハンター視点によるサプライチェーンの脆弱性」@scgajge12 14 ソフトウェアサプライチェーンの脆弱性 バグハンターによる調査報告の事例 今回紹介する事例 ⼆選 1. 依存関係の混乱

    (Dependency Confusion) a. 悪意のある npm パッケージをより⾼いバージョン番号でアップロードすることで、 パッケージマネージャーに誤ってそちらをインストールさせて任意コード実⾏ (RCE) 2. 認証情報の悪⽤ (Credential Abuse) a. Docker イメージから、GHS Token や以前のレイヤーに残留していた プライベート npm トークンを抽出し、内部パッケージを汚染して任意コード実⾏ (RCE)
  11. Findy TECH BATON「バグハンター視点によるサプライチェーンの脆弱性」@scgajge12 15 ソフトウェアサプライチェーンの脆弱性 バグハンターによる調査報告の事例1 💀依存関係の混乱 / 💰報奨⾦$30,000〜$40,000 /

    🏢PayPal, Apple など 1. GitHub などからターゲット企業の package.json ファイルを収集する a. パブリックパッケージ名とプライベートパッケージ名を発⾒! 2. npm の公開リポジトリには存在しないため、悪意のあるパッケージを公開する a. 特定したプライベートパッケージと同じ名前で、かつより⾼いバージョン番号を持つ 悪意のあるパッケージを公開リポジトリにアップロードする 3. 依存性のハイジャック a. パッケージマネージャーは、設定に基づき、パブリックとプライベートの両⽅から パッケージを検索する b. パッケージが両⽅で⾒つかった場合、バージョン番号が最も⾼い⽅をインストールする 仕組み (デフォルト設定や誤った設定)により、悪意あるパッケージが優先される https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610
  12. Findy TECH BATON「バグハンター視点によるサプライチェーンの脆弱性」@scgajge12 17 ソフトウェアサプライチェーンの脆弱性 バグハンターによる調査報告の事例2 💀認証情報の悪⽤ / 💰報奨⾦$50,500 /

    🏢⾮公開 1. ドメイン上から JavaScript ファイルをスクレイピングして依存関係を解析する a. プライベートパッケージとその npm organization を発⾒! 2. GitHub や Google でプライベートパッケージを含むコードを検索する a. Google 検索で DockerHub から Docker イメージを発⾒! 3. Docker イメージを各レイヤーまで深く解析する (.git/env/package.json/Dockerfile/.npmrc) a. .git/config に GitHub Actions トークンを発⾒! b. ビルドレイヤーに残っていた .npmrc からプライベート npm トークン (write)を発⾒! 4. Exploit PoC: a. npm: プライベート npm パッケージにバックドア, npm install コマンドで任意コード実⾏ b. CI/CD: 機密性の⾼い環境変数の読み取り, 認証情報の窃取, 権限昇格 https://www.landh.tech/blog/20250211-hack-supply-chain-for-50k/
  13. Findy TECH BATON「バグハンター視点によるサプライチェーンの脆弱性」@scgajge12 18 コンテナ内の .git/config Docker イメージ のビルドレイヤー (解析画⾯)

    Dockerfile が .npmrc ファイルをコピーして 最後のビルドステップでそれを削除していた → キャッシュが残っていた!
  14. Findy TECH BATON「バグハンター視点によるサプライチェーンの脆弱性」@scgajge12 20 ソフトウェアサプライチェーンの脆弱性 バグハンターによる着⽬点 • 脆弱な設定による依存関係の悪⽤ ◦ OSS,

    依存ライブラリ, パッケージマネージャー • タイポ スクワッティングや放置リソースによる悪意のある混⼊ ◦ パッケージ名, リポジトリ名, イメージ名, アカウント名, サブドメイン名 • ハードコードや証跡ログからの認証情報の悪⽤ ◦ ソースコード, コンテナイメージ, 隠しディレクトリファイル • CI/CD やインフラの設定不備による実⾏処理の改ざん ◦ 権限設定の不備, 認証設定の⽋陥, 署名検証の不備      🔑 脆弱性, タイポ, 設定不備, 検証不備, 認証情報の露出 まとめ
  15. Findy TECH BATON「バグハンター視点によるサプライチェーンの脆弱性」@scgajge12 21 (プチ紹介) DEF CON 33 - Bug

    Bounty Village “Advanced Offensive Strategies in the Software Supply Chain” セキュリティエンジニアやバグハンター向けの60分講演 (2025/08/09): 🎥 DEF CON 33 - Bug Bounty Village - Breaking the Chain - Advanced Offensive Strategies in the Software Supply Chain - Roni Carta (@lupin) & Adnan Khan.mp4
  16. Findy TECH BATON「バグハンター視点によるサプライチェーンの脆弱性」@scgajge12 22 ソフトウェアサプライチェーンの脆弱性 Official References • OWASP Cheat

    Sheet Series: ◦ OWASP Software Supply Chain Security ◦ OWASP Third Party JavaScript Management Cheat Sheet ◦ OWASP NPM Security Best Practices ◦ OWASP Docker Security Cheat Sheet ◦ OWASP CI/CD Security Cheat Sheet • Google, OpenSSF: SLSA (Supply-chain Levels for Software Artifacts) • MITRE ATT&CK: Compromise Software Supply Chain • GitHub: Supply Chain Security • AI / LLM Security: ◦ OWASP Top 10 for LLM Applications (LLM03:2025 Supply Chain) ◦ Google Research Securing the AI Software Supply Chain ◦ Promptfoo LLM Supply Chain Security