人気の数学ライブラリに暗号化ローダーが潜んでいた

Why Does an NPM Math Library Need an Encrypted Loader?

人気の数学ライブラリに暗号化ローダーが潜んでいた

npmパッケージ[email protected]に、暗号化された遠隔操作インプラントが仕込まれていた。特定の行列をlusolve()に渡すとローダーが起動し、ペイロードを復号して実行。攻撃者はSlackとBase Sepoliaテストネット経由でコマンドを送り、任意のシェルコマンドを実行できる。同様のローダーはmathsbaseとmath-universeにも含まれ、GitHubの公開ソースには存在しない。

パッケージは遠隔操作インプラントである。
  1. j2kun

    一体なぜ、あの特定の3x3行列が攻撃のトリガーになるんだ?何か特定の種類の数値解析をやっている人を狙っているのか?

  2. fn-mote

    JFrogがパスワードをクラックする作業を行い、それが残りの分析を可能にしたということを知るには、かなり先まで読む必要がある。

    https://research.jfrog.com/post/equation-of-compromise/

  3. hiddenvulkcan

    実はそれをクラックした(あるいはClaude/中国を使ってクラックした)人に偶然出会ったんだ。

    どうやら第2ステージは完全に壊れているらしく、それはさらに奇妙だ…

    https://research.veryserious.systems/lusolve-and-you-shall-r...

  4. WorldMaker

    これの多くは、CommonJSモジュール形式はもう死なせてやるべきだというリマインダーのように思える。ESMで`await import()`を使えば似たようなトリックは可能だが、依存関係全体を動的な`require()`で簡単にgrepするのは、動的インポートを`grep import\s*\(`で探すほど簡単ではないし、静的な`import`キーワード向けの解析ツールは簡単に使えたり作れたりする一方で、CommonJSにはそんなものは存在しない。

    今ではNPMより先にJSRを必ずチェックすると言ったら、誰かに冗談だと思われた。それだけESMをCommonJSより信頼しているからだ。

  5. firesteelrain

    この時点でnpmの修正策は何なのか?レジストリに関して多くの問題を抱えている。

この日のほかの記事

2026-09-21