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.7k
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
320
GitHub Copilot CLI の Rubber Duck 機能を使ってコーディングの品質をあげよう #techbaton_findy
stefafafan
2
1.7k
サービスの信頼性を高めるため、形骸化した「プロダクションミーティング」を立て直すまでの取り組み
stefafafan
1
530
「お金で解決」が全てではない!大規模WebアプリのCI高速化 #phperkaigi
stefafafan
6
3.7k
急成長を支える基盤作り〜地道な改善からコツコツと〜 #cre_meetup
stefafafan
0
4.8k
小田原でみんなで一句詠みたいな #phpcon_odawara
stefafafan
0
2.2k
dotfiles について話したい #湘なんか
stefafafan
2
580
意義から考えるObservability入門 #srenext
stefafafan
2
1.7k
高橋メソッド風の発表を生成するCLIツールをPHPで作った #phpcon_odawara
stefafafan
1
1.8k
Other Decks in Technology
See All in Technology
Lint の層を組み直した話
bengo4com
3
330
SSFの現在地 ― CAEP/RISCからAI Identityへ
oidfj
0
230
IoTとは〜? 数字で見るSORACOM UG【SORACOM UG Explorer 2026】
soracom
PRO
0
320
DBTS2026 盛り上がってますか!?Databricksが実現するAI時代のデータ基盤
akuwano
1
190
AWS基盤改善を支える 私たちの理念と行動指針
kentosuzuki
0
110
Microsoft Entra Kerberos で実現するクラウド デバイス管理
tamaiyutaro
2
650
生成AI時代のIAMのマニアックな話
takuros
6
2.7k
試験勉強はGrokBotでやれ
maigo999
0
120
お客様の「やりたい」の先を見通す合意形成プロセス ~裏にある課題と不安を解きほぐすコツ~
yukakoseki
0
120
属人化したISMS運用をGitHubとAIで仕組み化した1年間の記録
sioncojp
0
500
Kiro 入門 (1 つのエージェントを、どの画面からでも) | 目指せ Kiro マスター 01
inariku
PRO
5
1.1k
AI時代のエンジニアの情報発信〜個人の発信を組織の力に変える〜
ryo_kawamata
1
7.4k
Featured
See All Featured
A designer walks into a library…
pauljervisheath
211
25k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
1
660
Designing Powerful Visuals for Engaging Learning
tmiket
1
650
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Building Adaptive Systems
keathley
44
3.3k
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
660
The World Runs on Bad Software
bkeepers
PRO
72
12k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
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 • サプライチェーン攻撃への備えを色々とやっていきましょう • クールダウンの設定をするだけで終わりではなく、いつか感染する 想定で備えよう まとめ