TL; DR
パッケージは自動的に削除されます。 8月の15日間で、あるnpmオペレーターが7つのアカウントから9つの名前で9つのパッケージを公開し、そのうち8つを自ら削除した。それぞれのパッケージが公開されていた期間は、13時間から17分に短縮された。この手法は彼らだけのものではない。全く異なるペイロードを持つ、無関係のオペレーターによる7つのパッケージも、平均37.8分でそれぞれの発行者によって削除された。ほとんどの防御プロセスが実行される前に成果物は削除され、インストールは既に完了している。
レジストリが公開するデータはすべてローテーションされるが、ペイロードはローテーションされない。 9つすべてがバイト単位で同一の bin/ ディレクトリには、15日間隔で3つのパッケージ名と2つのアカウントにわたって同じSHA-256ダイジェストが記録されている。コンテンツの識別情報は、このオペレーターが解読できなかった唯一の追跡シグナルであり、彼らが取り下げなかった唯一のパッケージがあったからこそ、その一部が調査できたのである。
それを設置する人々は被害者ではなく、いずれにせよひどく危険にさらされている。 このツールは開発者向けではありません。隠し画面キャプチャ、画面上のテキスト抽出、オーバーレイへの回答の返却によって遠隔試験監視を無効化します。 誰が走るか npm install 対象者ではなく、意図された受益者。 彼らはまた、1時間以内に自動的に削除されるアカウントから、ブラウザのクッキーストアを復号化する署名なしのバイナリを実行します。修正プログラムを受け取ることも、後で実行した内容を監査することも、インストールした理由を明かさずに被害を報告することもできません。
生態系: npmでも同様のパターンがPyPIでも確認された。 期間: 2026年6月~8月。
測定
滞留時間とは、パッケージが表示されてから消えるまでの間隔であり、レジストリ自身のメタデータから算出されます。これは測定値であり、推定値ではありません。
| パッケージ | 公開済み(UTC) | 左に立っている |
|---|---|---|
moidev | 2026-08-16 16:31 | 5時間58分 |
moidevx | 2026-08-17 03:24 | 13時間23分 |
moidevz | 2026-08-26 03:38 | 12時間56分 |
moideva | 2026-08-26 18:58 | 1時間33分 |
amicat | 2026-08-28 20:48 | 17m |
bmcat | 2026-08-28 21:17 | 47m |
eyevox | 2026-08-28 21:44 | 21m |
moidevh | 2026-08-31 03:22 | 47m |
公開順に読むと、公開期間は40分の1以下にまで短縮され、最も長い13時間23分から最も短い17分までとなる。最初の4つのパッケージの平均は8時間半、最後の4つのパッケージの平均は33分である。8月28日には、3つのパッケージが77分以内に公開され、その後削除された。
この縮小は徐々に進むものではなく、8月26日から28日の間に集中しており、変化したのは、荷物を安全に保管できる期間に関する事業者の推定値だった。
ここでのすべての削除は発行者によって開始されます。各レジストリ文書には、空のメンテナーリストが表示されます。 時間.未発表 記録 — 削除ではなく非公開の署名。9番目のパッケージ、 エイアスそれは全く撤回されておらず、だからこそこれらの調査が可能になったのです。
2つ目の離脱制度が存在し、これと混同してはならない。 ペイロードバージョン 引き抜かれ、パッケージが生き残る場合、31個のパッケージの平均は約73時間です。これらの交換品はスクリプト化されたバッチで到着し、空の殻を残します。 package.json 宣言する メイン ファイルを一切送信しない――その唯一の機能は名前を保持することだけだ。その体制はスケジュールに基づいたハウスキーピングである。こちらは調整された露出ウィンドウだ。
削除後も残るもの
これらのパッケージのうち9つは、1つの事業者によるものです。 モイデフ, moidevx, moidevz, モイデヴァ, モイデブ, アミキャット, bmcat, アイボックス (NAIST) と エイアス名前には共通点はありません。 モイデフ ステムではそれらの半分以上を見逃していただろう。しかもそれらは7つの異なるアカウントから公開されており、そのほとんどすべてが使い捨てメールアドレスのドメインに登録されていた。
両者に共通しているのは、存在理由のない明白な記録である。
"bin": { "": "bin/kalamasha-tool.js" } } 削除前に5部のコピーを保管しました。5部すべてにおいて、 置き場/ ディレクトリはバイト単位で同一です。
| File | SHA-256 |
|---|---|
bin/kalamasha-tool.js | 0c293be90c10c8a7618d25f4c4811fa63612b7bc5199b86e10bb31eb36c716dd |
bin/uia_extract.exe | e2fda5aa8397799669f29258f69e803cf05d322c1d93269eef6754ca024c3865 |
bin/chrome_cookies.ps1 | 21b61ec810331850d72423c40c5448e6cd310c4cfad6aed54f92cd7e7cac5f3a |
bin/stealth_capture.ps1 | c9baf5897c03b941c54f736df5af9243ad28794a9e69746d41d4f4a34065589c |
bin/uia_extract.py | c20b38c63efd9221930095c54b42cdd5adffa1972c44c4578226cbe1e4dbac3e |
bin/uia_get_text.ps1 | 4a3f3ada0bdf13aa8e89edb8af817c7816296147dae5be25f169ff960d28a87c |
さらに2つの兆候が一致している。3つのパケットは、8月17日、8月26日、8月31日のUTC午前3時24分、3時38分、3時22分に公開された。これは15日間にわたる16分間の時間帯で、3つの異なるアカウントから発信された。そして、これらのアカウントのうち2つは同じ使い捨てメールアドレスのドメインに登録されており、コードとは無関係に両者を結びつけている。
アカウント
以下は、ペイロードを配信したnpmパブリッシャーアカウント、各アカウントがアップロードしたパッケージ、およびパッケージが放置されていた期間です。
| パブリッシャーアカウント | パッケージ | メールドメイン | 左に立っている |
|---|---|---|---|
letol39119 | moidev:1.0.0 | hutdot.com(使い捨て) | 5時間58分 |
so1d1a7i27 | moidevx:1.0.0 | ogzmail.com(使い捨て) | 13時間23分 |
lololololol435678 | eyiouss:3.0.21, 3.0.22, 4.0.1 | ogzmail.com(使い捨て) | まだ出版されている |
tagadob568 | moidevz:1.0.0 | ebflyai.com(使い捨て) | 12時間56分 |
tayihim489 | moideva:1.0.0 | prodbits.com(使い捨て) | 1時間33分 |
sahihai123 | amicat:1.0.0, bmcat:2.0.9, eyevox:1.0.0 | 一般消費者向けウェブメール | 17m / 47m / 21m |
heytoshan | moidevh:1.0.0 | 一般消費者向けウェブメール | 47m |
so1d1a7i27 (NAIST) と lololololol435678 共有する ogzmail.com 登録ドメイン — ライブコピーをホストしているアカウントと、そのアカウントで公開したアカウントを関連付けるリンク。 モイデフ 2週間前に茎を摘出する。 sahihai123 8月28日、わずか77分の間に、3つの異なるパッケージ名を公開し、その後撤回した。 ヘイトシャン 登録済み、公開済み モイデブそして47分後に撤回した。それはそのアカウントの唯一の出版物である。
これらのアカウントはすべてメールアドレスが未確認で、検証済みのソースコード管理リンクがなく、無関係なプロジェクトも公開していません。7つのうち6つは既に何もホストしていません。
1つの荷物は結局取り下げられませんでした。 eyiouss:4.0.1 8月16日以降に公開され、執筆時点でもまだ解決可能だった。8つのアーティファクトは復元不可能だったが、残った1つからキャンペーン全体を再構築した。反射的に削除するオペレーターでも、最終的には1つは残ってしまう。
ツールの機能
eyiouss:4.0.1 npm上では、「最新のWebアプリケーション向けの高性能DOMユーティリティおよび診断ブリッジ」と説明されています。これは、遠隔試験監視システムの下で動作するように構築された画面キャプチャおよび解答取得ツールであり、ソースコードにもその旨が明記されています。
ランチャーは、Electronランタイムを実行する前に、偽のファイル名でコピーし、回避しようとしているものに名前を付けます。
// 🛡️ ステルスバイナリ名: 実際の Testpad と衝突してはいけません! const STEALTH_NAME = 'SearchApp.exe';
同じファイルのヘッダーでは、 反プロクター幽霊監視犬 そして、殺される速度が速いほどさらに後退するリスポーンループを実装する。他の場所では、プロセスは自身の優先度を上げる。 監視CPUスロットリングに対抗する、試験アプリケーションがフォーカスを取ったときにフォアグラウンドから押し出し、Safe Exam Browser の子プロセスを終了させます。 taskkill /F /T.
キャプチャは、実行ポリシーが無効でウィンドウが非表示の状態で呼び出されるバンドルされたPowerShellスクリプトを介して実行され、Windows UIオートメーションによって画面上のテキストが並行して収集されます。キューに入れられた画像とテキストは、組み込みブラウザーの言語モデルセッションに送信され、回答が常に最前面に表示されるオーバーレイにレンダリングされます。この接続は意図的に遅延されており、コードにはその理由が示されています。 NETSTATへの恒久的な曝露を避けるため.
パッケージも発送されます chrome_cookies.ps1、ヘッド クロムクッキー抽出器これは、DPAPIを介してChromeとEdgeのCookieを復号化し、最大4つのブラウザプロファイルからCookieデータベースを読み取ります。cisely: 出荷されたJavaScriptファイルから、そのスクリプトが名前で呼び出されている箇所は見つかりませんでした。存在しアクセス可能なのは、保存されたセッションCookieを組み込みブラウザに挿入する、利用側の処理です。
設置する人々の立場
誰もこれを誤ってインストールすることはありません。監視された試験以外では機能せず、出力はユーザー自身の画面への回答オーバーレイです。欺瞞的なパッケージの説明は、インストーラーを全く対象としていません。レジストリと、その後マシンを監査する人に向けた偽装です。インストーラーは自分が何を入手しているかを知っています。説明が存在するのは、 記録 インストールの情報はそれを反映していません。
被害を受けるのは、npmに一切関与していない第三者、すなわち試験を実施する機関、他の受験者、そして資格情報に何らかの意味を持たせることを前提としているすべての関係者である。
しかし、インストーラーは安全ではなく、この点を明確にしておく必要がある。なぜなら、パッケージが消えるというモデル自体が脆弱性を生み出しているからだ。
彼らはnobodyから署名されていないバイナリを実行している。 uia_extract.exe ソースもビルドの出所も不明なまま、既に存在しないアカウントからコンパイルされたシップ。同じファイルはハッシュによって再公開されている。 letol39119, so1d1a7i27, lololololol435678, tagadob568, tayihim489, sahihai123 (NAIST) と ヘイトシャン 15日間にわたって。問い合わせるべき管理者も、読むべきリポジトリも、確認すべき履歴もない。出荷に関わったすべての組織が自ら削除されたのだ。
彼らはマルウェアが必要とする機能をまさにそれに与えてしまったのだ。 偽名で実行される隠しプロセスが、ブラウザのクッキーストアを復号化し、画面を継続的に読み取り、セキュリティソフトウェアを終了させ、強制終了されても再起動します。現在、クッキーの復号化は特定のベンダーのドメインに限定され、ユーザー自身のセッションにのみ適用されます。この範囲変更はたった1行のコード変更で済み、配信モデルに変更があったとしても、新しい名前、新しいアカウント、新しいアップロードといった形で表面化することはありません。
彼らは修正を受け取ることができない。 パッケージは1時間以内に非公開になります。アップデートパスも、警告も表示されず、後からインストールしたバージョンが友人がインストールしたバージョンと異なっていたことを知る方法もありません。マシンにインストールされているものは、そのままそこに残ります。
彼らは自分たちが実行したことを監査することはできない。 彼らのロックファイルは、もはや解決できないパッケージを参照しています。もし彼らが後日、何らかの事件や紛争の後で、自分のマシンに何がインストールされていたかを確認しようとしても、レジストリにはそれを示す記録が残っていません。
そして、彼らは被害を報告することもできない。 このツールによって侵害されたユーザーは、インストール理由を明かさずに不正利用報告を提出することはできません。これは偶然ではありません。レジストリ不正利用報告は、短命なパッケージを検出する主要な手段ですが、このオペレーターのユーザー層は構造的にそれを利用できないのです。残された唯一の脅威は自動スキャンですが、17分間の監視時間枠はそれに合わせて調整されています。
被害者の構造と滞留時間は、同じ事実が二度見られるという点だ。これはまた、タイムラインの異常も説明している。もし撤退が苦情への恐れから生じたのであれば、長年人気を博してきたパッケージが最初に撤退するはずだ。しかし、苦情が一切寄せられなかったため、そうはならなかった。
同じパターンだが、演算子が異なる
監視オペレーターだけがこのようなことをしているわけではなく、最も明確な並行実行例は、無関係なペイロード上で行われている。
8月24日から27日の間に、二段階認証ツールから借用した名前で4つのnpmパッケージが登場した。 認証OTP, シークレットキー-2FA, secretkey2fa (NAIST) と 2段階認証の秘密鍵 — 16 バージョンをまとめて保有。それぞれが新たに登録したアカウントから公開された (ベヤイロル, jeanpaul686g, zzzalipay, dluuuuuすべてメールアドレスが未確認で、ソースコード管理リンクも確認されておらず、他の情報も一切公開されていませんでした。しかも、すべて発行元によって撤回されていました。
ペイロードは試験ソフトウェアとは一切関係ありません。ブラウザの認証情報ストアとDiscordトークンを読み取り、Minecraftランチャーに対してXbox Live認証の手順をたどってリフレッシュトークンを取得します。インストーラー is 被害者とは、一般的な意味での被害者のことである。だからこそ、この比較は有用なのだ。なぜなら、配達の行動はどちらの場合も同じだからだ。
4つのサイクルは、公開順に274.9分、37.8分、37.6分、35.7分で実行されました。最初の試行は長く、その後、収束して安定した値が得られました。さらに3つのパッケージは別のオペレーターに属しており、同様の撤退挙動を示しています。
| パッケージ | Operator | 左に立っている |
|---|---|---|
octopus-action | 偵察ビーコン | 2.5 min |
mt-ts-serverless-starter | 偵察ビーコン | 9.6 min |
2fa-secretkey | 2FAのカバーネーム | 35.7 min |
secretkey2fa | 2FAのカバーネーム | 37.6 min |
secretkey-2fa | 2FAのカバーネーム | 37.8 min |
auth-otp | 2FAのカバーネーム | 274.9 min |
hex-encode-utils | その他 | 724.2 min |
7つのパッケージがあり、平均時間は37.8分で、いずれも試験ソフトウェアとは関係がなかった。
3つの無関係なペイロード、3つの無関係なアカウントセット、1つの共通手法。
なぜチャンスは失われつつあるのか
2026年の間にレジストリの環境に何らかの変化があり、その最も有力な候補はスキャン速度の向上である。
最近まで、悪意のあるパッケージは主に事後的に発見されていました。ユーザーが何かに気付いたり、下流からの報告があったり、定期的なスキャンによって発見されたりしていました。検出の遅延は数日単位でした。しかし、もはやそれが唯一の方法ではありません。新たに公開されたパッケージのほぼリアルタイムの分析により、 Xygeni独自のマルウェア早期警告システム 業界全体で増加しているこうしたシステムの中でも、出版から検査までの期間を大幅に短縮するものです。
この問題に直面するオペレーターには2つの選択肢がある。ペイロードの識別を困難にするか、閲覧可能な期間を短縮するかだ。後者の方がコストがかからず、エンジニアリングも不要で、レジストリが無料でその仕組みを提供している。npmの72時間以内の非公開期間内であれば、発行者はパッケージを一方的に削除でき、その後はパッケージ名を再利用できる。撤回にオペレーターは費用を一切負担しない。
タイミングが合っています。上記の2つの演算子はどちらも数値に収束し、ドリフトすることなくその値を維持します。これは、利便性の問題ではなく、調整されたパラメータの姿です。そして、それらが収束したパラメータ(数十分)は、cis自動検査を通過するために必要な場所に設置しつつ、同時にパッケージがユーザーに届くまで十分な時間、設置可能な状態を維持するようにする。
これはあくまで仮説に過ぎません。タイミングデータだけでは、スキャンへの対応とレジストリの執行への対応、あるいはこれらのオペレーターが互いに学び合うことで生じる通常の運用成熟を区別することはできません。推論を用いずに言えることはより限定的ではありますが、それでも有用です。 露出期間が非常に短いため、発行後にパッケージを検査することに依存するあらゆる管理は、オペレーターが設定した時間との競争となる。 検査に依存しない制御策(年齢による隔離、インストールスクリプトの無効化など)は、その競争の影響を受けないため、実際的な理由から、これらの制御策を優先すべきである。
それについて何をすべきか
年齢別の隔離措置。 滞留時間テーブルに記載されているものは、13時間経過しても何も残っていませんでした。依存関係のあるバージョンは、72時間経過するまでインストールできないというポリシーであれば、何も検出されることなく、それらすべてが除外されていたでしょう。
インストールスクリプトはデフォルトで無効になっています。 –無視-スクリプト このコーパス内の認証情報窃盗パッケージが依存する配信メカニズムを削除します。ユーザーが意図的に実行するツールには効果がありません。cis理解する価値のある違いは、まさにそこにある。
消失はセキュリティ上の事象として扱う。 インストール済みの依存関係が解決できなくなった場合に警告を発します。証拠はレジストリではなく、ロックファイルに保存されています。
名前ではなく、コンテンツを追跡する。 上記の6つのダイジェストは、パッケージ名、発行者アカウント、バージョン文字列に関係なく一致します。このオペレーターは、すべてのフィールドを変更することを実証しました。新規登録アカウントが1時間以内に唯一のパッケージを削除することを報告対象パターンとするレジストリ側のルールがあれば、メタデータのみに基づいて、ここに挙げたすべてのパッケージでルールが発動したでしょう。
そして、このカテゴリーの何かをインストールすることを検討している場合は、次の点にご注意ください。 レジストリで検出するのが難しい特性は、同時に、対処手段を一切残さない特性でもあります。責任を問うべき発行元も、更新パスも、実行した内容の記録も残らないのです。
インジケータ
| タイプ | 値 |
|---|---|
| File | bin/kalamasha-tool.js — 非standard ビンのエントリポイント |
| SHA-256 | 0c293be90c10c8a7618d25f4c4811fa63612b7bc5199b86e10bb31eb36c716dd |
| SHA-256 | e2fda5aa8397799669f29258f69e803cf05d322c1d93269eef6754ca024c3865 |
| プロセス | SearchApp.exe 正規のElectronランタイムの横に書かれた |
| 行動 | powershell -ExecutionPolicy Bypass -File windowsHide: true |
| 行動 | taskkill /F /T セーフ・エグザム・ブラウザー・プロセスをターゲットにする |
空のメンテナーリストの横 time.unpublished 記録 | |
| アカウント | letol39119, so1d1a7i27, lololololol435678, tagadob568, tayihim489, sahihai123, heytoshan |
| 参加申し込み | ogzmail.com、hutdot.com、ebflyai.com、prodbits.com — 使い捨てメール用ドメイン |
参考情報
- npmの公開解除ポリシー — 出版社が介入なしにパッケージを削除できる72時間の猶予期間。







