ShinyHuntersの回顧録:AIによる攻撃への耐性が必要なアプリを知る

Telegramグループのどこかに、あなたの会社に属する鍵が隠されているかもしれません。なぜかって?それはAIのせい。そして、多くの人がうっかり大量の機密情報を、一般公開される多くのアプリに漏洩させてしまうからです。 

Anthropicは2026年9月の脅威インテリジェンスレポートで、ShinyHuntersエコシステムに属するフランス語圏の単一のオペレーターが実行した認証情報収集作戦を記録した。このパイプラインは10個のAWS EC2ワーカー上で実行され、複数のアプリストアソースから180万個の異なるAndroid APKを大量ダウンロードし、それらをすべて逆コンパイルし、TruffleHogを使用してハードコードされた秘密情報(APIキー、クラウド認証情報、バックエンドトークンなど)をスキャンした。検証済みのヒットはリアルタイムでTelegramにルーティングされ、オペレーターが本番システムに到達する認証情報を優先できるように整理された。並行して、公開されているGitHubの個人アクセストークンも収集された。 

Anthropic の言葉によれば、これら 2 つのストリームは、オペレーターに関連付けられた「確認された侵害の大部分に対する初期アクセス認証情報を提供した」とのことです。そしてもちろん、彼らはそこで止まりませんでした。1 つの SaaS プロバイダーを侵害した後、オペレーターは、その企業の下流の顧客組織約 200 社に到達し、約 34 時間で 40 社以上の企業テナントに 2,100 を超える Azure AD トークン セットを流出させました。Anthropic は、AI エージェントが作業のほぼすべてを実行したと述べています。おっと。 

エージェントたちは何をしたのか?ダウンロード。逆コンパイル。スキャン。 

エミュレーターも、実機も、ルート化された端末も、計測フレームワークも、いかなる種類の実行も一切行っていません。実際、アプリは一度も実行されていません。これは、目に見える貴重なデータを迅速に検索するための、純粋な静的解析であり、その回数は約200万回に及びます。 

問題の範囲を理解する

これは、ほとんどのチームがモバイルアプリのセキュリティをどのように捉えているかという点で不快な意味合いを持ち、また、ここで私たちが自社製品について語る方法にも正直な意味合いを持つ。 Digital.ai改ざん検知、ルート化・脱獄検知、不正侵入対策、RASPといったランタイム保護機能は確かに有用ですが、ここでは全く関係ありません。アプリ実行時に作動する防御策は、アプリが実行されない攻撃には何の効果もありません。この特定の攻撃キャンペーンに関してこれとは異なることを言うベンダーは、このケースでは役に立たない製品を売りつけているのです。 

これは規模の理由も説明しています。アプリの実行にはコストがかかります。デバイスまたはエミュレータ、有効なアカウント、(場合によっては)ログイン、そして何が起こったかを判断する人間が必要です。ファイルの読み取りは安価です。実際、AIはバイナリの読み取りと理解にかかるコストをほぼゼロにまで削減しました。これにより、モバイルチームが長年ひっそりと抱えてきた「私たちのアプリは、誰かがわざわざ使うほど面白いのだろうか?」という疑問は解消されました。これらのアプリが労力に見合う価値があると判断した人はいませんでした。リソースを割り当てる努力もありませんでした。代わりに、攻撃者は「十分に広い網を投げれば、きっと何か面白いものが見つかるだろう」と考えました。  

これは既に周知の事実です。長期間有効な特権資格情報がモバイルアプリに組み込まれている場合、正しい解決策はそれを削除することです。特権資格情報はサーバー側に保持してください。アプリ側で認証を行い、クライアントが実際に必要とする特定の操作に対して、有効期限が短く、範囲が限定されたトークンを発行するようにしてください。使用クォータ、アプリケーション制限、および実行マニュアルに記載されているものではなく、実際にテスト済みのローテーションパスを追加してください。 

クライアント側の保護によってこの推奨事項が変わることはありません。制御できないデバイスに配信するアプリケーションは、定義上、防御対象者の手に渡ることになります。難読化によってクライアント側の秘密がアーキテクチャ的に秘密になるわけではありません。 safe, Digital.ai そう主張しているわけではない。 

まず、そのことをチームに伝えてください。それから、このキャンペーンの真髄である、2つ目の話し合いをしてください。 

硬化によって何が変わるか:抽出コスト 

2つ目の議論は、情報抽出コストの増加についてです。すべての秘密情報を明日にもサーバー側に移行できるわけではありませんし、バイナリが明らかにするものの中には、そもそも認証情報ではないものもあります。また、修復には数ヶ月かかるのに対し、スキャンパイプラインは数秒で完了します。そのため、限られたセキュリティリソースをどこに最適に投入するかを検討する際には、「私のアプリは侵入不可能か」ではなく、「私のアプリは処理コストが低いか」という問いが重要になります。 

その区別こそが、この攻撃のメカニズム全体です。180万個のバイナリを処理するパイプラインは、スループットを最適化しています。395,423番目のアプリの保護を突破するのに20分も費やすことはありません。むしろ、そのアプリを破棄し、コストのかからない他の1.79万個のアプリのいずれかに移ります。些細な静的読み取りをアプリごとの動的な処理に変換する保護はすべて、そのパイプラインからあなたを除外します。私たちはよく、「熊より速く走る必要はなく、一緒にハイキングしている他の人より速く走ればよい」と冗談を言います。この場合、あなたは群れの端にいる病気や弱ったアンテロープのように目立たないようにすればよいのです。  

能力、その機能、そしてそれがここで重要な理由

String Encryption Guard — App Hardening for Mobile (DEX 6.9.1、Native ARM 16.6.0) は、文字列リテラルをランタイム復号呼び出しに置き換えるため、静的逆コンパイルでは読み取り可能なデータは残されません。このツールは、このオペレーターが自動化する静的文字列スキャン手順を直接無効化し、アプリごとの動的攻撃を強制します。ただし、この攻撃は1.8万個のアプリには対応できません。

ホワイトボックス暗号化:エージェント1.1.1では、認証情報はアプリのパッケージIDと署名証明書に紐づけられた定数として存在するのではなく、`hideAndStore()`で保存され、`fetchAndUnhide()`で取得されます。これは、APIキーとOAuthトークンを保護するために特別に設計されています。耐障害性は静的抽出にとどまらず、ルート化、脱獄、デバッグされたデバイスにも及び、文字列暗号化だけでは実現できないレベルに達しています。

文字列暗号化はビルド時の設定です。ホワイトボックス暗号化は、開発者が意図的に統合するものであり、切り替えるフラグではありません。必要な労力は相当なものであり、詳細はこちらで読むことができます。まず重要なのは、実現可能な範囲を理解することです。署名証明書に紐づけられた暗号化されたデータとしてのみ存在する認証情報は、grepでは検出されませんし、スループットを最適化するパイプラインが追跡を停止するものでもありません。 

最後に確認しておきたいのは、あなたのチームの誰かが、現在使用している本番環境用のビルドを逆コンパイルして、その結果を読み取ったことがあるかどうかです。 

ほとんどの組織にとって、答えはノーです。それは不注意によるものではなく、通常のツールチェーンではそれが明らかにならないからです。静的解析はソースコードを読み取ります。構成解析は依存関係を読み取ります。どちらも、攻撃者が受け取るような形で成果物を表示しません。このようなパイプラインが目にするのは、攻撃者が受け取るようなアプリケーションの形式だけなのです。

自分のファネルには何が入っているのかを把握しましょう。そして、そのファネルにどれだけ深く関わりたいかを決めましょう。 

Digital.ai アプリ保護は、管理外に配布されたアプリケーションに対するAI支援によるリバースエンジニアリングや改ざんのコストをチームが引き上げるのに役立ちます。アプリ内の秘密がどこにあるかを見つけるためのサポートが必要な場合は、 無料アプリ評価 — または詳細についてはこちらをご覧ください モバイル向けアプリのセキュリティ強化 (NAIST) と ホワイトボックス暗号

ソース

人間活動、AIの悪用を検知し、対策する:2026年9月*(脅威クラスターGTG-50014)。製品の詳細は以下より。 Digital.ai モバイル向けアプリ強化(DEX 6.9.1、ネイティブARM 16.6.0)およびホワイトボックス暗号化:エージェント1.1.1のユーザーガイド。 

お勧めの関連ガジェット