Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
サプライチェーン攻撃への備えについて考えている #湘なんか
Search
すてにゃん
May 23, 2026
Technology
3.5k
3
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
サプライチェーン攻撃への備えについて考えている #湘なんか
湘.なんか #4
でLT登壇した時の資料です。
資料で紹介している自作のツール:
https://github.com/stefafafan/happa
すてにゃん
May 23, 2026
More Decks by すてにゃん
See All by すてにゃん
10年間のブログ発信を振り返って見えたWebアプリケーションエンジニアとしての軌跡
stefafafan
0
260
GitHub Copilot CLI の Rubber Duck 機能を使ってコーディングの品質をあげよう #techbaton_findy
stefafafan
2
1.6k
サービスの信頼性を高めるため、形骸化した「プロダクションミーティング」を立て直すまでの取り組み
stefafafan
1
450
「お金で解決」が全てではない!大規模WebアプリのCI高速化 #phperkaigi
stefafafan
6
3.2k
急成長を支える基盤作り〜地道な改善からコツコツと〜 #cre_meetup
stefafafan
0
4.8k
小田原でみんなで一句詠みたいな #phpcon_odawara
stefafafan
0
2.1k
dotfiles について話したい #湘なんか
stefafafan
2
550
意義から考えるObservability入門 #srenext
stefafafan
2
1.6k
高橋メソッド風の発表を生成するCLIツールをPHPで作った #phpcon_odawara
stefafafan
1
1.7k
Other Decks in Technology
See All in Technology
The Knowledge Spine: A Machine-Executable Ontology for Governed Marketing Activation
vananth22
0
120
人間はどの意思決定を手放せるのか
kawasima
15
7.6k
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
.NET WebAssemblyで実現するクライアントサイドAI推論:NuGetからViteまで、2つのエコシステムを繋ぐビルド戦略
yamachu
0
280
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
9
4.7k
GoのInterface内部構造から学ぶ!最高パフォーマンスを出すコード設計
yappli_developers
1
210
あけおめLINE 傾向とその対策
nasa9084
0
180
AIによるクリエイティブ生成を行う上での試行錯誤
plaidtech
PRO
0
160
積み重なった技術負債への挑戦 〜初手としての全社ゴト化〜
techtekt
PRO
0
1.4k
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
130
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
3
1.8k
Cloudflare Workers 向けアプリを C# で構築する ~WASM Native AOT への道~
nenonaninu
1
630
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
470
StorybookのUI Testing Handbookを読んだ
zakiyama
31
6.9k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
380
Why Our Code Smells
bkeepers
PRO
340
58k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
550
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
530
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Unsuck your backbone
ammeep
672
58k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
390
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
500
Transcript
サプライチェーン攻撃への備えについて 考えている 1 2026/05/23 湘.なんか #4 すてにゃん (@stefafafan)
脆弱性の対応に追われすぎている!
3 導入 • Linux カーネル RCE • Copy Fail, Dirty
Frag, Fragnesia, DirtyDecrypt, … • NGINX • NGINX Rift, nginx-poolslip, … • サプライチェーン攻撃 • axios, @tanstack, nx-console VS Code拡張, … 最近多すぎませんか
4 導入 • Linux カーネル RCE • Copy Fail, Dirty
Frag, Fragnesia, DirtyDecrypt, … • NGINX • NGINX Rift, nginx-poolslip, … • サプライチェーン攻撃 • axios, @tanstack, nx-console VS Code拡張, … 最近多すぎませんか
5 導入 • 推移的依存 (transitive dependency) に仕込まれていている可能性 を考慮する必要がある • 業務で利用しているリポジトリはOKでも、他でたまたまインス
トールしたパッケージが感染しているかもしれない サプライチェーン攻撃で困っていること
やるべきと思っていること
7 やるべきと思っていること • なるべく影響受けづらい形にする • 問題にすぐ気づけるようにする • 問題にすぐ対処できるようにする 多段で対応が必要そう
8 やるべきと思っていること • なるべく影響受けづらい形にする • 問題にすぐ気づけるようにする • 問題にすぐ対処できるようにする 多段で対応が必要そう
9 なるべく影響受けづらい形にする • Cooldownの設定を入れる • Dependabot / Renovate の設定、特に automerge
ガンガンする運用だと危険 • 主要 npm 系のパッケージマネージャーは最近どれも対応している • パッケージマネージャーの設定を見直す • pnpm だと、ignoreScripts: true とか trustPolicy: no-downgrade など • GitHub Actions や Dockerfile イメージ等の SHA256 でピン • https://github.com/suzuki-shunsuke/pinact • https://github.com/azu/dockerfile-pin サプライチェーン攻撃対策をする
10 なるべく影響受けづらい形にする • Nx Console の感染では、minimum-release-age の設定をしてい たが、packageManagerで設定しているpnpmのバージョンが古す ぎてbypassされてしまっていた •
https://nx.dev/blog/nx-console-v18-95-0-postmortem • 業務で使ってるリポジトリで設定していても、例えば趣味で他の OSSなどを手元で npm i するだけで感染とかも全然あり得る 設定したから安心はできない
11 なるべく影響受けづらい形にする • 開発者の端末でも不意に新しいバージョンが入ってこないように ガードする • Takumi Guard や AikidoSec/safe-chain
を開発者全員のPCに MDM (モバイルデバイス管理) で一括でセットアップする等 • しかし VS Code 拡張とかはこれとはまた別の対応が必要 開発環境も対策を実施する
12 やるべきと思っていること • なるべく影響受けづらい形にする • 問題にすぐ気づけるようにする • 問題にすぐ対処できるようにする 多段で対応が必要そう
13 問題にすぐ気づけるようにする • サプライチェーン攻撃は影響の範囲が広すぎて、大丈夫かどうか判 断が難しい • GitHub Orgにある全てのリポジトリは問題ないか? • CI/CDで含まれてしまっていないか?
• 開発者の端末に含まれていないか? 影響の有無を確認したい
14 問題にすぐ気づけるようにする • ひとまず該当バージョンのパッケージがリポジトリに含まれていそ うかを調べたい • npmの場合は lockfile や node_modules
を見に行く必要がある • 1つのリポジトリだけならまだしも大量にある時に一括で調べる 方法がほしい 影響の有無を確認したい
15 問題にすぐ気づけるようにする • pnpm list https://pnpm.io/cli/list • --depth オプションをつけることで、transitive dependency
の バージョンも確認できる (無限に探索したい場合は Infinity) • --parseable もつけることで一覧表示にして grep で探しやすい pnpm でインストールされているパッケージのバージョンを確認する
16 問題にすぐ気づけるようにする • 例: pnpm list --depth=Infinity --parseable | grep
axios • 出力例: /Users/stefafafan/…/my_project/node_modules/.pnpm/
[email protected]
/node_modules/axios • これを、全部のリポジトリで実施して確認することになりそう pnpm でインストールされているパッケージのバージョンを確認する
17 問題にすぐ気づけるようにする stefafafan/happa というツールを作成した https://github.com/stefafafan/happa
18 問題にすぐ気づけるようにする • pnpm を入れる必要がない、オプションを指定しなくても grep し やすいフォーマットでバージョンを出力してくれる • `happa
axios` の出力結果例: my_project axios installed 1.16.1 my_project axios resolved 1.16.1 stefafafan/happa の便利なところ
19 問題にすぐ気づけるようにする • 例: pnpm を利用しているリポジトリに対して一括で実行したい: find . -mindepth 2
-name pnpm-workspace.yaml -print \ | sed 's#/pnpm-workspace.yaml$##' \ | happa --repo - axios • ※ お試しで作ったので、まだ業務では使ったことない pnpm でインストールされているパッケージのバージョンを確認する
20 やるべきと思っていること • なるべく影響受けづらい形にする • 問題にすぐ気づけるようにする • 問題にすぐ対処できるようにする 多段で対応が必要そう
21 問題にすぐ対処できるようにする • 認証情報が漏れてもクリティカルな問題にならないようにしてお く、棚卸ししておく • 不要なライブラリの棚卸し • 利用していないリポジトリはArchiveしておく •
一括でバージョンアップ等作業できるように準備 • インシデント発生時のシミュレーション・訓練 とにかく備える
22 問題にすぐ対処できるようにする • 一斉バージョンアップはDevinにやらせる? • そもそも全リポジトリはDevinにつながっているのか?対応漏れ はないか? • Org配下のリポジトリを一括でcloneして対応したほうが確実? 複数リポジトリの一括対応
23 問題にすぐ対処できるようにする • 開発者や従業員のPCに入っているライブラリを一括でアップデー トするには • MDM (モバイルデバイス管理) でアップデートする? •
バージョンだけ取得して対象者に声がけする? • 運用をあらかじめ決めておいたほうが良さそう 開発者のPCの対応
24 まとめ
25 • サプライチェーン攻撃への備えを色々とやっていきましょう • クールダウンの設定をするだけで終わりではなく、いつか感染する 想定で備えよう まとめ