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:
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:
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-sidecarSidecar odpowiada na GET /auth kodem 204 (zezwolenie), 403 (odmowa) lub 429 z Retry-After (ograniczenie). Tak podłączysz go do swojego proxy:
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
Enforcer w Cloudflare Worker weryfikuje pakiet zasad przez Web Crypto Ed25519 i blokuje, zanim żądania w ogóle dotrą do Twojego origina:
cd enforcers/cloudflare-worker
npx wrangler secret put AGENT_SITE_KEY
# set AGENT_POLICY_URL + AGENT_TRUSTED_KEYS in wrangler.toml [vars]
npx wrangler deployUczciwe 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.