コンテンツにスキップ

アプリのセキュリティの穴をスキャンする

要点「セキュリティ」を開いて「セキュリティスキャンを実行」を押します。1〜2分で、MonstarX が 33 のルールでコードを確認し、アカウントを持たない第三者として動いているアプリを検査し、AI にアプリ全体を読ませます。A〜F の評価付きのスコアと、深刻なものから順に並んだ検出項目の一覧が表示されます。各項目には場所、問題になる理由、修正方法が書かれています。修正したい項目を選ぶと、MonstarX が通常の作成として修正し、もう一度スキャンします。結果はレポートとしてダウンロードできます。

短期間で書かれたアプリは、ブラウザを信用しすぎがちです。誰でも呼び出せる処理、誰のものかを確かめずに番号だけで取り出せる予約、ページから送られてきた価格をそのまま使う処理などです。攻撃者が探すのは、まさにこうした隙間です。

セキュリティ タブは、攻撃者と同じ目線でアプリを読み、見つかったものを深刻な順に並べ、修正を手伝います。MonstarX に組み込まれた小さな ペネトレーションテスト(わざと侵入を試みて安全性を確かめる検査)だと考えてください。

セキュリティスキャンを実行するには?

Section titled “セキュリティスキャンを実行するには?”
  1. プロジェクトを開き、上部のバーの セキュリティ をクリックします。

  2. セキュリティスキャンを実行 をクリックします。1〜2分かかります。

  3. 3 つの工程が順に終わるのを待ちます。タブを離れてもかまいません。スキャンは MonstarX のサーバーで続きます。キャンセル で止めると、それまでに見つかった内容は残ります。

上部のバーの セキュリティ タブのバッジは、スキャン中は回転するアイコン、終わると未対応の検出項目の数(いちばん深刻な項目の色)、未対応の項目がなければ緑の点になります。あとでもう一度スキャンするには、タブ上部の 再スキャン をクリックします。

スキャンでは何を確認しますか?

Section titled “スキャンでは何を確認しますか?”

スキャンは 3 つの工程でできています。

工程内容費用
コードチェックアプリのすべてのファイルに 33 のルールを適用します。サインイン確認の漏れ、持ち主を確かめずに変更されるレコード、コードに書き込まれたシークレット、文字列から組み立てたデータベースのクエリ、安全でない HTML、確認なしのアップロード、検証されていない Webhook などです。無料
ライブ検査アカウントを持たない第三者として、動いているアプリに読み取り専用のリクエストを送ります。サインインした人向けのページ、誰にでも応答するルート、別サイトからのアクセス、そして公開中のアプリではセキュリティヘッダーや、決して配信してはいけないファイルを確認します。無料
AI レビューAI モデルが検出項目を手元に置いてアプリ全体を読み、項目を確定するか除外し、読んでこそわかる問題を探します。ページから送られた価格を信用している、ページに表示しないデータを送っている、などです。チャットのリクエストと同じくクレジットを使用

ライブ検査は、アプリが公開中なら公開中のアプリに、そうでなければプレビューに対して行います。結果にはどちらを検査したかが表示されます。

OWASP は、Web アプリの最も深刻なセキュリティリスクの種類をまとめた、最もよく知られたリスト Top 10 を公開している非営利団体です。どの検出項目もこのいずれかに分類されるので、あなた(またはセキュリティの専門家)はどんな種類の問題かがわかります。

わかりやすく言うと
A01 アクセス制御の不備他人のものを見たり変えたりできてしまう。
A02 暗号化の失敗シークレットやコードが弱い方法で保存・生成されている。
A03 インジェクション入力された文字が、命令やコードとして実行されてしまう。
A04 安全が確認されない不安な設計無制限に無料のメールや予約ができるなど、アプリのしくみが悪用できる。
A05 セキュリティの設定ミスセキュリティヘッダーがないなど、設定が開きすぎている。
A06 脆弱で古くなったコンポーネント既知の穴がある古いソフトウェア。
A07 識別と認証の失敗サインインやセッションの扱いが弱い。
A08 ソフトウェアとデータの整合性の不具合外部のコードやデータを確認せずに信用している。
A09 セキュリティログとモニタリングの失敗シークレットがログに漏れる、または攻撃に気づけない。
A10 サーバーサイドリクエストフォージェリ(SSRF)攻撃者が選んだアドレスをアプリに取りに行かせられる。

CWE(Common Weakness Enumeration)は、具体的な弱点に番号を付けた一覧です。たとえば CWE-639:ユーザーが操作できる ID でレコードを取り出している などです。各検出項目には OWASP の分類と、あれば CWE のページへのリンクが付いているので、詳しく読めます。

上部には、100 点満点のスコア と A〜F の評価、重要度別の未対応の検出項目、スキャン・検査した対象、AI レビューにかかった費用、そして数文でまとめたレビューの概要が表示されます。

スコアは 100 点から始まり、重大 1 件につき 40 点、高 1 件につき 15 点、中 1 件につき 5 点、低 1 件につき 1 点が引かれます。評価は次にすべきことを示します。

評価スコア意味
A90〜100重大な問題は見つかりませんでした。
B75〜89いくつか整えておきたい点があります。
C55〜74利用者が増える前に、重要度「高」の項目を修正してください。
D35〜54深刻な穴があります。公開する前に修正してください。
F0〜34今のままでは、アプリは攻撃に対して無防備です。

各検出項目には、重要度、タイトル、OWASP の分類、CWE、どこで見つかったか(コードチェック、ライブ検査、AI レビュー)、スキャンの確信度(確定、可能性大、要確認)、ファイルと行が表示されます。クリックすると開きます。

  • 該当する行に印が付いた、その周りのコード。
  • 何が問題か、なぜ問題か、修正方法 を、わかりやすい言葉で。
  • AI レビュー のメモ:検出項目を確定したかどうかと、その方法。
  • コードで開く で、「コード」タブ のそのファイルに移動します。

AI レビューが誤検出だと判断した項目には、AI レビュー:実際の問題ではない可能性が高い と表示されます。その項目は一覧の最後に残りますが、スコアには数えられません。

一覧の下の 確認した項目 を開くと、実行したすべてのチェックが OWASP の分類ごとに、合格のチェック、検出項目の数、またはスキップした理由とともに表示されます。

見つかった問題を修正するには?

Section titled “見つかった問題を修正するには?”
  1. 修正したい検出項目にチェックを入れるか、すべて選択 をクリックします。2件を修正する ボタンが表示されます。作成の実行中はグレーのまま押せません。

  2. ボタンをクリックすると、MonstarX がこれから起こることを説明します。もう一度 2件を修正する をクリックします。

  3. 各検出項目は 機能プラン のタスク(セキュリティ:…。プランがいっぱいに近いときは 1 つのタスクにまとめられます)になり、セキュリティのバッジが付いた作成リクエストが 1 件チャットに送られます。通常のリクエストと同じように実行され、バージョン が残り、そのあと QA がアプリをテストすることもあります。

  4. 作成が終わると、スキャンが自動でもう一度実行されます。消えた項目は解消済みとして表示されます(エージェントが修正:2件)。まだ残っている項目には 修正後も残っています と表示されます。

実際の問題ではない検出項目は?

Section titled “実際の問題ではない検出項目は?”

その項目を開いて 対象外にする をクリックし、理由を選びます。

  • 実際の問題ではない
  • リスクを許容:把握したうえで受け入れる。
  • 別の方法で対処済み

対象外にした項目は 対象外 の一覧に移り、ほかのコードが変わっても、以降のスキャンでずっとそこに残ります。一覧に戻すには 元に戻す をクリックします。

セキュリティレポートをダウンロードするには?

Section titled “セキュリティレポートをダウンロードするには?”

結果の下にある レポートをダウンロード をクリックします。プロジェクト名の付いた Markdown ファイル(どのエディタでも開けるテキスト形式の文書)がダウンロードされます。例:paws-co-booking-security-report.md。内容はペネトレーションテストのレポートと同じ形です。

  • 対象と方法:いくつのルールをいくつのファイルに適用したか、何を検査したか、AI レビューが何をしたか。
  • 概要:スコア、重要度別の未対応の検出項目、レビューの概要。
  • 検出項目:それぞれの OWASP と CWE のリンク、場所、コード、何が問題か、なぜ問題か、修正方法。
  • 前回のスキャンから解消された項目 と、理由付きの オーナーが対象外にした項目。
  • チェック一覧:すべてのチェックとその結果。

開発者、クライアント、監査担当者と共有するのに便利です。レポートは、スキャンの実行が止まったあとにダウンロードできます。

スキャンは無料ですか?

コードチェックとライブ検査は無料です。AI レビューはチャットのリクエストと同じくクレジットを使い、かかった費用は結果に表示されます。検出項目の修正は、通常の作成と同じくクレジットを使います。

評価が良ければ、アプリは安全ということですか?

どんなスキャンもそれは保証できません。見つかるのは、ルール、検査、レビューで見えるものだけです。まず重大と高の項目を修正してもう一度スキャンし、お金や個人情報を扱う部分は、多くの人が使う前に人の目でも確認してもらってください。

スキャンは公開の前と後、どちらにすべきですか?

両方です。公開前にスキャンして大きな穴を見つけ、公開後にもう一度スキャンしてください。セキュリティヘッダーや、決して配信してはいけないファイルなど、一部のチェックは公開中のアプリにしか行われません。

プロジェクトを共有した相手もスキャン結果を見られますか?

見られません。スキャン結果には弱点がすべて書かれているため、「セキュリティ」タブはオーナーにだけ表示されます。

MonstarX 自身のサインインやデータベースのコードもスキャンしますか?

しません。これらの部分はどのアプリでも同じで、MonstarX が保守しています。スキャンが確認するのは、あなたのアプリのために書かれたコードと、動いているアプリです。

作成の実行中にスキャンを始めるとどうなりますか?

スキャンは作成が終わるまで(最大 10 分)待ってから、完成したコードを確認します。