GitHub Security Labは、オープンソースのAIセキュリティエージェントと専用の監査タスクフローによって発見した、Androidアプリケーションの脆弱性24件を公開しました。
Securityawareness training
発見された問題には、ナビゲーションアプリ「OsmAnd」で位置情報を密かに追跡されるおそれのある欠陥や、AndroidのWikipediaユーザーを標的にしたアカウント乗っ取り攻撃につながる欠陥が含まれます。
GitHub Security Labの研究者であるKevin Stubbings氏は、同ラボの「Taskflow Agent」向けに特化したタスクフローを開発しました。Taskflow Agentは、繰り返しの多いセキュリティ調査の作業を自動化するために設計された、AI支援のフレームワークです。
これらのワークフローは、コードベース全体の監査をモデルに丸投げするのではなく、監査の工程を小さな段階に分割します。この手法により、モデルはアプリケーションのエントリポイントを特定し、Android特有の攻撃対象領域を洗い出し、該当する脆弱性クラスを評価できます。
Androidアプリの脆弱性24件
Android向けのタスクフローは、汎用的なコードレビュー用プロンプトでは見落としかねない、モバイル特有のリスクに対応しています。たとえば`gather_mobile_entry_point_info.yaml`というタスクフローは、Web、デスクトップなどのコンポーネントが混在するリポジトリから、モバイルのエントリポイントだけを切り分けます。
別のワークフローである`classify_application_local.yaml`は、対象コンポーネントに応じて、既知のAndroid特有の弱点パターンをモデルに調べさせます。
インテントを起点とするエントリポイントについては、安全でないブロードキャスト、confused deputy(混乱した代理人)の状態、攻撃者が制御可能なインテントエクストラ、エクスポートされたコンポーネント、安全でないディープリンクの解析、WebViewの欠陥、公開されたJavaScriptブリッジをモデルが調査します。
GitHubは、厳格で再現性のあるプロンプトと、より広範な探索的実行を組み合わせました。構造化されたプロンプトによって必須のチェックを確実に実行しつつ、自由度の高い分析によって、AIが分かりにくいロジックの欠陥やエクスプロイトチェーンを見つけ出せたといいます。
重大な問題の一つが見つかったのは、ダウンロード数1,000万件超のAndroidナビゲーションアプリ「OsmAnd」です。GitHubは、エクスポートされたコンポーネント`MapActivity`が、機密性の高い設定インポート用のパラメータをインテントエクストラ経由で受け付けていることを突き止めました。
このアプリは、`silent_import`、`replace`、`settings`タイプといったフィールドの値が、内部のAIDLサービスから渡されることを前提としていました。
しかし、このアクティビティはエクスポートされていたため、別のアプリが起動時に任意のエクストラを渡せてしまいます。この脆弱性により、悪意あるアプリは、特別な権限がなくてもOsmAndの設定を気付かれずにインポートし、上書きできる可能性がありました。
攻撃者は、アプリの既定の地図タイル取得元を、攻撃者が管理するサーバーに変更できます。サーバーは正規の地図タイルを返しながら、要求されたタイルの座標を記録することで、被害者の位置を推測できます。同じ手口で、ユーザーの出発地や目的地とみられる経路関連の情報も把握できます。その間、アプリの画面に目に見える変化は現れません。
Wikipediaのディープリンクによる乗っ取りチェーン
GitHubは、Wikipedia Androidアプリの脆弱性チェーンについても報告しました。このアプリは、アプリ内でコンテンツを開くために`wikipedia://`スキームを登録していますが、ディープリンクのハンドラーは`endsWith()`関数によるホスト名の末尾チェックを使っていました。
Vulnerabilityassessment service
このロジックでは、完全一致するホスト名を要求せず、`evil-wikipedia.org`のように`wikipedia.org`で終わる攻撃者所有のドメインを誤って受け入れてしまう可能性があります。その結果、悪意あるディープリンクによって、攻撃者が制御するコンテンツをアプリのWebView内に読み込ませ、あたかもWikipediaから発信されたやり取りであるかのように見せかけられます。
研究者らは、アプリのCookie管理ロジックにも、同じように脆弱なホスト名チェックがあることを確認しました。これらの欠陥を連鎖させると、攻撃者はディープリンクを起動し、アプリのWebView内でJavaScriptを実行して、有効期間の長いWikimediaのCookieを入手できます。さらに、Wikipedia、Commons、Wikidata、MetaといったWikimediaの各サービスにまたがって、アカウントを乗っ取れる可能性があります。
GitHubは、AIが出力した検出結果には、依然として専門家による検証が必要だと強調しています。モデルはAPIの挙動を把握し、攻撃経路の候補を見つけるうえで有効でした。一方で、誤検知も出しています。緩和策や複雑なアプリケーションロジックを見落とし、深刻度を過大評価することもありました。
開発者にとって重要なのは、AIタスクフローが、特にAndroid特有の繰り返し現れる攻撃対象領域について、コード監査の網羅性を高められるという点です。ただし、手動での攻撃検証、脅威モデリング、セキュリティレビューを置き換えるものではなく、あくまで補完的に使うべきです。
タスクフローは、GitHub Security Labのオープンソースリポジトリで公開されています。ユーザーはCodespaceを起動し、`./scripts/audit/run_mobile.sh myorg/myrepo`を実行できます。GitHubによると、Copilotライセンスとプレミアムモデルのリクエストが必要で、大規模なリポジトリの監査には1〜2時間かかる場合があります。
SOCのアラート調査1件あたり21分を短縮。即座のIOCコンテキストでSOCを強化し、迅速な対応を実現: SOCにTI Lookupを統合する
翻訳元: https://gbhackers.com/github-ai-agent-uncovers-24-android-app-vulnerabilities/