OWASP ZAPでApp Exchangeのスキャンレポートを作成する
SalesforceのAppExchangeアプリをリリースするには、セキュリティレビューを通過する必要があります。そのプロセスの一環として、ソーススキャン(コードやシステムの脆弱性チェック)が求められます。
特に自社のSaaSと連携する場合、AppExchange用のコンポーネントだけでなく、自社SaaS側のソーススキャンも必須となります。
Salesforceではいくつかのスキャンツールが推奨されていますが、その中の一つであるChimeraを試したところ、申請後1ヶ月経ってもプロセスが進まず…。Salesforceサポートに問い合わせたところ、「Chimeraは他社でも苦労しているのでおすすめしない」との回答でした。
代わりにOWASP ZAPを推奨されたため、導入と設定を進めました。
今回は、M1 Mac環境でのOWASP ZAPの導入手順について、備忘録として残しておきます。
OWASP ZAPインストール
まずはZAPをインストールします。Homebrewを使うと簡単です。
brew install --cask owasp-zap
open /Applications/ZAP.app
ZAPがマルウェア判定されてしまう問題
最近のMacのセキュリティ機能により、ZAPがマルウェア判定されてしまい、そのままでは開けません。 (セキュリティリスクを伴う可能性があるため、自己責任で対応してください)

- システム設定 > プライバシーとセキュリティ に移動
- 「“ZAP.app”は開発元を確認できないため、開けません」と表示されたら、「許可」ボタンをクリック
- 一度開こうとしただけでは許可ボタンが表示されない場合、ZAPを開き直す
ZAPの設定(プロキシー設定)
ZAPを開いたら、プロキシーの設定を行います。
- セッションの保存方法を聞かれる → 「適当に一番上のオプションを選択」
- アドオン設定は閉じてOK
- プロキシーのポートを設定
-
ZAP > Settings > Network > Local Servers / Proxies
-
ポートを空いているものに設定

-
Firefoxでプロキシー設定
ブラウザのリクエストをZAPのproxyを通すようにすることでスキャンが実行されます。
Firefoxだと簡単にリクエストのproxy設定をできるので、Firefoxで進めます。
-
Firefoxの設定 > ネットワーク設定 > 手動でプロキシー設定する
-
ここでZAPのproxy設定と同じportを指定
-
HTTPSでも使用する、にチェック

FirefoxにZAPの証明書を設定
ZAPのプロキシ経由でサイトにアクセスすると、証明書が信頼されていないためエラーが発生します。これを回避するため、ZAPの証明書をFirefoxに登録します。
-
ZAPのServer Certificatesから証明書を保存

-
Firefoxの設定 > プライバシーとセキュリティ > 証明書を表示
-
「認証局証明書」の項目で「読み込む」を選択し、ZAPの証明書を追加

-
「ウェブサイトの識別に使用する」にチェックを入れる
ZAPでレポート生成
証明書を設定したら、実際にスキャンを実行し、レポートを作成します。
-
Firefoxでスキャン対象のサイトにアクセス
-
ZAPのUI上で、サイトのURLがキャプチャされていることを確認
-
ZAPのメニューから「レポートを生成」を選択
-
スキャン対象のURLを指定してレポートを作成

レポート例とセキュリティレビューへの対応
ZAPのレポートでは、以下のようなセキュリティリスクが指摘されます。
• CSP(コンテンツセキュリティポリシー)の設定
• CORS(クロスオリジンリソース共有)の設定
• Cookieのセキュリティ設定
• その他の脆弱性情報

AppExchangeのセキュリティレビューに提出する前に、レポートのアラートを修正しておくことで、審査通過率を向上させることができます!
まとめ
SalesforceのChimeraはスキャンの進行が遅いため、OWASP ZAPを使うのが現実的な選択肢となります。
ZAPの導入自体は簡単ですが、Mac環境ではマルウェア判定の回避や証明書の設定が必要になるため、事前に準備しておきましょう。
AppExchangeのセキュリティレビューをスムーズに通過するためにも、事前の脆弱性スキャンを活用して、安全なアプリを提供しましょう 🚀
Anycloudでは一緒に働くメンバーを募集しています!
Anycloudは、ユーザーの心を動かす体験を届けることを大切にしています。フルリモート・フルフレックスの環境のもと、ライフスタイルに合わせた働き方を実現しながら挑戦したい方を歓迎します。詳細はこちらをご覧ください。