概觀
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。
新增一個機器人類別,並在其中建立新的機器人,選取 Type: Akamai-Defined,Bot name: ChatGPT Agent。
返回 Custom Bot Categories,並將新機器人類別的動作設為 Allow.
注意:無需自訂簽章驗證。Akamai 會為你執行這項驗證。
使用 Cloudflare 進行允許清單設定
ChatGPT 智慧體是 Cloudflare 機器人與智慧體目錄中的已簽署智慧體(標籤 chatgpt-agent,偵測 ID 129220581)。
在 Cloudflare 儀表板中,開啟 Security → WAF 並建立新的自訂規則。
將運算式設為 Bot Detection ID equals,然後搜尋「ChatGPT Operator」以找到偵測 ID
129220581儲存並部署規則。
注意:當機器人偵測 ID 等於 129220581 時,規則應略過或允許該請求。若使用此方法,無需自訂簽章驗證;Cloudflare 會為你執行這項驗證。僅需這些步驟,就足以將 ChatGPT 智慧體流量加入允許清單。
使用 HUMAN 進行允許清單設定
HUMAN Sightline
ChatGPT 智慧體是 HUMAN 已知機器人與爬蟲中的受信任 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 智慧體存取你的內容。Vercel 已將 ChatGPT 智慧體(透過 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 標頭。
