IT基礎

入れただけで鍵が盗まれる部品。2026年10月、外注先に聞くこと

2026年10月、開発で使う npm の部品に、入れただけで認証情報を盗む不正な版が相次いで出ました。エディタやAIコーディングツールの設定ファイルに居座る手口もあります。GMO Flatt Security の解析をもとに、何が起きたかと外注先に聞くことを整理します。

最終確認 2026.10.24約4分で読めます

この記事で分かること
  • 2026年10月に npm の部品で起きたこと
  • 「入れただけ」で鍵が盗まれる理由
  • エディタやAIツールの設定ファイルに居座る手口
  • 外注先や開発の担当者に聞く5つのこと

結論

アプリやサイトを作るときは、世界中の人が公開している部品(パッケージ)を取り寄せて組み合わせます。2026年10月、その部品の配布元に、入れただけで開発者の鍵やパスワードを盗む不正な版が相次いで出ました。被害に遭うのは、部品を入れた開発者のパソコンや、自動でビルドする仕組みです。自社で開発していなくても、外注先の環境から自社のサーバーやクラウドの鍵が漏れることがあります。外注先に「公開されたばかりの版をすぐ入れない決まりがあるか」を聞いてください。

何が起きたのか

GMO Flatt Security の解析(いずれも速報で、内容が変わる可能性があるとしています)から、主なものをまとめます。

部品(日付)不正な版安全な版経緯
@subql/common(10/5)5.8.35.8.2署名の無い変更で公開の手順が書き換えられ、正規の自動公開の仕組みから出された
tensorlake(10/8)0.5.1440.5.143管理者権限のあるアカウントから、レビューを通さずに直接変更が入った

どちらも1時間ほどで配布元から取り下げられました。どちらの部品の作り手も、攻撃を受けた側です。

@subql/common では、配布元の記録上は正規の仕組みから公開されたように見えたため、「どこから公開されたか」の記録だけでは不正な版を見分けられなかった、と解析は指摘しています。10月21日には AI の部品 LiteLLM でも不正な版が出ました。こちらは10月の土台のソフトの修正のコラムで触れています。

部品を入れるときの3つの備え

新しすぎる版は待つ
  • 公開から日が浅い版を入れない設定
  • 版を固定し、確かめてから上げる
設定ファイルを読む
  • 他人のリポジトリを開く前に
  • エディタやAIツールの自動の命令
鍵を置きすぎない
  • 開発のパソコンに本番の鍵を置かない
  • 疑わしいときは止めてから取り替える
GMO Flatt Security の解析で挙げられた手口をもとにしています。

「入れただけ」で鍵が盗まれる理由

部品には、入れるときに自動で動く命令を書いておけます。GMO Flatt Security の解析によると、tensorlake の不正な版は `npm install` をしただけで動き、クラウドや GitHub の認証情報、SSH の鍵、`.env` ファイル、ブラウザに保存したパスワードなどを盗んで外へ送る作りでした。@subql/common の不正な版は、入れたときだけでなく、プログラムからその部品を読み込んだときにも動くため、自動で動く命令を止める設定だけでは防げないとされています。

tensorlake の不正な版では、さらに、盗んだトークンを見張るプログラムが残り、トークンが無効にされたと検知するとホームフォルダを消す作りだったとされています。解析は、鍵を取り替える前にこのプログラムを止め、先にデータの控えを取るよう求めています。被害が疑われたら、自己判断で動かず、手順の順番まで専門家と確かめます。

エディタやAIツールの設定ファイルに居座る手口

エディタやAIコーディングツールには、フォルダを開いたときや作業を始めたときに、決まった命令を自動で動かす設定があります。便利な機能ですが、解析によると tensorlake の不正な版は `.vscode/tasks.json` と `.claude/settings.json` に命令を書き込み、次に開いたときにも動くようにしていました。

こうした設定ファイルは、リポジトリ(ソースコードの置き場)の中に入れて共有できます。他人のリポジトリを開く前に、中の設定ファイルを読み、エディタが「このフォルダを信頼しますか」と聞いたときに安易に信頼しないことが大切です。解析は、AIツールの名義(`claude@users.noreply.github.com`)に見せかけた、身に覚えのないコミットがないか確かめることも勧めています。

外注先や開発の担当者に聞くこと

例えば、次の5つを聞けば、備えがあるかどうかの見当がつきます。

確認リスト

  • 公開から日が浅い版を入れない設定をしているか(npm の min-release-age、pnpm の minimumReleaseAge など)
  • インストール時に部品の命令を自動で動かさない設定(npm の ignore-scripts など)を、ほかの対策と組み合わせて使っているか
  • 10月に名前が出た部品の不正な版を入れていないか、確かめたか
  • 他人のリポジトリを開く前に、エディタやAIツールの設定ファイルを確かめる決まりがあるか
  • 自社のクラウドやサーバーの鍵を、開発のパソコンにどこまで置いているか

今日、まず確認すること

外注先か開発の担当者に、「公開されたばかりの部品の版をすぐ入れない設定はしていますか」と1通送ってください。