Прилагане на правила за агенти

Прилагането е степен 2 от контрола на AI агенти на SilentShield: вместо само да записва посещенията на AI агенти, вашият сървър или edge активно прилага политиката за вашия ключ — всеки агент се разрешава, ограничава или блокира. То се гради директно върху режима на наблюдение. Компонентите за прилагане (Next.js middleware, sidecar двоичен файл, Cloudflare Worker) в момента се предоставят при запитване в ранен достъп — пишете на [email protected].

Първо наблюдение, после прилагане

Нашата ясна препоръка: първо активирайте наблюдението, оставете го да работи една-две седмици и прегледайте отчета, преди да блокирате каквото и да е — същият поетапен подход като режима на учене на Wordfence или DMARC (none → quarantine → reject). Само отчетът показва кои AI услуги действително посещават сайта ви и какво би ви струвал един блок — например цитати в AI търсенето. Прилагане без тази картина означава да решавате на сляпо.

Как работи прилагането

Всеки enforcer споделя един и същ договор: той изтегля policy bundle за вашия API ключ, проверява Ed25519 подписа на пакета срещу закрепените публични ключове на SilentShield и след това решава локално — разрешаване, отказ или ограничаване — без нито едно извикване по пътя на заявката.

Закрепените ключове за подписване изтегляте еднократно от https://api.silentshield.io/.well-known/silentshield-agent-keys. И всеки enforcer работи fail-open: при всяка грешка — мрежа, подпис, изтекъл пакет — заявката се пропуска. Прилагането никога не може да свали сайта ви.

Варианти за настройка

Next.js (Edge Middleware)

Същият Next.js адаптер, който наблюдава, може и да прилага. Задайте променливите на средата за политиката; middleware-ът след това прилага вашата политика на 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)

Един-единствен малък sidecar двоичен файл обслужва и трите проксита: проксито го пита веднъж на заявка чрез forward auth. Стартирайте го с вашия ключ за сайта и доверените ключове:

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-ът отговаря на GET /auth с 204 (разрешено), 403 (отказано) или 429 плюс Retry-After (ограничено). Ето как да го свържете с вашето прокси:

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

Cloudflare Worker enforcer-ът проверява policy bundle-а с Web Crypto Ed25519 и блокира, преди заявките изобщо да достигнат вашия origin:

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

Честни граници

Агентните браузъри на резидентни IP адреси (Comet, ChatGPT Atlas и подобни) са технически неразличими от човешки посетители. Никой продукт не може да ги идентифицира надеждно — затова SilentShield съзнателно не дава обещание за прилагане за тази категория.

robots.txt и излъчваните content signals са препоръчителни: добросъвестните обхождащи ги спазват, но нищо не ги задължава. Техническото прилагане се извършва само в enforcer-ите на тази страница — и дори те действат консервативно, като отказват само еднозначно идентифицирани известни агенти, така че легитимни посетители никога не се блокират.

Конфигуриране на вашата политика

Кой агент какво може се конфигурира за всеки API ключ в хъба за агенти: API ключове → изберете ключ → Агент. Предварителните настройки покриват честите случаи; всяка промяна се превръща в новоподписан пакет, който вашите enforcer-и поемат автоматично.

Отваряне на хъба за агенти →