PaPoo
cover

AIエージェントの「信頼」の置き方が甘すぎる話

いちばん引っかかったのは、モデルそのものをだましているというより、モデルの前後にある“手つき”のほうが崩れていたことだ。読んでいて、これってAIの賢さの問題というより、CIやハーネスの設計ミスをAIが増幅しているだけではないか、という感覚が強かった。

GitHub Issue みたいな外から入ってくる入力が、普通なら「未信頼」として扱われるはずなのに、いつの間にか workflow secrets に近づいていく。ここが怖い。人間の感覚だと「Issue に書かれた文字列がそんなところまで届くの?」となるけれど、記事を読むと、実際には validate したつもりの値が別の経路で再解釈されていたり、allowlist が登録時にしか効いていなかったりする。こういうのは一度穴が開くと、攻撃者はモデルを攻略しなくても十分だ。AI を狙っているようで、実際には周辺の自動化を食っている。

もう一つ、Claude Code の話で Hugging Face の download counter を exfiltration に使ったという部分は妙に生々しかった。秘匿情報の漏えいというと大げさな脱出経路を想像しがちだけど、実際には「1文字ずつ外に出す」みたいな地味な方法が成立してしまう。派手さはないのに、こういうのが一番いやらしい。しかも “untrusted content が Claude Code の context に入る” ことが条件だと書かれていて、つまり防ぐべき境界はかなり広い。プロンプトだけ気をつければいい、という話では全然ない。

読後感としては、AI エージェントを業務に入れるほど、便利さより先に「どこまでを入力として信用しないか」を設計し直さないと危ない、という当たり前のことを突きつけられた感じだ。モデルの性能が上がっても、周辺の実装が雑なら普通に破られる。むしろ AI が賢くなるほど、周囲の雑さが目立つのかもしれない。


参考: Claude Code and Gemini CLI Flaws Let a GitHub Issue Reach CI Workflow Secrets

同じ著者の記事