Your Node.js App Is Lying to You: What axios Taught Us
セッショントラックAEnglish
2026年3月31日、週に1億回ダウンロードされるパッケージ「axios」が、約3時間の間、密かにマルウェア配信システムへと変貌しました。その時間帯にnpm installを実行したすべてのプロジェクトは、ひっそりとバックドアを仕掛けられました。最悪なのは、その後パッケージがクリーンな状態になったことです。npm auditも何も検出せず、アプリは問題なしと表示しました。
これは、2026年におけるNode.jsサプライチェーンセキュリティの実践的な解説です。タイポスクワッティングや依存関係の混乱から、アカウント乗っ取り、ビルドパイプラインの汚染まで、実際の攻撃の仕組みをたどり、それらすべてに共通する糸口を探ります。それは、巧妙なバグを悪用した攻撃はほとんどなく、信頼を悪用した攻撃だったということです。
そして、ここからが厄介な点です。あなたが頼りにしているツールは、誤った安心感を与えてしまうのです。npm auditは既にフラグが立てられているものしか認識しません。ロックファイルは、あなたが既に信頼しているものしか固定しません。axiosは最も明確な証拠です。なぜなら、悪意のあるコードは痕跡を消し去り、クリーンなマニフェストを残したからです。
後半では、すぐに適用できる防御策をご紹介します。インストールスクリプトの無効化、依存関係の差分の確認、sigstoreによるプロベナンスの検証、そしてCIのロックダウンによって、盗まれたトークンがあなたの名前で公開されるのを防ぐ方法などです。まさにaxiosが被害を受けたケースと同じです。タイミングが重要です。npm v12では、2026年7月からインストールスクリプトがデフォルトでオプトイン方式になります。これは、npm installにおける10年以上ぶりの大きな変更です。この変更で何が修正され、何が見落とされているのか、そして、すでに信頼しているはずの侵害されたパッケージがなぜ許可リストをすり抜けてしまうのかを解説します。
npmレジストリは共有インフラストラクチャです。どこか一箇所への攻撃は、どこからリリースしていようとも、私たち全員に影響を及ぼします。この講演は、まさにその精神に基づいています。国際的なインシデントの経験に基づき、すべてのNode.js開発者が共有する問題にアプローチします。

Jessie
Jessie Auguste is a software engineer at CybSafe, where she builds secure software and works at the human side of cybersecurity. This year she hosted JSNation and React Summit Amsterdam, and she has taken the stage at React Universe, React Miami, LeadDev, Docker, DevConf, and BeJS, among others. She has also built and delivered secure coding courses based on OWASP principles. Away from the keyboard, Jessie co-founds and co-hosts Glowing in Tech, an award-winning podcast and community for people building in tech without the access others take for granted.