はじめに
第1章 Quick Start
第2章 GitHub Actionsのワークフロー
第3章 デフォルト設定による自動診断の問題点
第4章 ちょっと複雑な診断対象アプリのセットアップ
第5章 ワークフローを新規追加
第6章 OWASP ZAPのログイン設定
第7章 GitHub Actionsにコンテキストを登録
第8章 ワークフロー修正
付録A Java 11 (JDK)のインストール
付録B OWASP ZAPのセットアップ
おわりに
イマドキのウェブアプリケーション開発は、GitHubやGitLabなどのバージョン管理サービス(VCS:Version Control System)でソースコードを管理するのが一般的です。さらに、イマドキのVCSには「CI/CD(Continuous Integration:継続的インテグレーション/Continuous Delivery:継続的デリバリー)」という仕組みが備わっています。CI/CDにより、開発したアプリケーションのビルドおよびテストや実行環境へのデプロイなどを自動化することができます。
CI/CDにより自動的にビルドやテストを実行できるのであれば、無償かつ商用利用も可能なOWASP ZAPを利用して脆弱性診断も自動的に実施してしまおう! というのが本書の趣旨です。
本書では、オープンソースの脆弱性診断ツール「OWASP ZAP」およびGitHubが提供しているCI/CDツール「GitHub Actions」を用いて、開発中のウェブアプリケーションに対して自動的に脆弱性診断を実施する方法を解説します。
・GitHubで管理しているウェブアプリケーションについて、リポジトリに対するpushの実行やpull requestの発行などのたびに自動的に脆弱性診断を実施する環境を構築する。
・脆弱性診断を実施する際に、自動的に診断対象アプリにログインすることでログイン後にしかアクセスできない画面や機能も診断できるようにする。
・脆弱性診断の設定をカスタマイズして、診断精度を高め、有益な診断結果が得られるようにする。
・OWASP ZAPとGitHub Actionsを連携させて脆弱性診断を自動的に実施する方法
・OWASP ZAPの自動診断の仕組みや考え方
・OWASP ZAPの診断設定のカスタマイズ方法
・GUI版OWASP ZAPの基本的な操作方法
・GitHubの基本的な操作方法
・ウェブアプリケーションを開発している人
・脆弱性診断について興味がある人
・Windowsのコマンドプロンプトについての基礎知識
・macOSやLinux系OSのシェルについての基礎知識
・GitHubの基本的な操作
本書に記載された内容は、情報提供のみを目的としています。したがって、本書を用いた開発・製作・運用は、必ずご自身の責任と判断によって行ってください。これらの情報による開発・製作・運用の結果について、著者はいかなる責任も負いません。
本書への情報・資料の掲載には注意を払っておりますが、掲載された情報の内容の正確性については一切保証しません。
本書に掲載された情報・資料の使用やダウンロードなどの行為に関連して生じたあらゆる損害等についても、理由の如何にかかわらず一切責任を負いません。
本書に掲載している情報には第三者が提供している情報が含まれていますが、これらは読者の便宜のために提供しているものであり、著者はその内容の正確性については一切責任を負いません。
本書で解説している脆弱性診断ツールは、ご自身が管理している、または、事前に所有者や管理者の許可を得ているアプリケーションに対してのみ使用してください。他者が所有・管理しているアプリケーションに対して無断で脆弱性診断ツールを使用した場合、法に基づき刑事罰を科されたり、民事上で、アプリケーションの所有者や管理者などから損害賠償請求を受けたりするおそれがあります。
本書に記載されている会社名、製品名などは、一般に各社の登録商標または商標、商品名です。会社名、製品名については、本文中では©、®、™マークなどは表示していません。
本書についてのお問い合わせは、以下のいずれかへお寄せください。
・Web:https://www.facebook.com/groups/zeijakusei.shindan.kenkyukai/
・Mail:nilfigo@gmail.com
・Twitter:@nilfigo