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
リアーキテクチャ後の障害ゼロを目指したShadow Testingの取り組み
nihonbuson
PRO
1
160
Minecraft JavaのMODをSwiftで作る
1mash0
0
190
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
4
680
研究開発部の紹介 / Sansan R&D Profile
sansan33
PRO
5
25k
AIは推し活である。
kurazuuuuuu
1
890
AIで社員の自主発信に広報目線を組み込む
_mossann_t
0
130
.NET WebAssemblyで実現するクライアントサイドAI推論:NuGetからViteまで、2つのエコシステムを繋ぐビルド戦略
yamachu
0
280
SREは、MCPとAutopilotをこう使え!
kazumax55
3
920
Oracle Cloud Network Path Analyzerを試してみた/I Tried Out Oracle Cloud Network Path Analyzer
masakiokuda
1
110
AI時代の「技術的負債」の変質ー概念の終焉と再解釈、エージェントと共に向かう先
nwiizo
1
3k
登壇の自信を奪う3匹のオバケ / 3 Ghosts That Rob You of Your Confidence in Public Speaking
pauli
9
1k
現場で役立つ技術負債の効果的な返済方法
masuda220
PRO
9
4.7k
Featured
See All Featured
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
A better future with KSS
kneath
240
18k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.6k
Music & Morning Musume
bryan
48
7.4k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
1k
Skip the Path - Find Your Career Trail
mkilby
1
230
Documentation Writing (for coders)
carmenintech
77
5.5k
Product Roadmaps are Hard
iamctodd
55
13k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
440
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
470
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
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 • サプライチェーン攻撃への備えを色々とやっていきましょう • クールダウンの設定をするだけで終わりではなく、いつか感染する 想定で備えよう まとめ