Egzekwuj reguły agentów

Egzekwowanie to etap 2 kontroli agentów AI w SilentShield: zamiast tylko rejestrować wizyty agentów AI, Twój serwer lub edge aktywnie stosuje zasady przypisane do klucza — każdy agent jest dopuszczany, ograniczany lub blokowany. Buduje to bezpośrednio na trybie obserwacji. Komponenty egzekwowania (middleware Next.js, binarka sidecar, Cloudflare Worker) są obecnie udostępniane na życzenie w ramach wczesnego dostępu — napisz na [email protected].

Najpierw obserwuj, potem egzekwuj

Nasza jasna rekomendacja: najpierw włącz obserwację, pozwól jej działać tydzień lub dwa i przejrzyj raport, zanim cokolwiek zablokujesz — to samo etapowe podejście co tryb nauki Wordfence albo rollout DMARC (none → quarantine → reject). Dopiero raport pokazuje, które usługi AI naprawdę odwiedzają Twoją witrynę i ile kosztowałaby Cię blokada, na przykład cytowania w wyszukiwaniu AI. Egzekwowanie bez tego obrazu to decydowanie w ciemno.

Jak działa egzekwowanie

Każdy enforcer działa według tego samego kontraktu: pobiera pakiet zasad (policy bundle) dla Twojego klucza API, weryfikuje jego podpis Ed25519 względem przypiętych kluczy publicznych SilentShield, a następnie decyduje lokalnie — zezwól, odmów lub ogranicz — bez ani jednego wywołania na ścieżce żądania.

Przypięte klucze podpisujące pobierasz jednorazowo z https://api.silentshield.io/.well-known/silentshield-agent-keys. Każdy enforcer działa też fail-open: przy dowolnym błędzie — sieci, podpisu, wygasłego pakietu — żądanie jest przepuszczane. Egzekwowanie nigdy nie unieruchomi Twojej witryny.

Warianty konfiguracji

Next.js (Edge Middleware)

Ten sam adapter Next.js, który obserwuje, może też egzekwować. Ustaw zmienne środowiskowe zasad; middleware zastosuje wtedy Twoje zasady na edge:

.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)

Jedno malutkie binarium sidecar obsługuje wszystkie trzy proxy: proxy pyta je raz na żądanie przez forward auth. Uruchom je ze swoim kluczem witryny i zaufanymi kluczami:

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

Sidecar odpowiada na GET /auth kodem 204 (zezwolenie), 403 (odmowa) lub 429 z Retry-After (ograniczenie). Tak podłączysz go do swojego proxy:

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

Enforcer w Cloudflare Worker weryfikuje pakiet zasad przez Web Crypto Ed25519 i blokuje, zanim żądania w ogóle dotrą do Twojego origina:

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

Uczciwe ograniczenia

Przeglądarki agentowe na domowych adresach IP (Comet, ChatGPT Atlas i podobne) są technicznie nieodróżnialne od ludzkich odwiedzających. Żaden produkt nie potrafi ich wiarygodnie zidentyfikować — dlatego SilentShield świadomie nie składa dla tej kategorii żadnej obietnicy egzekwowania.

robots.txt i emitowane sygnały treści mają charakter zaleceń: dobrze wychowane crawlery ich przestrzegają, ale nic ich do tego nie zmusza. Techniczne egzekwowanie odbywa się wyłącznie w enforcerach opisanych na tej stronie — a nawet one działają zachowawczo i odmawiają tylko jednoznacznie zidentyfikowanym, znanym agentom, aby nigdy nie zablokować prawdziwych odwiedzających.

Skonfiguruj swoje zasady

To, co wolno któremu agentowi, konfigurujesz dla każdego klucza API w hubie agentów: Klucze API → wybierz klucz → Agent. Presety pokrywają typowe przypadki; każda zmiana staje się nowo podpisanym pakietem, który Twoje enforcery przejmują automatycznie.

Otwórz hub agentów →