使用 Submission API
本文說明如何將疑似不安全的網址提交給安全瀏覽進行分析,以及如何非同步檢查這些提交內容的結果。凡是確認違反安全瀏覽政策的網址,都會加入安全瀏覽服務。
Web Risk Submission API 的主要異動
- 停止接受新訂單和擴展要求:我們不再接受 Web Risk Submission API 的新合約或擴展要求。
- 功能凍結生效:API 已正式凍結功能。我們不會再推出新功能或強化功能。
- 最後續約期限:現有合約的最後續約期限為 2026 年 12 月 31 日。所有續約的期限上限為一年。
- 服務可用性:現有服務仍可運作,並提供重大錯誤修正、安全性更新和標準支援,直到有效合約到期為止。最晚將於 2027 年 12 月 31 日全面淘汰。
最佳做法
閱讀安全瀏覽政策
Web Risk Submission API 會驗證您提交的網址轉譯內容是否違反安全瀏覽政策。API 開發人員必須確保提交的網址有明確證據違反這些政策。以下是違反政策的證據示例:
- 模仿正當線上品牌 (品牌名稱、標誌、外觀和風格)、系統警示、使用詐騙網址,或要求使用者輸入使用者名稱或密碼等私密憑證的社交工程內容。
- 網站代管已知的惡意軟體可執行檔。
請勿提交下列類型的網址,因為這些網址不太可能加入安全瀏覽封鎖清單:
- 假問卷調查、購物網站或其他未顯示網路釣魚的詐騙 (例如加密貨幣詐騙)。
- 含有賭博、暴力或成人內容的垃圾郵件,但並非網路釣魚或惡意軟體。
改善偵測品質
建議使用 ThreatInfo 和 ThreatDiscovery 欄位,提供有關提交內容的額外資訊。這可能有助於提升偵測準確度。詳情請參閱「使用 Submission API 的最佳做法」。
分類架構和品牌指定目標
您可以在 ThreatInfo 物件中使用下列選用元件:abuseSubtype 和 targetedBrand,提供更準確詳細的濫用情形檢舉。這些欄位可協助 Web Risk 更準確地分析目標實體,並改良偵測模型。
abuseSubtype
abuseSubtype 欄位會提供威脅的精細分類。請確認只有在主要 abuseType 為 SOCIAL_ENGINEERING 時,才設定這個欄位,否則系統會傳回錯誤。
支援的 abuseSubtype 值包括:
BANK_PHISHING:網路釣魚冒充銀行或可信的金融機構。CRYPTO_EXCHANGE_PHISHING:網路釣魚者假冒加密貨幣交易平台。SOCIAL_MEDIA_PLATFORM_PHISHING:網路釣魚,偽裝成社群媒體平台。RETAIL_PHISHING:網路釣魚,冒充知名零售平台。EMAIL_PROVIDER_PHISHING:網路釣魚者假冒電子郵件服務。ENTERTAINMENT_PHISHING:假冒娛樂服務的網路釣魚。GOVERNMENT_AGENCY_PHISHING:網路釣魚,假冒政府機構來取得個人識別資訊 (PII),例如社會安全號碼或納稅人識別號碼。PACKAGE_TRACKING_SCAM:模仿運送服務,以取得 PII 或付款詳細資料。FAKE_SUPPORT_SCAM:這類網站會宣稱裝置有問題,藉此誘騙使用者提供個人識別資訊或聯絡詐騙集團。GOVERNMENT_FINE_SCAM:宣稱有未繳納的公民罰款,並要求支付的欺騙性內容。FAKE_PRIZE_SCAM:提供不切實際的獎勵或獎品的欺騙性網頁。OTHER_PHISHING/OTHER_SCAM:不屬於此處所列其他類別的社交工程攻擊。
targetedBrand
targetedBrand 物件會識別網路釣魚和社交工程廣告活動的目標實體。
brandName:遭冒用的品牌或公司名稱 (例如Altostrat)。domain:遭冒用品牌的合法網域 (例如altostrat.com)。
公開測試計畫參與者須知
- 分類法一致性:網路釣魚仍歸類在
SOCIAL_ENGINEERING威脅類型 (而非獨立的PHISHING父項類型),確保 Web Risk 和「安全瀏覽」API 系列的一致性。 - 排除的類別:本次發布內容不包含
MALWARE和UNWANTED_SOFTWARE的子類別。 - 處理未列出的威脅:如果提交的內容未對應至特定子類型,請使用
OTHER_PHISHING或OTHER_SCAM。建議使用ThreatJustification中的comments欄位說明攻擊。 - 選填,但建議填寫:提供這些欄位有助於 Web Risk 優先處理相關威脅情報模型,並提升模型效能。
- 預覽階段:這項功能的列舉值和行為可能會有所變更。
提交網址
如要提交網址,請將 HTTP POST 要求傳送至 projects.uris.submit 方法。
- Submission API 每個要求支援一個網址。如要檢查多個網址,請分別為每個網址提出要求。
網址必須有效,但不必經過正規化。詳情請參閱 RFC 2396。
HTTP
POST回應會傳回long-running operation。如要進一步瞭解如何擷取提交結果及檢查提交狀態,請參閱「長時間執行的作業」。
範例
HTTP 方法和網址:
POST https://webrisk.googleapis.com/v1/projects/project-id/uris:submit
JSON 要求內文:
{
"submission": {
"uri": "https://www.example.com/login.html"
}
}
如要傳送要求,請選擇以下其中一個選項:
curl
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://webrisk.googleapis.com/v1/projects/project-id/uris:submit"
PowerShell
將要求主體儲存在名為 request.json 的檔案中,然後執行下列指令:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://webrisk.googleapis.com/v1/projects/project-id/uris:submit" | Select-Object -Expand Content
您應該會收到如下的 JSON 回覆:
{
"name": "projects/project-number/operations/operation-id",
}
查看提交狀態
使用回應中的 project-number 和 operation-id檢查提交狀態。狀態位於傳回作業的 metadata.state 欄位中。
可能的狀態包括 RUNNING、SUCCEEDED 和 CLOSED。如要進一步瞭解這些狀態,請參閱「長時間執行的作業」指南中的「瞭解作業狀態」。