概觀
ChatGPT 工作的雲端瀏覽器會使用 Web Bot Auth 簽署傳出的 HTTP 要求,讓網站營運者能驗證要求確實來自 ChatGPT。
在 CDN 或防火牆中將雲端瀏覽器流量列入允許清單,有助於防止合法要求遭到封鎖,同時保留你現有的安全控制。
訊息簽章的運作方式
雲端瀏覽器使用 HTTP Message Signatures 標準 RFC 9421 來驗證要求。
每個要求都包含:
一個
Signature標頭。一個
Signature-Input標頭。一個設定為
"https://chatgpt.com"的Signature-Agent標頭。
用於驗證這些簽章的公開金鑰可在以下位置取得:
https://chatgpt.com/.well-known/http-message-signatures-directory
你的 CDN、防火牆或邊緣服務可以擷取公開金鑰、驗證簽章,並確認要求是來自 ChatGPT。
使用 Akamai 列入允許清單
Akamai 會在其 Artificial Intelligence bots 類別中,以現有機器人名稱 ChatGPT Agent 識別雲端瀏覽器流量。
若要允許此流量:
在你的 Akamai Security Configuration 中,開啟相關的 Security Policy。
選取 Bot management,然後選取 Custom Bot Categories。
在設定下方,選取 Manage Bot Categories。
新增機器人類別,並建立具有以下設定的機器人:
類型: Akamai-Defined
機器人名稱: ChatGPT Agent
返回 Custom Bot Categories,並將新類別的動作設定為 Allow。
Akamai 會自動驗證要求簽章。不需要自訂簽章驗證。
使用 Cloudflare 列入允許清單
Cloudflare 會在其 Bots and Agents directory 中,將雲端瀏覽器流量辨識為已簽署的智慧體。
現有識別碼如下:
機器人標籤:
chatgpt-agent偵測 ID:
129220581
若要允許此流量:
在 Cloudflare 控制台中,開啟 Security → WAF 並建立自訂規則。
將規則運算式設定為 Bot Detection ID equals。
搜尋 ChatGPT Operator,並選取偵測 ID
129220581。將規則設定為允許或略過符合此偵測 ID 的要求。
儲存並部署規則。
Cloudflare 會自動驗證要求簽章。不需要額外的簽章驗證。
使用 HUMAN 列入允許清單
HUMAN Sightline
HUMAN 會在 Known Bots & Crawlers 中,以現有機器人名稱 ChatGPT Agent 識別雲端瀏覽器流量。
若要允許它:
在你的 Sightline 或 BD 主控台中,前往 Policies → Traffic Policy Settings → Known bots & Crawlers。
搜尋 ChatGPT Agent。
將規則設為 ON,並選取 Allow。
HUMAN AgenticTrust
HUMAN AgenticTrust 會驗證雲端瀏覽器流量,並讓你管理與現有 ChatGPT Agent 項目相關聯的權限。
若要更新這些權限:
在你的 Sightline 主控台中,開啟 Policies → AI Agents Permissions。
搜尋 ChatGPT Agent。
視需要檢閱並更新可用權限。
HUMAN 會自動驗證要求簽章。其權限設定不會變更雲端瀏覽器支援的功能:推出時,雲端瀏覽器無法登入網站或完成付款。
使用 Vercel 列入允許清單
如果你的網站託管在 Vercel,無需額外設定即可允許雲端瀏覽器流量。
Vercel 會透過現有的 ChatGPT Agent 項目辨識此流量;該項目識別為 chatgpt-operator,並會自動驗證其已簽署要求。
如需更多資訊,請參閱 Vercel 對 Web Bot Auth 的支援。
使用其他 CDN 列入允許清單
如果你的 CDN 或防火牆不會自動辨識雲端瀏覽器流量,可以直接驗證要求:
確認
Signature-Agent標頭與"https://chatgpt.com"完全相符,包括引號。從 https://chatgpt.com/.well-known/http-message-signatures-directory 擷取對應的公開金鑰。
依照 RFC 9421 驗證
Signature和Signature-Input標頭。只有在成功驗證簽章後,才允許要求。
疑難排解
如果合法的雲端瀏覽器流量遭到封鎖,請確認中繼 Proxy 會保留以下標頭:
SignatureSignature-InputSignature-Agent
也請確認你的允許清單規則使用上方列出的供應商專屬機器人名稱或偵測 ID。
