Wait, binding.gyp Can Do What? Exploring npm's Weirdest Build System
【なぜ重要か】 Miasmaマルウェアがpackage.jsonのフックを使わずに、binding.gypファイルだけでインストール時にコードを実行する新たな攻撃手法を開発しました。binding.gypの存在だけでnpm installが自動的にnode-gypを実行するため、一見安全なパッケージでも悪意のあるコードが実行される可能性があります。...
【なぜ重要か】 Miasmaマルウェアがpackage.jsonのフックを使わずに、binding.gypファイルだけでインストール時にコードを実行する新たな攻撃手法を開発しました。binding.gypの存在だけでnpm installが自動的にnode-gypを実行するため、一見安全なパッケージでも悪意のあるコードが実行される可能性があります。
【ポイント】
<!(command)構文によるコマンド展開機能により、任意のシェルコマンドが実行可能で、この展開は既知のフィールドに限定されず任意のキー名で動作する【まとめ】 binding.gypは単なるビルド設定ファイルではなく、複数の手法で任意コードを実行できる危険なファイルです。パッケージレビュー時はpackage.jsonだけでなく、binding.gyp関連ファイルの詳細な検証が必要です。
原文を読む
Aikido Security Blog
英語で詳細な技術情報を確認