サプライチェーン攻撃はどのようにして成立するか(ライブラリ利用者側)
タイミング
その場で実行せず、ただファイルを配置するだけの可能性もある
.git/hooks/に何か入れるとか
gitコマンドやテキストエディタなどの権限で攻撃が実行される
require/importした時
nodeコマンドの権限内で何でもできる
デフォルトでは新規process立ち上げたりも可能
任意コマンドのインストール
npmは任意の名前の実行コマンドをインストールできる
例
どちらもcodexというコマンドが入る
13年前からあるcodex npmは個人が作って公開しているもの
npm runの中では./node_modules/.bin/がpathの先頭に入る
任意コマンドのインストールと合わせると
プロジェクトのローカルにインストールしてて、グローバルにコマンドインストールしてないから大丈夫というわけではなくなる
ライブラリ名を打ち間違える
フィッシング詐欺みたいなもの
たぶん有名ライブラリの1文字違いとかは狙われてる
npm isntallってtypoしてもinstallできてうれしいね、みたいな牧歌的な時代からだいぶ変わってきたshokai.icon
aliases: add, i, in, ins, inst, insta, instal, isnt, isnta, isntal, isntall