NPMパッケージへのマルウェア攻撃とLavaMoatによる防御

2025-09-09
NPMパッケージへのマルウェア攻撃とLavaMoatによる防御

最近の攻撃で、`is-arrayish`というNPMパッケージに悪意のあるコードが注入され、ユーザーのトランザクションからETHを盗もうとする試みがありました。マルウェアは、`fetch`、`XMLHttpRequest`、`window.ethereum.request`などのブラウザ関数を上書きすることでこれを達成しました。この記事では、攻撃の詳細な分析ではなく、LavaMoatを使用してこのような攻撃を防ぐ方法を示しています。LavaMoatは、各依存関係のモジュールを個別の字句的グローバルコンテキスト(コンパートメント)に配置し、ポリシーで指定されたグローバル変数とインポートへのアクセスのみを許可することで、悪意のあるコードのアクセスを制限します。これにより、悪意のあるコードがトランザクションアドレスを変更することが防止されます。高度なマルウェアであっても、LavaMoatの防御を回避するのは困難です。