はじめに
普段何気なく使っているライブラリでも、ある日突然リスクになることがあります。
axios に関するサプライチェーン攻撃の事例を見て、「これは他人事じゃないな」と感じたので整理してみます。
何が起きたのか
今回の件は、いわゆる サプライチェーン攻撃 の一種です。
サプライチェーン攻撃とは、アプリケーション本体ではなく、
「依存しているライブラリや配布経路を狙う攻撃」を指します。
開発者は普段どおりパッケージをインストールしているだけでも、
その中に悪意あるコードが含まれていた場合、知らないうちに実行されてしまいます。
なぜ怖いのか
この攻撃が厄介なのは、「自分のコードが安全でも意味がない」という点です。
例えば:
・信頼しているライブラリを使っているだけで侵入される
・CI/CD経由で本番環境にも入り込む可能性がある
・気づかないまま情報が外部に送信されるリスクがある
つまり、「依存関係も含めて自分のコード」として扱わないといけません。
どう防ぐか
完全に防ぐのは難しいですが、被害を減らすことはできます。
基本的な対策
・lockファイル(package-lock.json / yarn.lock)を必ず管理する
・依存パッケージのバージョンを固定する
・むやみにアップデートしない
実務レベルの対策
・`npm audit` などで脆弱性をチェックする
・依存関係を可視化するツールを使う
・CIでセキュリティチェックを組み込む
まとめ
今回の件で改めて感じたのは、
> 「人気ライブラリだから安全」とは限らない
ということでした。
便利なライブラリに頼るのは当たり前ですが、
その裏にあるリスクも意識しておく必要があります。
依存関係も含めて「自分のコード」として扱うことが、
これからの開発ではより重要になりそうです。