インストール前にIPAファイルのマルウェアをスキャンする方法
App Store以外からIPAファイルをインストールする前に、数分かけて確認しておくことで、ログイン情報や連絡先、位置情報を盗み取る改ざんされたアプリを避けられます。このガイドでは、オンラインスキャンによる簡単なチェックから、ファイル内部を自分で確認する方法、さらにすでに不審なものをインストールしてしまった場合の対処法まで、IPAファイルのマルウェアチェックの実践的な方法を解説します。最終確認日:2026年10月27日、VirusTotalおよびMobSFのドキュメント、iOS 26向けApple「iPhoneユーザガイド」を参照しています。
まずはリスクについて
- どのスキャンを使っても、IPAが安全であると証明することはできません。スキャナーは既知の脅威を検出しますが、新しい、あるいは巧妙に隠された改ざんはすべてのチェックをすり抜けてしまう可能性があります。
- オンラインスキャナーにファイルをアップロードすると、そのファイルは共有されます。VirusTotalのドキュメントには、結果は「審査を行うパートナー間で」共有され、「提出されたファイルやページの内容がVirusTotalのプレミアム顧客と共有されることもある」と記載されています。自分のデータや非公開のビルドを含むIPAは絶対にアップロードしないでください。
- スキャン結果よりも入手元の方が重要です。開発者本人のリリースページから入手したファイルは、同じアプリでも見知らぬ第三者が再アップロードしたものに比べてはるかにリスクが低くなります。
簡易チェックリスト
| チェック項目 | 所要時間 | 必要なもの | 検出できるもの |
|---|---|---|---|
| 入手元の調査 | 5分 | ブラウザ | 偽サイト、再アップロード、評判の悪い配布元 |
| ファイルのハッシュ値確認 | 1分 | ターミナル、公開されているハッシュ値 | 配布元が公開した後にファイルが改変されていないか |
| VirusTotal | 数分 | ブラウザ | アンチウイルスエンジンがすでに検出している既知のマルウェア |
| IPAの中身を確認 | 10分 | 解凍ツール、できればMac | アプリに注入された余分なライブラリ |
| MobSF | 15分以上 | Docker、またはオンラインデモ | 危険な権限、トラッカー、ハードコードされたURLやキー |
IPAファイルが危険な理由
IPAファイルとは、iOSアプリを格納したZIPアーカイブです。適切なツールさえあれば、誰でも本物のアプリに独自のコードを追加し、再度パッケージ化して配布することができます。その結果できたアプリは見た目も動作も元のアプリと同じですが、追加されたコードはそのアプリに許可した権限で、バックグラウンドで動作する可能性があります。これはリパッケージ版、または改変版アプリと呼ばれ、App Store以外の経路でマルウェアがiPhoneに侵入する主な手口です。
サイドローディングツールは、インストール前にすべてのアプリを新しい証明書で再署名します。そのため、iPhone上の署名を見ても、そのアプリを誰が作ったのかは分かりません。だからこそ、インストール前に以下のチェックを行う必要があるのです。
方法1:配布元を調べる
これはまず最初に行ってください。まだどのスキャナーも把握していないような問題を見つけられる唯一のチェック方法だからです。
- ミラーサイトよりも、アプリのGitHubリリースページなど、開発者自身のリリースページを優先しましょう。
- 該当のファイル名や配布元名をそのままRedditで検索し(r/sideloaded、r/jailbreak)、問題の報告がないか確認しましょう。
- できたばかりのウェブサイト、匿名のファイルホスティングリンク、履歴のないTelegramチャンネルには注意してください。
- 有料アプリを無料で配布しているサイトには特に注意してください。そうしたファイルは、その性質上、必ず誰かによって改変されています。
IPAライブラリとリポジトリの一覧記事で、配布元を選ぶ際に確認すべきポイントを紹介しています。
方法2:ファイルハッシュを確認する
開発者によっては、ダウンロードリンクの横にSHA-256ハッシュを公開していることがあります。ハッシュとはファイルの指紋のようなもので、1バイトでも変更があればハッシュの値は完全に変わります。お手元のファイルのハッシュが公開されている値と一致すれば、それは開発者がリリースしたものと全く同じファイルであることになります。
- Mac: ターミナルを開いて
shasum -a 256 /path/to/app.ipaを実行します - Windows: PowerShellを開いて
Get-FileHash C:\path\to\app.ipa -Algorithm SHA256を実行します - Linux:
sha256sum /path/to/app.ipaを実行します
この確認が意味を持つのは、ハッシュが開発者自身から公開されている場合のみです。ファイルを入手したのと同じサイトに掲載されているハッシュでは意味がありません。ミラーサイト上のハッシュは、そのファイルがミラー側がアップロードしたものと同一であることしか証明できないのです。
方法3:VirusTotalでスキャンする
VirusTotalは無料のサービスで、公式ドキュメントによると「70以上のアンチウイルススキャナーとURL/ドメインのブロックリストサービス」に照らしてファイルをチェックします。
- パソコンでvirustotal.comを開きます。
- Fileを選び、IPAファイルを選択して、スキャンが終わるのを待ちます。
- アップロードする前に、ファイルのSHA-256ハッシュをSearchタブに貼り付けてみてください。すでに同じファイルがスキャンされていれば、何もアップロードせずに結果を確認できます。
- 検出数だけでなく、検出名も確認しましょう。
結果の見方:
- 複数のエンジンが同じマルウェアファミリー名を挙げている場合: インストールしないでください。
- 汎用的な名前での検出が1~2件の場合: 誤検知の可能性があります。VirusTotalのドキュメントでも、「1つ以上のスキャナーによって悪意があると検出された、通常かつ無害な項目」を見つけるのにも役立つとされています。結果に付いているコミュニティのコメントを確認し、入手元をもう一度チェックしましょう。
- 検出なしの場合: どのエンジンもマルウェアとして認識していないという意味です。ファイルが安全だという意味ではありません。
方法4:IPAの中身を確認する
IPAはZIPファイルなので、インストールせずに開くことができます。
- ファイルをコピーし、コピーしたファイルの名前を
app.ipaからapp.zipに変更します。 - 解凍します。中には
Payloadフォルダがあり、その中にAppName.appフォルダが入っています(Macの場合は、右クリックして「パッケージの内容を表示」を選択してください)。 Info.plistを開き、バンドルIDとバージョンを確認します。これらは想定しているアプリと一致しているはずです。Frameworksフォルダとアプリフォルダ内で.dylibファイルを探します。注入されたコードは通常、アプリと無関係な名前を持つ追加のdylibとして追加されます。
Xcodeコマンドラインツールが入ったMacでは、さらに2つのコマンドで詳しく調べられます。
otool -L Payload/AppName.app/AppNameは、アプリのメインプログラムが読み込むライブラリの一覧を表示します。アプリ自身のフレームワークではないライブラリへのパスがある場合は、注意が必要です。codesign -dv --verbose=4 Payload/AppName.appは、そのファイルに署名した人物を表示します。想定している開発者と照らし合わせてください。ただし、多くのIPAは未署名、あるいは再署名された状態で配布されている点に注意してください。
tweakアプリのような改変されたアプリの中には、もともと追加のdylibを含むことを前提としたものもあります。その場合、問題はdylibがあるかどうかではなく、それを追加した人物を信頼できるかどうかです。
方法5:MobSFによる詳細分析
Mobile Security Framework(MobSF)は、無料のオープンソースツールです。READMEによると、静的解析ツールはIPAファイルを含むアプリバイナリに対応しており、マルウェア解析やプライバシー解析などの用途が挙げられています。IPAに対するMobSFのレポートでは、要求されている権限、通信先のネットワークアドレス、アプリ内で見つかった文字列といった情報が表示されます。
- 自分で実行する場合: READMEにはDockerでのセットアップ方法が記載されています。
docker pull opensecurity/mobile-security-framework-mobsf:latestを実行し、続けてdocker run -it --rm -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latestを実行して、ブラウザでlocalhost:8000を開きます。 - オンラインで利用する場合: READMEには、オンライン版の静的解析ツールmobsf.liveへのリンクが記載されています。VirusTotalの場合と同様のプライバシー上の注意点が当てはまります。つまり、ファイルを他者のサーバーにアップロードすることになります。
アプリに本来不要なはずの権限(電卓アプリが連絡先へのアクセスを求めるなど)や、そのアプリの開発者に属さない通信先アドレスがないか確認してください。
すでに不審なアプリをインストールしてしまった場合
- アプリを削除します。アイコンを長押しして「Appを削除」をタップし、続けて「Appを削除」を選択します。
- 「設定」>「一般」>「VPNとデバイス管理」を確認し、見覚えのないプロファイルがあれば削除します。
- 「設定」>「プライバシーとセキュリティ」で権限を確認し、そこにある「Appプライバシーレポート」で、アプリがどのドメインと通信していたかを確認します。
- そのアプリ内でサインインしたアカウントのパスワードを変更します。まずは Apple Account とメールから始めてください。
- 深刻な侵害だと思われる場合は、必要なデータをバックアップしたうえで、「設定」>「一般」>「転送またはiPhoneをリセット」>「すべてのコンテンツと設定を消去」からiPhoneを初期化します。
各権限ごとの手順は、信頼できないアプリからのアクセスを取り消す方法のガイドをご覧ください。
良い習慣
- 開発者自身のリリースページがある場合は、そこからアプリを入手してください。
- ハッシュが公開されている場合は確認し、毎回VirusTotalでスキャンしてください。
- 権限は、そのアプリの用途上必要な場合にのみ許可してください。
- ツールが求める場合は、サイドローディング専用の別のApple IDを使い、メインアカウントが危険にさらされないようにしてください。
全体像については、iOSサイドローディングの安全性ガイドとエンタープライズ証明書について知っておくべきことをご覧ください。
よくある質問
iPhoneでIPAをスキャンできますか?
SafariでVirustotal.comを開き、ファイルアプリからファイルをアップロードできます。IPAの中身を確認したり、MobSFを実行したりするにはパソコンが必要です。
App Storeの審査は、サイドロードしたアプリを保護してくれますか?
いいえ。サイドロードしたIPAは、元のアプリがApp Storeにあったとしても、App Reviewを経ていません。
VirusTotalの結果がクリーンであれば十分ですか?
いいえ。それは単に、どのエンジンもそのファイルを既知のマルウェアとして認識していないという意味にすぎません。信頼できる入手元の確認と、ファイル内部のチェックを組み合わせてください。