概覽
ChatGPT 智能代理會為每個傳出的 HTTP 請求簽署,讓你可安心識別來自 ChatGPT 的真實流量。將該智能代理加入 CDN 或防火牆的允許清單後,你可避免誤判,並確保網站訪客體驗順暢。
訊息簽署的運作方式
ChatGPT 智能代理使用 HTTP Message Signatures 標準(RFC 9421)。每個請求都包含一組 Signature 和 Signature-Input 標頭,並附有設為 "https://chatgpt.com" 的 Signature-Agent 標頭。
此外,我們實作這份RFC 草案,以方便在此 URL 查找公鑰:
你的邊緣服務可以擷取金鑰、驗證簽署,並確認請求為真實請求。
使用 Akamai 設定允許清單
ChatGPT 智能代理歸類於 Akamai 驗證機械人清單中的人工智能(AI)機械人類別。如要明確允許 ChatGPT 智能代理:
在 Akamai Security Configuration 中,開啟相關的 Security Policy 並選擇 Bot management,然後按一下 Custom Bot Categories;在設定中選擇 Manage Bot Categories。
新增機械人類別,並在其中建立新的機械人;選擇類型:Akamai-Defined,機械人名稱:ChatGPT Agent。
返回 Custom Bot Categories,並將新機械人類別的動作設為 Allow。
注意: 無需自訂簽章驗證。Akamai 會為你執行此驗證。
使用 Cloudflare 設定允許清單
ChatGPT 智能代理是 Cloudflare Bots and Agents 目錄中的 經簽署智能代理(標籤 chatgpt-agent,偵測 ID 129220581)。
在 Cloudflare 控制台中,開啟 Security → WAF,並建立新的自訂規則。
將表達式設為 Bot Detection ID equals,並搜尋「ChatGPT 操作代理」,以尋找偵測 ID
129220581儲存並部署規則。
注意:當機械人偵測 ID 等於 129220581 時,規則應略過或允許有關請求。若使用此方法,則無需自訂簽章驗證——Cloudflare 會為你執行此驗證。單靠這些步驟,已足以將 ChatGPT 智能代理流量加入允許名單。
使用 HUMAN 設定允許清單
HUMAN Sightline
ChatGPT 智能代理是 HUMAN 的 Known Bots & Crawlers 中受信任的 AI 智能代理。如要允許它:
在 Sightline 或 BD 控制台中,前往 Policies → Traffic Policy Settings → Known bots & Crawlers。
搜尋 ChatGPT Agent。
將規則改為 ON,並將規則回應設為 Allow。
HUMAN AgenticTrust
ChatGPT 智能代理是 HUMAN AgenticTrust 中受信任的 AI 智能代理。它會透過密碼學方式驗證,且每個工作階段都會監察其意圖。預設情況下,它可讀取內容、登入及進行購買。如要修改此設定:
在 Sightline 控制台中,開啟 Policies → AI Agents Permissions。
搜尋 ChatGPT Agent。
按需要授予或撤銷特定權限。
注意: 無需自訂簽章驗證——HUMAN 會為你執行此驗證。
使用 Vercel 設定允許清單
如果你的網站託管在 Vercel,無需任何額外設定,ChatGPT Agent 也可存取你的內容。Vercel 已將 ChatGPT Agent(透過 chatgpt-operator)加入其 Verified Bot Directory,而其 Bot Verification 系統預設會自動允許我們的請求。
使用其他 CDN 設定允許清單
如果你沒有使用上述任何 CDN,仍可檢查請求標頭來信任 ChatGPT 智能代理流量:
確認
Signature-Agent標頭完全符合"https://chatgpt.com",包括引號在內。從 well-known 端點擷取與簽署相關聯的公鑰。
按照 RFC 9421 的定義,驗證
Signature標頭的真實性。
疑難排解提示
確認所有中介代理伺服器都會保留 Signature、Signature-Input 及 Signature-Agent 標頭。
