本文へスキップ
PENTESTLAB

Technology

診断技術と、その限界

何をどのように確認しているのか、何ができないのか。初めてご利用いただく方にも判断していただけるよう、仕組みを公開しています。

稼働中

無料Webセキュリティチェックの仕組み

通常のWebブラウザがページを表示するときと同じ方法で、数回だけページを取得し、その応答に含まれる設定を確認します。攻撃を模した通信は送りません。

  1. 01

    URLの検証

    形式・スキーム・ポート・ドメインを確認

  2. 02

    宛先の確認

    DNSを解決し、公開アドレスのみ許可

  3. 03

    ページの取得

    確認済みアドレスに固定してGET

  4. 04

    設定の判定

    公開している判定ルールで14項目を評価

  5. 05

    結果の表示

    根拠・対策・未検証の理由とともに表示

  6. 06

    AIによる総評

    判定結果だけをもとに、優先順位と進め方を文章化

対象サイトへのアクセス仕様
送信するリクエストGETのみ。1回のチェックで最大8回(通常は3回)
取得するページ入力されたURL(HTTPS)、http:// のトップページ、/.well-known/security.txt
リダイレクト最大4回まで追跡。転送先ごとにURLと接続先アドレスを再検証
タイムアウト1リクエストあたり6秒、全体で9秒
取得するデータ量HTMLは先頭512KBまで。それ以上は読み込みを中止
同じサイトへの再チェック10分以内は前回の結果を表示し、対象へ再アクセスしない
User-AgentPentestLabChecker/0.1 (+passive header check; non-intrusive; https://pentest-lab.jp/technology)
結果の保存チェック結果は10分間のメモリ上の一時保持のみ。AIの総評は再利用のため24時間保存
AIによる総評チェック結果のみをClaude(Anthropic)に渡して作成。対象サイトのHTML本文は渡さない

このチェック機能自体の安全対策

URLを受け取ってサーバーから接続する仕組みは、悪用されると社内ネットワークへの踏み台になり得ます(SSRF)。そのため、次の対策を実装しています。

  • http:// と https:// 以外、および標準以外のポート(80 / 443以外)のURLは受け付けません。
  • IPアドレスの直接指定、ユーザー名・パスワードを含むURL、.local や .internal などの内部向けドメインは受け付けません。
  • ドメイン名を解決したすべてのアドレスが、インターネット上の公開アドレスであることを確認します。社内ネットワークやクラウドの管理用アドレスを指す場合は中止します。
  • 通信は、確認済みのアドレスに固定して行います(確認後に宛先がすり替わる攻撃への対策)。
  • 送信元ごと・全体の利用回数と同時実行数に上限を設けています。

無料チェックでのAIの使い方

判定そのものは上記のルールで行い、AI(Claude)は判定結果を読み解いて、総評と優先対応の順番を文章にする役割だけを担います。

  • AIに渡すのは、上記の判定結果(項目ごとの判定・観測した設定値)だけです。対象サイトのページ本文は渡しません。ページに書かれた文章によってAIの出力が操作されることを防ぐためです。
  • AIには「結果にない問題を書かない」「安全を保証する表現を使わない」「未検証の項目を問題なしと扱わない」ことを指示しています。
  • AIが挙げた優先対応は、実際に「改善候補」「参考」と判定された項目と照合し、該当しないものは表示しません。
  • 総評はあくまで判定結果の読み解きです。判断の根拠は、項目別に表示している観測内容をご確認ください。
開発中・提供開始前の設計方針

有料診断におけるAIの役割

検査計画の整理や結果の分析・説明といった「考える」作業はAIが担います。一方で、対象サイトの安全に関わる制御はAIに委ねません。

有料診断は、AIを活用した検査に加え、運営者(坂口祐麿)が結果を確認したうえでレポートを納品します。完全自動のセルフサービスではありません。以降は、その診断の設計方針と技術的な前提をご説明します。仕様は継続的な検証に応じて本ページで更新します。

検査計画の整理

収集したページや機能の情報から、確認すべき観点と順序を整理します。

結果の分析

検査ツールの出力を読み取り、重複の整理や、悪用可能性の判断材料をまとめます。

説明文の作成

専門知識がなくても理解できるよう、問題の内容・影響・対策を文章にします。

AIに委ねないこと

  • 診断範囲・送信先の制限は、AIの判断ではなくシステム側の設定で強制します。範囲外への通信はAIの指示があっても送信しません。
  • リクエストの送信速度と回数の上限も、システム側で強制します。
  • サービス妨害やデータの破壊・改ざんにつながる操作は、検査の手順として実装しません。

自動診断の構成

長時間の診断を安定して行うため、Webサイトとは切り離した専用の診断環境で実行する構成を予定しています。

Webサイト

申込・権限確認・同意・決済・進捗表示

診断キュー

合意した範囲・上限を記録したジョブ

独立した診断ワーカー

検査ツール+AI。範囲と速度の上限を強制

Standards

準拠する標準(ASVS・WSTG・CWE・CVSS)

有料診断は国際的な標準・ガイドに沿って進めます。これらに「沿う」「準拠する」とは、各標準の考え方に従って確認・分類・採点するという意味で、OWASPなどによる認証・お墨付きを意味するものではありません。

WSTGWeb Security Testing Guide(OWASP)

何を・どの順で確かめるか、検査手順の背骨として用います。両プラン共通です。

CWE脆弱性の種類の分類

見つかった問題を国際的な分類体系で整理し、対策を調べやすくします。両プラン共通です。

CVSS重大度の採点

問題の深刻さを共通の基準でスコア化し、対応の優先順位づけに使います。両プラン共通です。

ASVSApplication Security Verification Standard(OWASP)

確認すべきセキュリティ要件のガイドです。ソースコード診断(¥30万)ではコードを読めるため L2目安に沿った網羅確認を行います。脆弱性診断(¥10万)はコードを見ないため、外部から検証可能な範囲に限られ、フル準拠ではありません。

Scope & Limits

診断範囲と限界

  • 診断は、合意した範囲・期間・方法で確認できたことを報告するものであり、すべての脆弱性の発見や安全性を保証するものではありません。
  • 脆弱性診断(¥10万)はコードを読まないため、ハードコードされた秘密情報・暗号実装の不備・業務ロジックなど、コードを読まないと分からない問題は見つけにくい傾向があります(ソースコード診断の領域です)。
  • 複数の手順を組み合わせた業務ロジックの不備など、自動化された検査では見つけにくい問題があります。
  • 第三者が運営するサービス(決済代行・外部SaaS等)は、その事業者の許可なく検査できないため対象外です。
  • 診断後に行われたサイトの更新・設定変更や、新たに公表された脆弱性は、診断結果には反映されません。
  • 検証できなかった観点は、理由とともにレポートに明記します。

False Positives

誤検知への対応方針

  • 指摘事項には、判断の根拠となった実際の通信内容を必ず添付します。根拠を示せないものは指摘として扱いません。
  • 自動検出の結果は、再度の確認で同じ挙動が再現できたものを指摘とします。
  • 確度が十分でないものは「要確認」として区別し、確定した問題と混在させません。
  • 誤検知のご指摘をいただいた場合は、根拠となった通信内容を確認し、必要に応じて訂正します。

Quality

診断品質の検証方針

  • 意図的に脆弱性を組み込んだ検証用のWebアプリケーションを用いて、検出できた問題・見落とした問題・誤って検出した問題を記録します。
  • 観点ごとに結果を評価し、一定の精度が確認できた観点のみを提供範囲として掲載します。
  • 評価の方法と結果の概要は、順次本ページで公開します。

Load Control

診断対象への負荷対策

無料チェック・有料診断に共通する考え方です。
  • 送信速度・総リクエスト数の上限を設定し、超えないよう制御します。
  • 実施時間帯をお客様と合意し、アクセスの少ない時間帯での実施を選べるようにします。
  • エラー率や応答時間の悪化を検知した場合は、自動的に速度を落とす・中断する仕組みを設けます。
  • お問い合わせフォームの送信など、副作用のある操作は事前の合意がない限り実行しません。

関連記事:PHPの脆弱性(2026年10月)とは?WordPressサイトの確認方法と対処手順

今すぐ無料でチェック

登録不要・0円。結果はその場で表示されます。

ご自身が管理しているサイト、または管理者の了承を得たサイトでご利用ください。 対象サイトへのアクセスは数回のページ取得のみで、攻撃や負荷のかかる検査は行いません。