Agenten-Regeln durchsetzen

Die Durchsetzung ist Stufe 2 der KI-Agenten-Kontrolle von SilentShield: Statt KI-Agenten-Besuche nur aufzuzeichnen, wendet Ihr Server oder Ihre Edge Ihre Policy pro Key aktiv an — jeder Agent wird erlaubt, gedrosselt oder blockiert. Sie baut direkt auf dem Beobachtungsmodus auf. Die Enforce-Komponenten (Next.js-Middleware, Sidecar-Binary, Cloudflare-Worker) erhalten Sie derzeit im Early Access auf Anfrage — [email protected].

Erst beobachten, dann durchsetzen

Unsere klare Empfehlung: Aktivieren Sie zuerst die Beobachtung, lassen Sie sie ein bis zwei Wochen laufen und sehen Sie sich den Report an, bevor Sie etwas blockieren — dasselbe stufenweise Vorgehen wie der Lernmodus von Wordfence oder ein DMARC-Rollout (none → quarantine → reject). Erst der Report zeigt, welche KI-Dienste Ihre Website tatsächlich besuchen und was ein Block Sie kosten würde, etwa Zitate in der KI-Suche. Durchsetzen ohne dieses Bild heißt blind entscheiden.

So funktioniert die Durchsetzung

Alle Enforcer teilen sich denselben Vertrag: Sie holen ein Policy-Bundle für Ihren API-Key, verifizieren dessen Ed25519-Signatur gegen SilentShields gepinnte öffentliche Schlüssel und entscheiden dann lokal — erlauben, ablehnen oder drosseln — ohne einen einzigen Aufruf im Antwortpfad.

Die gepinnten Signaturschlüssel holen Sie einmalig von https://api.silentshield.io/.well-known/silentshield-agent-keys. Und jeder Enforcer arbeitet fail-open: Bei jedem Fehler — Netzwerk, Signatur, abgelaufenes Bundle — wird die Anfrage durchgelassen. Die Durchsetzung kann Ihre Website nie lahmlegen.

Setup-Varianten

Next.js (Edge-Middleware)

Derselbe Next.js-Adapter, der beobachtet, kann auch durchsetzen. Setzen Sie die Policy-Umgebungsvariablen; die Middleware wendet Ihre Policy dann an der Edge an:

.envbash
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>"}]

Reverse-Proxy (nginx / Caddy / Traefik)

Ein einziges, winziges Sidecar-Binary bedient alle drei Proxys: Der Proxy fragt es per Forward-Auth einmal pro Anfrage. Starten Sie es mit Ihrem Site-Key und den vertrauenswürdigen Schlüsseln:

Terminalbash
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

Das Sidecar antwortet auf GET /auth mit 204 (erlaubt), 403 (abgelehnt) oder 429 plus Retry-After (gedrosselt). So binden Sie es in Ihren Proxy ein:

nginx.confnginx
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 ...
}
Caddyfilecaddy
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
}
traefik.ymlyaml
http:
  middlewares:
    silentshield:
      forwardAuth:
        address: "http://agent-sidecar:8127/auth"
        authRequestHeaders:
          - "User-Agent"
          - "Signature"
          - "Signature-Input"
          - "Signature-Agent"

Cloudflare Worker

Der Cloudflare-Worker-Enforcer verifiziert das Policy-Bundle per Web-Crypto-Ed25519 und blockiert, bevor Anfragen Ihren Origin überhaupt erreichen:

Terminalbash
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

Ehrliche Grenzen

Agentische Browser auf Residential-IP-Adressen (Comet, ChatGPT Atlas und ähnliche) sind technisch nicht von menschlichen Besuchern zu unterscheiden. Kein Produkt kann sie zuverlässig identifizieren — SilentShield gibt für diese Kategorie deshalb bewusst kein Durchsetzungsversprechen ab.

robots.txt und ausgespielte Content-Signale sind Empfehlungen: Gut erzogene Crawler halten sich daran, aber nichts zwingt sie dazu. Technische Durchsetzung findet nur in den Enforcern auf dieser Seite statt — und selbst die handeln konservativ und lehnen nur eindeutig identifizierte bekannte Agenten ab, damit legitime Besucher nie blockiert werden.

Policy konfigurieren

Welcher Agent was darf, konfigurieren Sie pro API-Key im Agenten-Hub: API-Keys → Key auswählen → Agent. Presets decken die häufigen Fälle ab; jede Änderung wird zu einem neu signierten Bundle, das Ihre Enforcer automatisch übernehmen.

Zum Agenten-Hub →