View a markdown version of this page

Riduzione dei CAPTCHA con Web Bot Auth - Amazon Bedrock AgentCore

Riduzione dei CAPTCHA con Web Bot Auth

Nota

Amazon Bedrock AgentCore Browser Web Bot Auth (Preview) si basa sulla bozza del protocollo IETF Web Bot Auth, che è soggetto a modifiche man mano che le specifiche evolvono verso la finalizzazione.

+ Implementazione attuale:

+ * I dettagli di implementazione, i parametri delle API e i meccanismi di firma possono cambiare man mano che ci allineiamo alle specifiche del protocollo definitivo* Il supporto e le politiche dei provider WAF variano. Non tutti i siti Web riconoscono o consentono il traffico degli agenti firmati * I proprietari dei domini mantengono il pieno controllo sulle politiche relative ai bot e possono bloccare, monitorare o limitare il traffico degli agenti indipendentemente dalle firme crittografiche

+ Per le specifiche più recenti del protocollo, consulta la bozza IETF.

Amazon Bedrock AgentCore Browser riduce i problemi relativi al CAPTCHA tramite Web Bot Auth, una bozza di protocollo IETF che identifica crittograficamente gli agenti AI sui siti Web e sui fornitori di controllo dei bot.

Panoramica di

Gli agenti di intelligenza artificiale incontrano spesso meccanismi anti-bot durante la navigazione sui siti Web, tra cui problemi relativi al CAPTCHA, alla limitazione della velocità e al blocco delle richieste. Queste misure di sicurezza sono progettate per prevenire il traffico automatizzato dannoso, ma spesso bloccano anche agenti AI legittimi.

I siti Web implementano queste difese perché non sono in grado di distinguere in modo affidabile tra agenti legittimi e bot dannosi. I metodi di identificazione tradizionali, come gli indirizzi IP o User-Agent le stringhe, possono essere facilmente falsificati e non forniscono un'identità verificabile.

Web Bot Auth affronta questa sfida implementando la bozza del protocollo IETF HTTP Message Signatures for Automated Traffic Architecture. Questo protocollo consente agli agenti AI di firmare crittograficamente le loro richieste HTTP, fornendo ai siti Web una prova verificabile dell'identità dell'agente.

Quando Web Bot Auth è abilitato, Amazon Bedrock AgentCore Browser firma automaticamente ogni richiesta HTTP con una chiave privata e include intestazioni di verifica. I fornitori di sistemi di controllo dei bot (come Cloudflare, Akamai Technologies e HUMAN Security) possono verificare queste firme confrontandole con directory a chiave pubblica e applicare politiche appropriate configurate dai proprietari dei siti Web.

Questo approccio fornisce un metodo standardizzato per l'identificazione dell'automazione legittima, preservando al contempo il controllo dei proprietari dei siti Web sulle politiche di accesso.

Come funziona

Web Bot Auth utilizza lo standard IETF HTTP Message Signatures per firmare crittograficamente le richieste HTTP:

  1. Registrazione dell'agente: Amazon Bedrock si AgentCore registra presso i fornitori di controllo dei bot (Cloudflare, reCAPTCHA, ecc.) e fornisce chiavi pubbliche per la verifica

  2. Richiesta di firma: se abilitato, lo strumento Browser firma automaticamente ogni richiesta HTTP utilizzando una chiave privata

  3. Intestazioni di firma: vengono aggiunte tre intestazioni a ciascuna richiesta:

    • Signature: La firma crittografica

    • Signature-Agent: rimanda alla directory delle chiavi pubbliche per la verifica

    • Signature-Input: specifica quali componenti sono stati firmati

  4. Verifica: il sistema di controllo dei bot del sito Web recupera la chiave pubblica e verifica la firma per confermare che la richiesta proviene da Amazon Bedrock AgentCore

  5. Applicazione della politica: in base all'identità verificata, il sito Web può applicare le politiche appropriate. I proprietari di domini possono configurare i propri sistemi di controllo dei bot per:

    • Blocca tutto il traffico: rifiuta tutte le richieste automatiche indipendentemente dall'autenticazione

    • Consenti solo bot firmati: accetta richieste solo da agenti verificati con firme di autenticazione Web Bot valide

    • Consenti bot firmati da directory specifiche: consenti agli agenti autenticati di accedere solo a determinati percorsi o risorse sul sito web

Abilitazione dell'autenticazione tramite Web Bot

Per abilitare Web Bot Auth, è necessario configurarlo durante la creazione di uno strumento per il browser:

Esempio
AWS CLI
  1. Per creare uno strumento Browser con Web Bot Auth abilitato utilizzando la AWS CLI:

    aws bedrock-agentcore-control create-browser \ --region <Region> \ --name "my-browser-with-auth" \ --description "Browser with Web Bot Auth enabled" \ --network-configuration '{"networkMode": "PUBLIC"}' \ --execution-role-arn "arn:aws:iam::<account-id>:role/<execution-role>" \ --browser-signing '{"enabled": true}'
Boto3
  1. Per creare uno strumento per il browser con Web Bot Auth abilitato utilizzando Boto3:

    import boto3 client = boto3.client('bedrock-agentcore-control', region_name='us-west-2') response = client.create_browser( name='my-browser-with-auth', description='Browser with Web Bot Auth enabled', networkConfiguration={ 'networkMode': 'PUBLIC' }, executionRoleArn='arn:aws:iam::<account-id>:role/<execution-role>', browserSigning={ 'enabled': True } )
Console
  1. ====== Per abilitare Web Bot Auth nella console

  2. Apri la console su # AgentCore . https://console.aws.amazon.com/bedrock-agentcore/home

  3. Nel riquadro di navigazione, scegli Built-in strumenti.

  4. Scegli lo strumento Crea browser.

  5. Fornisci un nome univoco dello strumento e una descrizione opzionale.

  6. In Impostazioni di rete, scegli Rete pubblica.

  7. Nella sezione di configurazione Web Bot Auth, seleziona la casella di controllo Usa Web Bot Auth.

  8. In Autorizzazioni, specifica un ruolo di esecuzione IAM che definisce a quali AWS risorse può accedere il Browser Tool.

  9. Configura le altre impostazioni del browser secondo necessità e scegli Crea.

Importante

Web Bot Auth richiede un ruolo di esecuzione con una policy di fiducia, ma non richiede policy gestite o in linea. La funzionalità è disabilitata per impostazione predefinita e deve essere abilitata esplicitamente durante la creazione del browser. Dovresti aggiungere la seguente politica di fiducia al ruolo di esecuzione: [source, json, subs="verbatim, attributes "] ---- {«Version» :"2012-10-17", «Statement»: [{«Sid»: "«, «Effect»: «Allow», BedrockAgentCoreBuiltInTools «Principal»: {«Service»: «bedrock-agentcore.amazonaws.com»}, «Azione»: «sts: «, «Condizione»: {"«: {«aws: «111122223333"}," «: {«aws: StringEquals SourceAccount «arn:aws:bedrock-agentcore:us-east- 1:111122223333: *»}}]} ---- AssumeRole ArnLike SourceArn

Fornitori di controllo dei bot supportati

Amazon Bedrock AgentCore attualmente supporta Web Bot Auth con i seguenti fornitori di controllo dei bot:

  • Cloudflare

  • Sicurezza UMANA

  • Tecnologie Akamai

  • DataDome

  • F5

Man mano che verranno stabilite partnership, verranno supportati altri fornitori di sistemi di controllo dei bot. L'autenticazione funziona in modo trasparente: una volta abilitata, i tuoi agenti possono navigare nei siti Web protetti da questi servizi senza problemi.

Considerazioni

  • Funzionamento trasparente: Web Bot Auth funziona automaticamente una volta abilitato. Non sono necessarie ulteriori modifiche al codice nelle applicazioni degli agenti.

  • Impatto sulle prestazioni: la firma delle richieste aggiunge una latenza minima alle richieste HTTP.

  • Copertura dei fornitori: la funzionalità è disponibile solo con i siti Web che utilizzano fornitori di controllo dei bot supportati. I siti Web che utilizzano altre soluzioni anti-bot possono ancora presentare problemi.

  • Dipende dalla politica: anche con l'autenticazione, i proprietari dei siti web controllano le politiche relative ai bot. Alcuni siti potrebbero comunque limitare o monitorare il traffico degli agenti in base ai loro requisiti specifici.