Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

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

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
Tweet

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