会員登録すると
学習することができます。
会員登録する(無料)
登録済みの方はこちら
ログイン

実在しないパッケージ ― 依存を足す前に確かめる

目安学習時間 15分

課題

全問正解でレクチャー完了です。

【問題1】

AIが提案した実在しないパッケージ名が狙われる流れとして正しいものはどれですか。

[選択肢]

【問題2】

インストールする前に確かめることとして、この講座が挙げていないものはどれですか。

[選択肢]
会員登録すると
学習することができます。
会員登録する(無料)

学ぶ目的

AIはパッケージ名をでっち上げることがある

AIに「CSVを安全に読むライブラリを使って」と頼むと、それらしい名前の、実在しないパッケージを提案することがあります。研究でも、AIが提案するパッケージ名の一部が実在しないことが報告されています。

それの何が危ないのか

実在しないだけなら、インストールが失敗して終わります。危ないのはその先です。

  1. AIが同じ名前を繰り返し提案する
  2. 攻撃者がその名前を先回りして登録し、悪意のあるコードを入れておく
  3. 誰かがAIの提案どおりにインストールし、そのコードが手元で動く

パッケージのインストールは、他人が書いたコードを自分の環境で実行することです。

入れる前に確かめること

まず、実在するかを確かめます。実在しない名前を問い合わせると、手元ではこうなりました。

npm view naminori-secure-helper-xyz
# npm error 404 Not Found

実在しても、それで安全とは限りません。次も見ます。

  • 公開されてからの期間と利用数: 昨日できた・ほぼ誰も使っていない、なら疑う
  • ソースコードの置き場所: リポジトリへのリンクがあり、中身と一致しているか
  • 名前の綴り: 有名なパッケージと1文字違いではないか

入れた後も見続ける

  • ロックファイル(package-lock.json Gemfile.lock)をコミットし、知らないうちにバージョンが変わらないようにする
  • npm audit や bundle audit で、既知の脆弱性が見つかったものに気づく

AIエージェントにインストールまで任せる場合は、新しい依存を足す操作だけは人間の確認を挟むのが安全です。

このレクチャーで学ぶこと

  • AIがでっち上げるパッケージ名が狙われる仕組み
  • インストール前に確かめる4つのこと
  • ロックファイルと脆弱性チェック

質問

まだ質問は投稿されていません。

質問投稿

ログイン後に質問の投稿ができます。