1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AIの言う通りに `npm install` したら、存在しないはずのパッケージ経由でマルウェアに感染しかけた話(AIパッケージハルシネーション)

1
Posted at

「便利なライブラリがありますよ!」

とある案件で、Pythonを使って特殊な画像処理(動画からの特定フレーム抽出と切り抜き)を実装することになりました。
自分で調べるのが面倒だったので、いつものようにChatGPTに聞きました。
「Pythonで、動画から特定時間帯のフレームを効率よく抽出してクロップしたい。何かいいライブラリある?」
AIは自信満々に答えました。

「はい、それなら video-frame-clipper というライブラリが最適です。ffmpegをラップしており、非常に高速です」

pip install video-frame-clipper

使用例のコード:...
「へえ、そんな便利なのがあるんだ」
私は何も疑わず、開発環境のターミナルにそのコマンドをコピペしました。
これが、最悪のセキュリティ事故の始まりになりかけました。

AIは「存在しないパッケージ」を捏造する(ハルシネーション)

実は、AIが推薦した video-frame-clipper というライブラリは、この世に存在しない架空のパッケージでした。
AIの「もっともらしいウソ(ハルシネーション)」です。機能の要件からそれらしい名前を捏造したのです。
昔なら「なんだ、そんなパッケージないじゃん。エラーが出て終わりだね」で済みました。
しかし今は違います。

「AIが捏造したパッケージ名」を先回りして登録するハッカーたち

攻撃者は、開発者がAIに聞きそうな質問を大量に自動生成し、AIが「もっともらしく捏造する架空のパッケージ名」をリストアップします。
そして、その架空のパッケージ名で、マルウェアを仕込んだnpmパッケージやPyPIパッケージを実際に登録して待ち構えているのです。

1. 開発者:「〇〇ができるライブラリある?」
2. AI:「はい、"〇〇-utils" が便利です」(実際には存在しない名前を捏造)
3. 開発者:「pip install 〇〇-utils」(コピペする)
4. ★ 攻撃者が事前に登録しておいた "〇〇-utils" のマルウェアがダウンロードされる
5. クレジットカード情報や環境変数が盗まれる

これは「AI Package Hallucination(AIパッケージハルシネーション)攻撃」と呼ばれる、最新のサプライチェーン攻撃手法です。研究者が数十万のAIプロンプトを分析し、実際にこの手法で大量のマルウェアがDLされることを実証しています。

ターミナルにコピペする前の「生存確認」

AIが吐き出した npm installpip install のコマンドをそのままターミナルに貼り付けるのは、落ちているUSBメモリを会社のPCに挿すのと同じくらい危険な行為です。
AIからライブラリを推薦されたら、必ず以下の「生存確認」を行ってください。

  1. 公式サイト(npmjs.com や pypi.org)で直接検索する
  2. 最終更新日とダウンロード数を確認する(できたてホヤホヤでDL数が数件なら、罠の可能性大)
  3. GitHubリポジトリへのリンクがあり、スター数とIssueが動いているか確認する
    AIはコードを書くスピードを10倍にしましたが、セキュリティリスクを踏み抜くスピードも10倍にしました。
    「AIが言ったから存在するはず」という思い込みを捨ててください。最終確認をするのは、あなたです。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?