サイバーセキュリティ

Claudeが自分でnpmパッケージを入れる、その一つがファイルを盗むこともある

Susan Hill

ClaudeのComputer Use機能は、ふつうのチャットボットにはできないことをする。あなたのパソコンでターミナルを開き、世界最大のオープンソース登録簿であるnpmから直接取ってきたパッケージも含めて、代わりにソフトをインストールするのだ。魅力ははっきりしている。「このプロジェクトを用意して」という頼みを一文に縮めてしまうからだ。危うさも同じ一文にある。パッケージが届いた瞬間、npmはそのパッケージが連れてきた起動コードを走らせることができ、いまや引き金を引くのは自律エージェントだからだ。

AIエージェントにコードを書かせたり走らせたりする人にとって、しかもそれは開発者や趣味人、技術的な素養のない好奇心旺盛な人々という急速に膨らむ層なのだが、現実的な問いはそっけない。あなたが一度も見ていないパッケージをClaudeがインストールし、そのパッケージが着地した瞬間にあなたのファイルを複製するよう作られていたなら、誰が止めるはずだったのか。あるセキュリティ研究者の最近の動画はまさにその場面をたどり、AIがためらいなく進める通常のインストールの最中に、仕掛けられたパッケージがローカルのファイルを読み取る様子を見せている。

この仕組みは新しくない。そして、それこそが深刻さの理由だ。npmのパッケージはインストールスクリプトを宣言できる。パッケージがプロジェクトに加わった瞬間に自動で走る小さな命令で、その中身が意図して使われるより前に動く。これは欠陥ではなく、文書化された挙動だ。まっとうなツールが自らをコンパイルしたり環境を整えたりするのを可能にする。同時に、どんなパッケージもインストール時にあなたと同じ権限であなたの端末上でコードを実行できるということでもあり、セキュリティチームは何年も前から警告してきた。

世界が賭け金の大きさを鋭く思い知らされたのは、攻撃者が週に数千万回ダウンロードされるネットワークライブラリAxiosのメンテナーアカウントを乗っ取り、開発者の端末にリモートアクセス型のトロイの木馬を入れる悪意ある依存関係を忍び込ませたときだった。彼らはAxiosの本体コードには一切触れていない。仕事をしたのはインストールスクリプトだ。Axiosはたまたま、無数の他のアプリと並んでClaude Code自身の中の一部品でもある。信頼するツールと、それが裏で静かに引き込むコードとの距離がいかに近いかを示している。

この見慣れた図にこの実演が付け加えるのが、エージェントだ。インストールを走らせる人間なら、少なくとも立ち止まってパッケージ名を読み、綴りが違う、あるいは出たばかりだと気づいて引き返すことができる。あいまいな指示で動くAIエージェントにそんな反射はない。必要だと判断したものを入れる。しかもComputer Useは画面を読み、カーソルを動かし、入力までするので、毒を盛られた依存関係はコードエディタの中に閉じ込められたままではいない。デスクトップ全体を自由に動き回る。

これが何であって何でないかを正確にしておく価値がある。これはClaude固有の隠し扉ではないし、モデルが自分のルールを破るよう騙された証拠でもない。どんな自律プログラムであれソフトを入れる力を与えたことと、十年以上にわたり既定でインストールコードを走らせてきた登録簿とが組み合わさった、予測できる結末だ。Claudeを同じ権限を持つ別のコーディングエージェントに置き換えても、図は変わらない。危険は自律性と登録簿に宿るのであって、一企業のチャットボットに宿るのではない。

Anthropicはむしろ逆方向に進んでいる。同社は先ごろ、自社のコーディングツール向けに、エージェントをシステムの残りから締め出し、読めるファイルと到達できるサーバーを制限するサンドボックスを出し、その土台となる隔離ツールキットを他の開発者向けにオープンソースで公開した。理屈はこの実演があらわにしたものそのものだ。あなたのSSH鍵に届かないエージェントはそれを漏らせないし、見知らぬサーバーに接続できないエージェントはあなたのファイルをどこにも送れない。同社によれば、こうした境界はユーザーに示す許可確認をおよそ84パーセント減らすという。何にでも尋ねるツールは人にすぐ「はい」を押す癖をつけさせるのだから、これは重要だ。

実際にこれらのツールを使う人にとって、防御は地味で効く。エージェントはサンドボックスやコンテナ、使い捨ての仮想マシンの中で走らせ、悪いパッケージが届く最悪の場所を捨ててよい環境にとどめる。作業の流れが許すなら自動のインストールスクリプトを切る。これはいくつかの新しいパッケージマネージャーがすでに既定で行っている。資格情報や鍵、個人のファイルは、エージェントが好き放題できる端末から遠ざけておく。そして「これを入れて」という頼みには「このメールの添付を開いて」と同じ警戒で接することだ。中身は見た目よりそちらに近い。

実演の特定のパッケージは一人の研究者の証明であって、実際の流行ではなく、本物のユーザーに届いた兆候もない。とどまらないのは、その背後の型のほうだ。エージェント任せのコーディングは、それを安全に保つはずの習慣より速く既定になりつつあり、これらのエージェントが頼る登録簿は、インストール命令を打つのが人間でない世界のためには作られていなかった。その隙間が埋まるまで、ソフトウェアセキュリティの最も古い規則はいま、新しい種類のユーザーを指している。エージェントが入れたものは、エージェントが実行する。だから動き出させる前に、何に触れてよいかを決めておくことだ。

ディスカッション

0件のコメントがあります。