トロージャンマルウェアの配布用に 1 万カ所の GitHub リポジトリを発見しました

2026/06/18 20:45

トロージャンマルウェアの配布用に 1 万カ所の GitHub リポジトリを発見しました

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

数値のニュアンス、具体的なファイル形式、および著者がツールをリリースする能動的な役割に関する微妙な点を捉えるために、改善されたバージョンの使用が推奨されます。

改善されたサマリー:
2026 年 6 月時点での GitHub マルウェア分散に関する故事への最近の更新は、フォークではなく新しいリポジトリを利用してトロイの木馬マルウェアを分散させる高度なキャンペーンを明らかにしています。攻撃者は明確なパターンに従います:独自の名称とコントリビューターを持つリポジトリを作成し、合法的なプロジェクトからコミット履歴を複製して元の履歴を消去し、README に悪意のある ZIP アーカイブへのリンクで置換します。これらのアーカイブは特定の可执行ファイル(例:

Application.cmd
Launcher.cmd
loader.exe
)およびランダムな DLL を含んでおり、特に VirusTotal の直接リンクスキャンでは通常クリーンな結果が返される一方、アーカイブファイル自体をスキャンするとトロイの木馬が検出されます。以前の調査では、日間のリポジトリ更新の約 10% が数ヶ月または数年間継続する悪意ある脅威であることが特定されましたが、GitHub の手動報告プロセスは当初、応答期間が週間単位に及ぶため非効率的でした。この問題を解決するために著者は「Git Malware Finder」というスクリプトをリリースし、特定されたリポジトリの完全なリストを公開しました。最近、GitHub はこのツールでフラグ付けされたリポジトリを自動的に削除し始めており、既知のケースの大部分を排除しています。ただし、なぜ検出が現在主に新しいリポジトリに限られているか、キャンペーンの実際の規模と確認された一致との違い、そして検索インデックスおよび検出アルゴリズムから回避するために使用される具体的な戦術についてはまだ未解明な点が残っています。

本文

GitHub 上に存在するトロイの木馬型マルウェア配布リポジトリ 1 万件の発見と分析

はじめに

2026 年 6 月 18 日、著者は GitHub 上に少なくとも 1 万件の悪意あるリポジトリが存在していることを確認しました。これらには以下の共通特徴があります:

  • トロイの木馬型マルウェア配布サイトである
  • 複数の異なる発信者によって作成されている
  • 一意の名称を持つ独自のリポジトリ(フォークではない)
  • 共通する悪意あるパターンを示しており、検出スクリプトの開発が可能であった

発見の経緯と初期対応

きっかけとなった出来事

プロジェクト名を Google で検索した際、自分のリポジトリが表示されました。一方、Bing で同じ照会を実行すると、別人によって作成された同名かつ同内容のリポジトリが見つかりました。

  • そのリポジトリには元のすべてのコミット内容がコピーされており、著者がコントリビューターとしてリストされています
  • 1 時間後には新しいコミットが追加され、
    README.md
    ファイルに ZIP アーカイブへのリンクが含まれるようになりました

悪意ある行動パターン

追跡調査により、以下の循環的な行動様式が明らかになりました:

  • 数時間ごとに前のコミットを削除する
  • ZIP アーカイブへのリンクを追加した変更内容だけを再プッシュ(再アップロード)する

初期対応の結果

GitHub サポートチームやフォーラムへ報告しましたが、即時の対応はありませんでした。約 1 ヶ月後に削除完了の確認メールが届きました。現在も同様の活動が続いているリポジトリの例は以下の通りです:

マルウェアの内容分析

配布される ZIP アーカイブには通常、以下の 4 ファイルが含まれています:

  • Application.cmd
    または
    Launcher.cmd
    (起動スクリプト)
  • loader.exe
    ,
    luajit.exe
    など(実行ファイル)
  • random_name.cso
    または
    random_name.txt
    (ランダム名付けのファイル)
  • lua51.dll

検出特性:

  • ZIP アーカイブへのリンクを VirusTotal に提出すると、ウイルス検出結果は 0
  • ZIP ファイルそのものを分析すると、内部にトロイの木馬が検出される

検出スクリプトの開発プロセス

検索パターンの特定

マルウェア配布リポジトリの特徴的な指標は以下の通りです:

  1. 数時間ごとに前回のコミットを削除し、新しいものをプッシュする
  2. コミットで更新されるのは
    README.md
    ファイルのみ
  3. README.md
    ZIP アーカイブへのリンクが含まれている
  4. コミット内容は別のリポジトリからコピーされている
  5. 新規リポジトリであり、フォークではない
  6. 異なるコントリビューターと名称が割り当てられている

検索の最適化戦略

全 5 億のリポジトリを逐一分析することは不可能(API リクエスト制限:時あたり 5,000)であるため、以下の戦略をとりました。

使用ツール:

gharchive
(特定の日付以降の GitHub イベントデータをダウンロード)

  1. 直近数日のイベントアーカイブをダウンロード
  2. コミットプッシュイベントのみをフィルタリング
  3. 10 時間ごとに 2〜10 回更新されたリポジトリを特定

初期フィルタリングの結果

  • 過去 5 日間のコミットプッシュ総数:1,600 万件
  • 頻繁に更新されていたリポジトリ:3,000 件(ただし、どのファイルが変更されたかという詳細情報不足)

フィルタ条件の精査と訂正

スクリプトを実行後、初期の結果に対するフィルタ条件を追加しました:

  • コミット実行ユーザーがボットではないこと
  • 最後のコミットと前回のコミットの間に少なくとも 1 ヶ月以上の間隔があること
  • リポジトリに少なくとも 2 人以上のコントリビューターがいること

問題点の発見: 上記条件を適用した結果、一致したのはわずか 14 件。しかし、後ほど確認すると、これら 14 件のすべてはたった 20 時間前に更新されていたことが判明しました。

  • 「数時間ごとに更新」という条件が誤りであり、間隔の長い更新を有するリポジトリがフィルタリングされていた

最終的な分析結果

フィルタ条件を見直し、「24 時間ごとに 1〜24 回更新されたリポジトリ」を検索対象に変更しました。

  • 候補数: 40,000 件
  • 完全一致するマルウェアパターン: 10,000 件

これはフィルタリング対象全体の 25% に相当します。これら 10,000 件のリポジトリは:

  • トロイの木馬を含む ZIP アーカイブを配布している
  • 数ヶ月〜1 年以上も存在していた
  • GitHub が自動的に検出・削除を行わなかった

著者はこれらの情報を公開し、検出スクリプトを Git Malware Finder として提供しています。

未解決の問題点

以下の点は依然として不明瞭です:

  • なぜ新規リポジトリだけをクローンするのか?
  • なぜ数時間ごとにコミットを削除して再プッシュするのか?
  • GitHub が自動検出・削除を行わない理由は何か?
  • アーカイブから抽出される実行ファイルが実際に何を破壊しているのか?
  • このキャンペーンの実態規模はどの程度なのか?

著者の仮説

著者は以下の 3 つの仮説を立てています:

  1. システム脆弱性の理解

    • ゴールはシステムの仕組みを理解し、制限や脆弱性を発見・悪用すること
    • コミットの書き換えによって GitHub のセキュリティアルゴリズムを回避する
  2. ウイルスの拡散戦略

    • 新規リポジトリのみを対象とするのは、低検索ボリュームのキーワードに対し検索上位を表示するため
    • 人気の GitHub タグにも登録することでインデックス化と可視性を高めている
  3. 信頼構築(偽装)

    • 全てのコミットとコントリビューターをコピーすることで「公式」「本物」に見せる
    • コントリビュータープロフィール(コミット履歴)を確認可能なため、短期間ユーザーではないように見せかけ
    • 「昨日にはまだ存在しなかった」という実績を示して GitHub の検知アルゴリズムを回避する

注意: これらはあくまで仮説であり、実際の事情とは異なる可能性があります。

おわりに

GitHub API のリクエスト制限(時あたり 5,000)の影響により、著者はスクリプトを最適化しましたが、全マルウェアリポジトリのわずかな割合しか発見できていないと推測しています。

  • GitHub チームにはそのような技術的制限は存在しないはずであり、全 5 億のリポジトリを分析し、アーカイブや実行ファイルを特定してウイルススキャンを実施可能です。
  • 今回は規模が大きすぎるため、GitHub への直接リクエストは控えています。

本記事に興味を持たれる方は、以下のアップデートをご確認ください。


アップデート情報

  • アップデート 1:

    • 4 月 18 日付けの記事「How 109 Fake GitHub Repositories Delivered SmartLoader and Steal C.」を発見。
    • 著者は当時にすでに109 件のリポジトリを発見しており、マルウェアの動作詳細が説明されていました。
  • アップデート 2:

    • GitHub はスクリプトで発見されたすべてのリポジトリの削除を開始しています。
    • これらのリポジトリの多くは現在既に削除されています。
  • アップデート 3:

    • Reddit にある投稿(2025 年 2 月付け、約 1 年半前)でこのスキームについて言及されていました。
    • 当時の記述:「新しいリポジトリを作成している場合、それらはマルウェアをホストするために偽装されている」

著者は全ての最新情報・メモを TelegramBlueskyX で公開しています。

同じ日のほかのニュース

一覧に戻る →

2026/06/19 3:31

私は彼らに強制的同意は違法だと告げた。その結果、5年後エルクヨプは 180 万ユーロの損失を負った。

## Japanese 翻訳: 2021年7月、Elgiganten Kundklubb に加入後、著者はマーケティングメールからの脱退に際し、店舗会員の全キャンセルが必要となることを発見しました。この問題は、2021年7月30日に Elkjop のデータ保護官に通知され、GDPR 第 4 条 (11) 、第 7 条および第 21 条 (2)、また電子プライバシー指令への違反を指摘しました。Elkjop が同意と会籍の分離を拒否した際、著者は処理制限の要請(第 18 条)および開示請求(第 15 条)を提出することで対応をエスカレートさせました。その後、スウェーデン当局 (IMY) に提出された苦情(参照番号 DI-2021-6660)は、GDPR 第 56 条 (1) のワンストップ・ショップ規則に基づき、Elkjop Nordic AS がノルウェーに拠点を有することから、ノルウェーの Datatilsynet に移管されました。 2026年6月1日、Datatilsynet は Elkjop グループに対して 2,000 万ノルウェークローナ(約 180 万ユーロ)の制裁金を科しました。決定では、同意が強制されたものかつ非具体的であるため無効と認定され、GDPR 第 6 条 (4) の適合性評価に準拠せずに広告およびコンバージョン追跡のためにデータを利用したことは承認されていないと指摘されました。裁判所は GDPR 第 4 条 (11)、第 5 条 (1)(a)、第 5 条 (2)、第 6 条 (1)(a)、第 6 条 (1)(f) および第 6 条 (4) を引用しました。 著者は、この決定を GDPRhub を通じて初めて約五年後に発見し、IMY に対して苦情通知を行わなかったことについて(第 77 条 (2) )問い合わせを実施しており、五営業日以内に回答を求める旨を求めています。未解決の場合は Elkjop グループに対する民事訴訟を検討し、欧州委員会へのエスカレーションを行う可能性があります。この事例は重要な先例を示しています:企業は必須サービスに対して強制的な「オプトイン」条件を用いて、厳格な GDPR 同意要件を回避することはできません。

2026/06/16 7:36

アメリカン・エキスプレス:回復性決済システムのためのセルベースアーキテクチャ

## 日本語訳: American Express は、2018 年以来、その決済エコシステムを、アーキテクチャに直接リゼリアンス(回復力)を組み込むことで強化し、取引の失敗がシステム全体に影響を与えることを極めて稀にするようにしています。核心となる革新は、「セルベース」設計であり、これはマイクロサービスとデータベースを特定の地域内で複数エリアにまたがることなく、それぞれが一つの障害ドメインとして機能するように、孤立した単位である「セル」にグループ化したものです。このアプローチは、不安定なモノリシック構造を、数百万件の日次ライブ取引を確実に処理する堅牢で自律的なインスタンスに置き換えます。速度の向上と隔離の確保のため、同期的ルックアップを避けるために静的データは事前に複製され、動的データについては Global Transaction Router が決定論的ルーティングを使用して、権威のあるデータを保持するセルへのトラフィックを誘導します。ログ記録などのクリティカルパス依存関係は非同期に保たれ、ブロッキングを防ぎます。また、安全な再試行のために一意の識別子を通じて冪等性を維持しています。システムには、不安定になっているセルを漸次的にドレインして健康なセルへトラフィックをシフトさせるインテリジェントなトラフィックシフティングのメカニズムが含まれており、これにより急激な障害なしに処理が行われます。ただし、このリゼリアンスには限界があり、取引が外部システム(例:カード発行会社)に到達した時点で、「戻れない点」に達し、それ以降はルーティングの変更が不可能となります。最終的に、この戦略はエラーを局所的境界内に収容することで安定したユーザー体験を保証し、要求の厳しい金融環境でハイアベイラビリティシステムを拡張するための実証済みブループリントを提供します。

2026/06/18 23:24

Ubiquiti:ZFS を採用したエンタープライズ向け NAS

## Japanese Translation: ## まとめ: 主なメッセージは、ENAS が伝統的なインフラストラクチャの高いコストや制限なしにエンタープライズグレードのパフォーマンスを提供する、強力かつプライベートなローカルストレージソリューションであることを示しています。ベンダーロックインと継続的なライセンス料を回避することで、スケーラビリティとシンプルさを求める現代の IT 環境への安価な代替手段を提供しています。该系统は、効율을設計された強力な処理ユニットである 8 つの Arm Neoverse N2 コアを備えた堅牢なハードウェア、ならびに迅速なデータアクセスを確保するデュアル NVMe キャッシュを通じてこの実績を達成します。また、ライセンスフリーな管理のために UniFi プラットフォームとシームレスに統合され、プロキシモックスやウーマレなど主要なバーチャライゼーションツールのサポート、安全なアクセス、centralized 制御を含む複雑なマルチデバイスセットアップを単一化して消去します。将来の機能として、UniFi Fabrics を使用した高度な中央集権型バックアップオーケストレーションと、Microsoft 365 ユーザーデータの直接保護が可能になります。最終的には、このプラットフォームはユーザーにレジリエンス、共有ブロックストレージ機能、および不要なオーバーヘッドなしでの堅牢なエンタープライズデータ管理へのスチームラインドなパスを付与します。

トロージャンマルウェアの配布用に 1 万カ所の GitHub リポジトリを発見しました | そっか~ニュース