チェック一覧
実行するすべてのチェックを、利用条件ごとに分けて掲載しています。所有者確認が不要なチェックは、公開サイトであれば毎回のスキャンで実行されます。所有者向けのチェックはプローブリクエストを送るため、ドメインを確認した後にのみ実行されます。有料チェックは現在開発中の高度な項目です。
実行するすべてのチェックを、利用条件ごとに分けて掲載しています。所有者確認が不要なチェックは、公開サイトであれば毎回のスキャンで実行されます。所有者向けのチェックはプローブリクエストを送るため、ドメインを確認した後にのみ実行されます。有料チェックは現在開発中の高度な項目です。
6 モジュール・22 チェック
| 深刻度 | チェック項目 | モジュール | ID | 所有者確認は不要(18) | サイト所有者のみ(4) | 有料(5) |
|---|---|---|---|---|---|---|
| 緊急 | .envファイルが誰でも閲覧可能 誰でもこれらの変数(通常はデータベースURLやAPIキー)をダウンロードできます。ボットは常に | 公開されたファイル | EXP-001 | 所有者確認は不要 | · | · |
| 緊急 | Gitリポジトリが公開されています
| 公開されたファイル | EXP-002 | 所有者確認は不要 | · | · |
| 緊急 | クライアントコードにシークレットキーが露出 すべての訪問者に送信されるJavaScriptから秘密のAPIキーが見つかりました。誰でもコピーしてあなたのアカウントを利用できます。 | クライアント側のシークレット | SEC-001 | 所有者確認は不要 | · | · |
| 緊急 | Supabaseのservice_roleキーが露出 service_roleキーはRow Level Securityを完全に回避します。このキーを持つ人は誰でもすべてのテーブルを読み書きできます。 | クライアント側のシークレット | SEC-002 | 所有者確認は不要 | · | · |
| 緊急 | TLS証明書の期限切れ、または期限間近 証明書が期限切れになると、ブラウザは全画面の警告を表示し、多くの訪問者が離脱します。 | 通信 & TLS | TLS-002 | 所有者確認は不要 | · | · |
| 高 | CORSが任意のオリジンを許可しています サーバーが任意のOriginをAccess-Control-Allow-Originにそのまま返しています。認証情報も許可されている場合、どのサイトでもユーザーのデータを読み取れます。 | HTTPヘッダー | COR-001 | 所有者確認は不要 | · | · |
| 高 | HTTPSが強制されていません サイトがHTTPSで提供されていないか、HTTPからHTTPSへリダイレクトされていません。公衆Wi‑Fiで通信を盗聴・改ざんされる恐れがあります。 | 通信 & TLS | TLS-001 | 所有者確認は不要 | · | · |
| 高 | TLS証明書が信頼されていません ブラウザが証明書を拒否しています(ホスト名の不一致、自己署名、チェーン不足)。訪問者にはセキュリティ警告が表示されます。 | 通信 & TLS | TLS-003 | 所有者確認は不要 | · | · |
| 中 | Cookieにセキュリティ属性がありません Secure、HttpOnly、SameSiteのないCookieは、HTTP経由で盗まれたり、注入スクリプトに読まれたり、クロスサイトリクエストで送信されたりします。 | HTTPヘッダー | CK-001 | 所有者確認は不要 | · | · |
| 中 | SPFレコードがありません SPFがないと、受信側のメールサーバーはどのサーバーがあなたのドメインでメールを送れるか判断できず、なりすましが容易になります。 | DNS & メール | DNS-001 | 所有者確認は不要 | · | · |
| 中 | DMARCがない、または適用されていません 適用されたDMARCポリシーがないと、攻撃者はあなたのドメインから送られたように見えるメールを送信できます。 | DNS & メール | DNS-002 | 所有者確認は不要 | · | · |
| 中 | Content-Security-Policyがない、または弱い 十分なCSPがないと、注入されたスクリプトがページとユーザーのセッションに完全にアクセスできます。 | HTTPヘッダー | HDR-001 | 所有者確認は不要 | · | · |
| 中 | クリックジャッキング対策がありません 他のサイトがあなたのページを非表示のフレームで読み込み、ユーザーにボタンをクリックさせることができます。 | HTTPヘッダー | HDR-002 | 所有者確認は不要 | · | · |
| 中 | HSTSがない、または期間が短すぎます Strict-Transport-Securityがないと、同じネットワーク上の攻撃者に通信をHTTPへダウングレードされる恐れがあります。 | 通信 & TLS | TLS-005 | 所有者確認は不要 | · | · |
| 低 | CAAレコードがありません どの認証局でもあなたのドメインの証明書を発行できます。CAAで実際に使う認証局に限定できます。 | DNS & メール | DNS-004 | 所有者確認は不要 | · | · |
| 低 | 基本的なセキュリティヘッダーがありません X-Content-Type-OptionsとReferrer-Policyは、MIMEスニッフィングを防ぎ、完全なURLが他サイトに漏れるのを防ぐ手軽な初期設定です。 | HTTPヘッダー | HDR-003 | 所有者確認は不要 | · | · |
| 低 | サーバーやフレームワークのバージョンが露出 バージョン情報は、攻撃者が既知の脆弱性と照合する手がかりになります。 | HTTPヘッダー | HDR-004 | 所有者確認は不要 | · | · |
| 低 | ソースマップが公開されています
| クライアント側のシークレット | SEC-004 | 所有者確認は不要 | · | · |
| 緊急 | ログインなしで読み取れるSupabaseテーブル サイトの公開anonキーを使って、これらのテーブルの行を読み取れました。Row Level Securityが無効か、公開読み取りを許可するポリシーがあります。 | バックエンド(Supabase / Firebase) | BAAS-002 | · | サイト所有者のみ | · |
| 緊急 | Firebase Realtime Databaseが誰でも読み取り可能 データベースのルールが認証なしの読み取りを許可しているため、誰でもデータをダウンロードできます。 | バックエンド(Supabase / Firebase) | BAAS-004 | · | サイト所有者のみ | · |
| 高 | Supabaseのストレージバケットが一覧表示可能 公開キーを持つ誰もがこれらのバケットのファイルを一覧でき、ユーザーのアップロードが露出することがよくあります。 | バックエンド(Supabase / Firebase) | BAAS-003 | · | サイト所有者のみ | · |
| 高 | Firebase Storageが誰でも一覧表示可能 Storageのルールが認証なしでのファイル一覧を許可しています。 | バックエンド(Supabase / Firebase) | BAAS-005 | · | サイト所有者のみ | · |
| 緊急 | 脆弱性テンプレートのフルスキャン 設定ミス、公開された管理画面、初期パスワード、既知のCVEを数千の安全なテンプレートで検査します。DoSや侵入的なテンプレートは実行しません。 | 高度なスキャン | ACT-001 | · | · | 有料近日公開 |
| 緊急 | 漏えいしたキーが有効か クライアントコードで見つかったキーについて、無害な読み取り専用の呼び出し(「自分は誰か」の確認など)で有効かどうかを判定し、どのキーをローテーションすべきかを示します。 | 高度なスキャン | SEC-007 | · | · | 有料近日公開 |
| 高 | 認証なしで使えるAPIエンドポイント OpenAPI/SwaggerやGraphQLのスキーマを読み、ログインなしでデータを返すエンドポイントを見つけます。 | 高度なスキャン | ACT-003 | · | · | 有料近日公開 |
| 高 | ログイン後のスキャンとIDOR 提供いただいた2つのテストアカウントで、IDを変えるだけで他のユーザーのデータを読んだり変更したりできないかを確認します。 | 高度なスキャン | ACT-004 | · | · | 有料近日公開 |
| 高 | AIによる業務ロジックのテスト AIエージェントが登録、決済、クーポンなどのフローをたどり、手順の省略、マイナス金額、AIエンドポイントの回数制限の欠如を探します。 | 高度なスキャン | AI-001 | · | · | 有料近日公開 |