Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
サプライチェーン攻撃への備えについて考えている #湘なんか
Search
すてにゃん
May 23, 2026
Technology
2.9k
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
220
GitHub Copilot CLI の Rubber Duck 機能を使ってコーディングの品質をあげよう #techbaton_findy
stefafafan
2
1.5k
サービスの信頼性を高めるため、形骸化した「プロダクションミーティング」を立て直すまでの取り組み
stefafafan
1
360
「お金で解決」が全てではない!大規模WebアプリのCI高速化 #phperkaigi
stefafafan
6
3k
急成長を支える基盤作り〜地道な改善からコツコツと〜 #cre_meetup
stefafafan
0
4.7k
小田原でみんなで一句詠みたいな #phpcon_odawara
stefafafan
0
2.1k
dotfiles について話したい #湘なんか
stefafafan
2
520
意義から考えるObservability入門 #srenext
stefafafan
2
1.6k
高橋メソッド風の発表を生成するCLIツールをPHPで作った #phpcon_odawara
stefafafan
1
1.7k
Other Decks in Technology
See All in Technology
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
2
130
SREとQA 二人三脚で進めるSLO運用/sre-qa-slo
sugitak
0
730
AI時代の開発生産性は、個人技からチーム設計へ
moongift
PRO
4
2.3k
生成AI×AWS CDK×AWS FISで"振り返れる"ミニGameDayをつくろう
yoshimi0227
1
270
AI時代のPlaywright活用(システムテストを自動化する ー 実行エンジンにPla ywrightを選んだ理由)
ynisqa1988
0
100
誤解だらけの開発生産性 / Myths and Misconceptions about Developer Productivity
i35_267
2
750
Amplify Gen2でbackend.tsにCDKを定義する/しない事によるCDKの挙動の違いとユースケース
smt7174
1
330
シンガポールで登壇してきます
yama3133
0
230
個人開発で育てる「大規模設計の苗床」 - AI時代の1人開発から始める業務への知識接続 / The Seedbed for Large-Scale Design - From AI-Era Solo Projects to Professional Knowledge
bitkey
PRO
1
270
なぜ私たちのSREプラクティスはなかなか機能しないのか 〜システムより先に組織を見る〜 / Why our SRE practices aren't really working
vtryo
4
3.9k
事業価値を⽣み出すSREへ SREが担うべき意思決定の5層
kenta_hi
2
3.8k
ゴールデンパスは敷いただけでは道にならない ─ 企画部門のエンジニアが技術標準を事業価値に変えるまで
mhrtech
1
180
Featured
See All Featured
The Curious Case for Waylosing
cassininazir
1
430
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.8k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
360
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
240
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
63
55k
Visualization
eitanlees
152
17k
Automating Front-end Workflow
addyosmani
1370
210k
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
6k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.2k
How to Ace a Technical Interview
jacobian
281
24k
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 • サプライチェーン攻撃への備えを色々とやっていきましょう • クールダウンの設定をするだけで終わりではなく、いつか感染する 想定で備えよう まとめ