コードは Cursor が書いた。本番は誰が確認した?
エージェントは動かすのは得意でも、何を外に出してしまったかに気づくのは苦手です。クライアント向けのプレフィックスが付いた環境変数、静的ファイルとして配信される .env、誰も追加しなかったヘッダー。公開中のサイトを診断して、その一覧をエージェントに戻しましょう。
無料・登録不要。基本診断は、通常のブラウザと同じリクエストしか送りません。
Cursor で作ったサイトで確認すること
- 重大無料診断
クライアントのバンドルに入ってしまったサーバー用シークレット
NEXT_PUBLIC_ や VITE_ の変数に入れたシークレットは、すべての訪問者がダウンロードする JavaScript にコンパイルされます。Stripe、OpenAI、Anthropic、AWS、GitHub などのキー形式を探します。
- 重大Pro
HTTP で取得できる .env や .git
ドメイン確認後、/.env や /.git/config といったよく知られたパスをいくつかリクエストします。すべてのパスワードを一度に差し出してしまうファイルです。
- 中無料診断
弱い、または存在しない Content-Security-Policy
ポリシーがない、あるいは unsafe-inline 付きでほとんど何も防げていない。どのディレクティブが弱めているかを示します。
- 低無料診断
ヘッダーに出ているサーバーのバージョン
どのフレームワークのどのバージョンを調べればいいか、攻撃者に正確に教えてしまうヘッダーです。
あるいは、Cursor 自身に診断させる
ScanYourSite を MCP サーバーとして接続し、サイトの診断と、見つかった問題の修正をエージェントに頼みましょう。どのレポートのプロンプトをチャットにコピーしても構いません。
app.example.com の次の問題を修正してください。 1. _next/static/chunks/app-4e2.js に Stripe のシークレットキー(sk_live_…9Kq)が含まれています。 これは NEXT_PUBLIC_STRIPE_KEY から来ています。Stripe でキーをロールし、変数名から NEXT_PUBLIC_ プレフィックスを外して、route handler の中だけで使ってください。 2. Content-Security-Policy がスクリプトに 'unsafe-inline' を許可しています。 代わりに middleware で nonce を使ってください。 完了したら再診断:https://scanyoursite.app/ja?check=app.example.com
マージのたびに、修正が元に戻るかもしれない
Pro なら新しいデプロイのたびに気づいて数分以内に確認します。CI から当社のデプロイフックを呼ぶこともできます。連絡するのは、新しく何かが壊れたときだけです。
プランを見るよくある質問
Cursor にはどう接続しますか?
アカウントで API トークンを作成し、ScanYourSite を MCP サーバーとして追加します。するとエージェントが、サイトの一覧表示、診断の開始、レポートの読み取りを行えるようになります。
なぜ .env と .git はいくつかのパスに絞っているのですか?
サーバーを探ることはブラウザの範囲を超えるため、所有を証明済みのドメインでのみ、既知の漏えいの短いリストに限って行います。
リポジトリもスキャンしますか?
いいえ。確認するのは公開中のサイトです。リポジトリに何が書かれていても、実際に公開されたものを捉えられます。
URL を貼るだけ。1分ほどで一覧が届きます。
どの指摘にも、あなたにとっての影響と直し方が付いています。AI コーディングツールにそのまま適用させるプロンプトとしても受け取れます。
無料・登録不要。基本診断は、通常のブラウザと同じリクエストしか送りません。