エージェントルールの適用
適用はSilentShieldのAIエージェントコントロールのステージ2です: AIエージェントの訪問を記録するだけでなく、サーバーまたはエッジがキーごとのポリシーを能動的に適用します — 各エージェントは許可、制限、またはブロックされます。観測モードの上に直接構築されています。 エンフォースメントコンポーネント(Next.jsミドルウェア、sidecarバイナリ、Cloudflare Worker)は現在アーリーアクセスとしてリクエストに応じて提供しています — [email protected] までご連絡ください。
まず観測、それから適用
私たちの明確な推奨: まず観測を有効にして1〜2週間運用し、レポートを確認してから何かをブロックしてください — Wordfenceのラーニングモードや、DMARCのロールアウト(none → quarantine → reject)と同じ段階的な進め方です。どのAIサービスが実際にサイトを訪れているか、そしてブロックによって何を失うか(例えばAI検索での引用)は、レポートを見て初めて分かります。その把握なしに適用することは、盲目的に決断することを意味します。
適用の仕組み
すべてのエンフォーサーは同じ仕組みを共有します: APIキーのポリシーバンドルを取得し、そのEd25519署名をSilentShieldのピン留めされた公開鍵に対して検証し、その後ローカルで判断します — 許可、拒否、または制限。リクエスト経路での外部呼び出しは一切ありません。
ピン留めされた署名鍵はhttps://api.silentshield.io/.well-known/silentshield-agent-keysから一度だけ取得します。そして、すべてのエンフォーサーはフェイルオープンで動作します: ネットワーク、署名、バンドルの期限切れなど、いかなるエラーの場合もリクエストは通過します。適用がサイトを停止させることは決してありません。
セットアップの種類
Next.js(エッジミドルウェア)
観測に使うのと同じNext.jsアダプターで適用も行えます。ポリシー用の環境変数を設定すると、ミドルウェアがエッジでポリシーを適用します:
AGENT_POLICY_URL=https://api.silentshield.io/api/v1/agent/policy
AGENT_OBSERVE_API_KEY=YOUR_API_KEY
AGENT_TRUSTED_KEYS=[{"kid":"…","key":"<base64 ed25519 pubkey>"}]リバースプロキシ(nginx / Caddy / Traefik)
1つの小さなサイドカーバイナリが3つのプロキシすべてに対応します: プロキシはリクエストごとにforward authで問い合わせます。サイトキーと信頼する鍵を指定して起動してください:
AGENT_POLICY_URL="https://api.silentshield.io/api/v1/agent/policy" \
AGENT_SITE_KEY="YOUR_API_KEY" \
AGENT_TRUSTED_KEYS='[{"kid":"…","key":"<base64 ed25519 pubkey>"}]' \
AGENT_SIDECAR_LISTEN=":8127" \
./agent-sidecarサイドカーはGET /authに対して204(許可)、403(拒否)、または429とRetry-After(制限)で応答します。プロキシへの組み込み方は次のとおりです:
location = /_ss_auth {
internal;
proxy_pass http://127.0.0.1:8127/auth;
proxy_pass_request_body off;
proxy_set_header Content-Length "";
proxy_set_header X-Forwarded-Method $request_method;
proxy_set_header X-Forwarded-Uri $request_uri;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header User-Agent $http_user_agent;
proxy_set_header Signature $http_signature;
proxy_set_header Signature-Input $http_signature_input;
proxy_set_header Signature-Agent $http_signature_agent;
}
location / {
auth_request /_ss_auth;
# ... your normal proxy_pass to the origin ...
}example.com {
forward_auth 127.0.0.1:8127 {
uri /auth
copy_headers User-Agent Signature Signature-Input Signature-Agent
# Caddy sends X-Forwarded-Method/-Uri/-Host automatically
}
reverse_proxy origin:8080
}http:
middlewares:
silentshield:
forwardAuth:
address: "http://agent-sidecar:8127/auth"
authRequestHeaders:
- "User-Agent"
- "Signature"
- "Signature-Input"
- "Signature-Agent"Cloudflare Worker
Cloudflare Workerのエンフォーサーは、Web Crypto Ed25519でポリシーバンドルを検証し、リクエストがオリジンに到達する前にブロックします:
cd enforcers/cloudflare-worker
npx wrangler secret put AGENT_SITE_KEY
# set AGENT_POLICY_URL + AGENT_TRUSTED_KEYS in wrangler.toml [vars]
npx wrangler deploy正直な限界
家庭用IPアドレス上のエージェント型ブラウザ(Comet、ChatGPT Atlasなど)は、技術的に人間の訪問者と区別できません。どの製品も確実には識別できないため、SilentShieldはこのカテゴリについて、あえて適用の約束をしません。
robots.txtや出力されるコンテンツシグナルは勧告的なものです: 行儀の良いクローラーは従いますが、強制力はありません。技術的な適用はこのページのエンフォーサーでのみ行われます — そしてエンフォーサーも保守的に動作し、確実に識別された既知のエージェントのみを拒否するため、正当な訪問者がブロックされることはありません。
ポリシーの設定
どのエージェントに何を許可するかは、エージェントハブでAPIキーごとに設定します: APIキー → キーを選択 → エージェント。プリセットが一般的なケースをカバーし、変更するたびに新しく署名されたバンドルが生成され、エンフォーサーが自動的に取り込みます。