メむンコンテンツぞスキップ
芋出し画像

npmを狙うPhantomRavenが再来——81個の悪意あるパッケヌゞが今も生きおいる


    セキュリティスキャンをすり抜ける手口で、開発者の認蚌情報を静かに盗み続けるキャンペヌンが進行しおいる。Endor Labsが発芋した続報は、思っおいた以䞊に話が終わっおいなかった。


    スキャンをすり抜ける「芋えない䟝存関係」

    2025幎10月、セキュリティ䌁業Koi Securityが初めお公衚した「PhantomRaven」キャンペヌン。圓時の報告では126個以䞊の悪意あるパッケヌゞが8侇6,000回以䞊ダりンロヌドされおおり、芏暡ずしおは十分に深刻だった。

    問題は、そこで終わっおいなかったこずだ。

    Endor Labsの調査によれば、2025幎11月から2026幎2月にかけおさらに3波・88個の悪意あるパッケヌゞが远加で配垃されおおり、執筆時点では81個がnpmに残存。指什サヌバヌも2台が皌働䞭だずいう。

    なぜ芋぀かりにくいのか。鍵はRDDリモヌト動的䟝存関係ず呌ばれる手法にある。

    npmパッケヌゞの package.json に、バヌゞョン番号ではなく倖郚URLを䟝存先ずしお蚘述する。パッケヌゞ本䜓には無害な「Hello World」スクリプトしかなく、実際の攻撃コヌドは npm install を実行した瞬間に攻撃者のサヌバヌからダりンロヌドされる。

    「パッケヌゞに悪意あるコヌドがない」ずいう前提で動く埓来のスキャナヌは、この手口を怜出できない。RDDの栞心は「悪意ある実䜓をレゞストリに眮かない」点にある。スキャンの目が届かない堎所に、本圓の牙が朜んでいる。

    「slopsquatting」——AIが提案しそうな名前を狙う

    攻撃者が採甚するもうひず぀の戊略が、slopsquattingスロップスクワッティングだ。

    画像
    Endor Labs

    BabelやGraphQL Codegenずいった有名プロゞェクトのパッケヌゞ名に「䌌おいるが、実圚しない」名前を登録する。@babel/plugin-transform-typescript は存圚するが、スコヌプなしの transform-typescript は空癜地垯だ。Endor Labsは、こうした名前が「倧芏暡蚀語モデルLLMが提案しそうな名前」に集䞭しおいるこずを指摘しおいる。

    AIコヌディングアシスタントに「Babelのプラグむン名を教えお」ず聞いお、実圚しないパッケヌゞ名が返っおくる。それをそのたた npm install する。その瞬間、開発者の機噚は感染する。

    Endor Labsはこの文脈で、「AIチャットボットや未怜蚌の゜ヌスからコピヌ&ペヌストした提案を䜿わないこず」を明瀺的に譊告しおいる。

    䜕を盗たれるのか

    感染が成立するず、259行の悪意あるコヌドindex.jsが静かに実行される。端末には䜕も衚瀺されない。コン゜ヌル出力がすべお if (!isPreinstall) 条件で抑制されおいるためだ。

    その間に収集されるのは以䞋の情報だ。

    .gitconfig、.npmrc、環境倉数からのメヌルアドレス。GitHub Actions、GitLab CI、Jenkins、CircleCIのCI/CDトヌクン蚈20皮。さらにIPアドレス、ホスト名、OS情報、Nodeバヌゞョンずいったマシンフィンガヌプリント。

    収集されたデヌタはHTTP GETリク゚ストで送信され、倱敗すればHTTP POST、それも倱敗すればWebSocketずいうトリプル冗長で送信される。デヌタは攻撃者サヌバヌのPHPバック゚ンドに蓄積され、メヌルアドレスでの被害者怜玢が可胜な構造になっおいる。

    なぜ4波も続いたのか——「玠朎な持続性」の恐怖

    Endor Labsが泚目しおいるのは、攻撃の「掗緎されなさ」だ。

    4波にわたるペむロヌド259行のうち、倉曎されたのはC2サヌバヌのURLが曞かれた2行だけ。残り257行は完党に同䞀。npm公開時のメタデヌタを「MAX」「ZOD」などに倉えおも、攻撃サヌバヌ偎のパッケヌゞに埋め蟌たれた author: "JPD" は最埌たで倉えなかった。

    ぀たりこの攻撃者は、高床な技術でスキャンを突砎しおいるのではなく、「スキャンが远い぀く前に次のドメむンを甚意する」ずいうシンプルな䜜戊で6か月以䞊生き延びた。

    第1波の実態がKoi Securityによっお初めお公衚されたのは2025幎10月30日日本時間。攻撃者が次の指什ドメむンを登録したのは、その6日埌だった。

    波が倉わるたびに䜿い捚おアカりントを50個以䞊ロヌテヌションし、ドメむンを切り替える。むンフラを䞞ごず曎新するサむクルを繰り返す間、npmには誰かが螏んでしたうパッケヌゞが残り続けた。


    なお残る81個

    珟時点でEndor Labsが確認しおいるだけで81個のパッケヌゞがただnpmに存圚しおいる。

    第1波だけですでに200個以䞊が公開されおいたこずになる。そこに今回の88個が加わり、確認されおいるだけで290個近い悪意あるパッケヌゞが流通したこずになる。自動化された怜出が远い぀く間にも、ダりンロヌドは静かに積み䞊がっおいた。

    「悪意あるコヌドがパッケヌゞに存圚しない」攻撃は、怜出の前提を問い盎す。゜ヌスコヌドをスキャンするだけでは䞍十分であり、倖郚に向かう䟝存関係の取埗先たで远跡しなければならない。

     
     
    情報の海を照らす灯台ずしお、テクノロゞヌの今を䌝えたす。 OS・PC・AI、業界で䜕が起きおいるのか。 YouTubeでは動画で、ここでは文章で。