会員登録すると
学習することができます。
会員登録する(無料)
学習することができます。
登録済みの方はこちら
ログイン
学ぶ目的
AIはパッケージ名をでっち上げることがある
AIに「CSVを安全に読むライブラリを使って」と頼むと、それらしい名前の、実在しないパッケージを提案することがあります。研究でも、AIが提案するパッケージ名の一部が実在しないことが報告されています。
それの何が危ないのか
実在しないだけなら、インストールが失敗して終わります。危ないのはその先です。
- AIが同じ名前を繰り返し提案する
- 攻撃者がその名前を先回りして登録し、悪意のあるコードを入れておく
- 誰かがAIの提案どおりにインストールし、そのコードが手元で動く
パッケージのインストールは、他人が書いたコードを自分の環境で実行することです。
入れる前に確かめること
まず、実在するかを確かめます。実在しない名前を問い合わせると、手元ではこうなりました。
npm view naminori-secure-helper-xyz
# npm error 404 Not Found
実在しても、それで安全とは限りません。次も見ます。
- 公開されてからの期間と利用数: 昨日できた・ほぼ誰も使っていない、なら疑う
- ソースコードの置き場所: リポジトリへのリンクがあり、中身と一致しているか
- 名前の綴り: 有名なパッケージと1文字違いではないか
入れた後も見続ける
- ロックファイル(
package-lock.jsonGemfile.lock)をコミットし、知らないうちにバージョンが変わらないようにする -
npm auditやbundle auditで、既知の脆弱性が見つかったものに気づく
AIエージェントにインストールまで任せる場合は、新しい依存を足す操作だけは人間の確認を挟むのが安全です。
このレクチャーで学ぶこと
- AIがでっち上げるパッケージ名が狙われる仕組み
- インストール前に確かめる4つのこと
- ロックファイルと脆弱性チェック
質問
まだ質問は投稿されていません。
質問投稿
ログイン後に質問の投稿ができます。