2026 年每日通報的 CVE 數量比前一年多 131%。

PSIRT

協同漏洞揭露:如何經營漏洞揭露計畫

遲早會有人在您的產品中發現漏洞。協同漏洞揭露決定了對方能否私下通知您、您能否在攻擊者得知之前完成修正,以及您的客戶是否能先從您這裡得知消息。

更新日期

什麼是協同漏洞揭露?

協同漏洞揭露(CVD)是指在修正或緩解措施可用之前,由發現者與廠商私下處理新發現的漏洞,之後再公開發布的做法。CERT Guide to Coordinated Vulnerability Disclosure 將其描述為:從漏洞發現者收集資訊、協調相關利害關係人之間的資訊分享,並揭露漏洞及其緩解措施,包括對大眾揭露。

對產品廠商而言,CVD 分為兩部分。對外的部分(接收通報與發布資安公告)是本頁的主題;對內的部分(驗證、修正與發布)則是漏洞管理生命週期。兩者通常都由 PSIRT 負責。

CVD、完全揭露與漏洞獎勵計畫的比較

協同揭露 完全揭露 漏洞獎勵計畫
定義 私下通報、修正,再於約定時間公開 發現者立即公開細節,無論是否通知廠商 為有效發現支付獎金的計畫
由誰掌控時程 廠商與發現者共同決定,有時會有協調者參與 發現者 計畫條款,通常遵循 CVD
對使用者的風險 最低:在修正推出或期限屆滿後才公開細節 最高:攻擊者與防禦者同時得知 與 CVD 相同
成本 分級研判與回應所需的人力時間 計畫外的緊急工作 人力時間加上獎金,通常還有平台費用

漏洞獎勵計畫並不能取代漏洞揭露計畫(VDP),而是疊加在其上的誘因。每家廠商都需要一個讓任何人都能通報漏洞的管道;獎勵計畫只是決定哪些通報能獲得獎金。

漏洞揭露政策應包含哪些內容

漏洞揭露政策是規範您計畫條款的公開文件。漏洞揭露的國際標準 ISO/IEC 29147 將其中一項列為必要元素(偏好的聯絡管道),並建議其他多項元素。完整的政策涵蓋:

  • 如何通報。專用的電子郵件地址或網頁表單,以及安全傳送敏感細節的方式,例如公開的加密金鑰。
  • 應包含哪些資訊。受影響的產品與版本、重現步驟、影響,以及聯絡通報者的方式。
  • 範圍。涵蓋哪些產品、版本與服務,以及禁止使用哪些測試方法,例如阻斷服務或存取其他使用者的資料。
  • 安全港條款。承諾不會對遵循政策、出於善意的研究採取法律行動。
  • 通報者可以期待什麼。您何時確認收到通報、如何持續告知進度,以及修正的目標時間。
  • 揭露時程。細節何時公開,以及修正耗時較長時如何處理。
  • 發布。資安公告在哪裡發布,以及您是否指派 CVE ID。
  • 致謝。是否以及如何致謝通報者,以及您是否支付獎金。

政策應簡短而具體。通報者會閱讀它,以判斷向您通報是否安全、是否值得投入心力。

可直接套用的政策範本

以下範本依循美國網路安全暨基礎設施安全局(CISA)發布的漏洞揭露政策範本架構,並以我們自己的文字撰寫。請替換方括號中的內容,並在發布前請您的法務團隊審閱授權一節。

漏洞揭露政策,[公司名稱]
最後更新:[日期]

我們歡迎您通報我們產品與服務中的資安漏洞。
本政策說明如何通報漏洞,以及您可以期待我們
採取哪些行動。

授權
只要您秉持善意努力遵循本政策,我們即視您的
研究為經授權的研究。我們不會因此對您採取或
建議採取法律行動。若第三方因您遵循本政策所
進行的研究而對您採取法律行動,我們將公開表明
您的研究已獲授權。

準則
- 發現潛在漏洞後,請盡快通知我們。
- 避免侵犯隱私、干擾正式環境系統,以及任何
  破壞或竄改資料的行為。
- 僅在確認漏洞所需的範圍內使用漏洞利用程式。
  請勿用它存取或竊取資料、維持持續性存取,
  或移動至其他系統。
- 在您揭露之前,請給我們合理的時間修正問題。

範圍
涵蓋範圍:[產品、版本與網域]。
不在範圍內:阻斷服務、社交工程、實體攻擊,
以及[其他排除項目]。

如何通報
請將您的通報寄至 [[email protected]] 或 [網頁表單]。
請使用 [公開金鑰連結] 加密敏感細節。請附上受影響的
產品與版本、重現步驟及影響。

您可以期待我們
- 我們會在 [3] 個工作天內確認收到您的通報。
- 我們會確認漏洞是否存在,並在修正之前持續告知
  您進度,包括任何造成修正延遲的情況。
- 我們會在 [90 天內] 發布資安公告,並依您的意願
  列名致謝。

security.txt:讓您的聯絡方式容易找到

政策唯有在研究人員找得到時才能發揮作用。2022 年 4 月發布的 RFC 9116 定義了 security.txt,這是一個透過 HTTPS 於 /.well-known/security.txt 提供的小型文字檔。

Contact: mailto:[email protected]
Expires: 2027-09-30T23:00:00.000Z
Encryption: https://example.com/pgp-key.txt
Policy: https://example.com/security/disclosure-policy
Acknowledgments: https://example.com/security/thanks
Preferred-Languages: en
Canonical: https://example.com/.well-known/security.txt
  • 必要欄位:Contact 與 Expires。RFC 9116 建議將到期日設在一年以內,避免檔案內容過時。
  • 選用欄位:Policy、Encryption、Acknowledgments、 Preferred-Languages、Canonical 與 Hiring。
  • 簽章:RFC 建議使用 OpenPGP 明文簽章,並設定 Canonical。

請在 Expires 日期之前於行事曆設定提醒。過期的檔案會讓研究人員以為沒有人在處理。

禁運期與揭露時程

禁運期是指從通報到公開發布之間的期間。最常被引用的準則是 Google Project Zero 的政策:廠商有 90 天推出修補程式,細節則在修補程式推出 30 天後公開。需要多一點時間的廠商可以申請寬限期,總計最多 104 天。若漏洞已遭實際利用,期限則縮短為 7 天。

您自己的政策可以設定不同的條款,許多通報者也會接受。重要的是時程要以書面明訂、持續告知通報者進度,並在期限到來之前而非之後申請延長。按時發布並附有緩解措施的資安公告,勝過毫無音訊。

CVE ID 與 CNA

大多數資安公告都附有 CVE ID,讓客戶與工具能夠比對。ID 由 CVE Numbering Authority(CNA)指派,也就是獲授權在約定範圍內指派 ID 的組織。許多軟體廠商是自家產品的 CNA,因此能依自己的時程指派 ID 並發布紀錄。如果您不是 CNA,則由範圍涵蓋您產品的 CNA,或 CNA of Last Resort 指派。

多方協調

有些漏洞會同時影響許多廠商:例如廣泛使用的函式庫、通訊協定或晶片中的缺陷。這時會由協調者協助聯繫所有受影響的廠商,並議定統一的發布日期。

  • CERT/CC 隸屬於卡內基美隆大學軟體工程研究所,負責協調多廠商案件,並發布 CERT CVD 指南。
  • 歐盟各國的國家級 CSIRT。依據 NIS2,每個成員國都會指定一個 CSIRT 作為其 CVD 協調者。它在通報者與廠商之間擔任受信任的中介,協商揭露時程、處理影響多個實體的漏洞,並接受匿名通報。
  • ENISA 的歐洲漏洞資料庫(EUVD)依 NIS2 設立,自 2025 年 5 月起運作,發布公開已知漏洞的資訊,包括經歐盟協調處理的漏洞。

ISO/IEC 29147 也涵蓋您同時身兼兩種角色的情況:您的產品含有其他廠商有漏洞的元件,您必須向上游通報,同時也要通知自己的客戶。

收到通報之後

  1. 確認收到:在政策承諾的時間內回覆,並提供通報者追蹤編號。
  2. 驗證通報內容並評定嚴重程度。
  3. 找出受影響的範圍:包含有漏洞的程式碼或元件的每一項產品、每一個版本與每一個受支援的分支。
  4. 修正並發布每一個受影響的分支,同時持續告知通報者進度。
  5. 發布資安公告,附上 CVE ID、受影響版本、修補方式與致謝。機器可讀的資安公告採用 CSAF,VEX 則告知客戶哪些產品不受影響。

包含角色、時程與指標的完整流程,請參閱漏洞管理生命週期。

法規正讓 CVD 政策成為強制要求

歐盟 Cyber Resilience Act(CRA)要求製造商「建立並執行協同漏洞揭露政策」,並提供通報漏洞的聯絡地址,包括第三方元件中的漏洞(附件 I 第 II 部分)。這些義務自 2027 年 12 月 11 日起適用;請參閱CRA 的要求。NIS2 第 21 條第 2 項第 e 款將漏洞處理與揭露列為基本與重要實體必須採取的資安措施之一。在美國,Executive Order 14028 指示制定軟體供應鏈指引,其中包括參與漏洞揭露計畫。

向主管機關通報是另一項義務,且已經適用:自 2026 年 9 月 11 日起,製造商一旦得知其產品中有遭積極利用的漏洞,必須在 24 小時內透過 CRA 的 Single Reporting Platform 發出早期預警。完整時程請參閱CRA 的要求。

通報的價值,取決於您對已出貨內容的紀錄

每一份通報都會引出同一個首要問題:我們的哪些版本包含這個漏洞?CRACI 在自己的執行器上執行您的 GitHub Actions 建置,並記錄每個作業實際擷取的套件,包括遞移相依套件、從 CI 快取還原的套件,以及任何鎖定檔都沒有列出的相依套件。建置歷程會顯示過去哪些建置包含有漏洞的相依套件,讓您知道受影響的期間;資產清冊檢視則顯示哪些軟體版本部署到哪些產品。

CRACI 會跨建置與儲存庫彙整 SBOM,並持續重新評估受監控的 SBOM,因此一旦開源元件中的漏洞公布,您就能看到它出現在哪些地方。資安團隊會分級研判發現,並將其交給負責修正的團隊;CRACI 支援 VEX,而政策關卡可在特定 CVE 修正後,封鎖仍包含該 CVE 的建置。請參閱漏洞追蹤。

協同漏洞揭露:常見問題

什麼是協同漏洞揭露?

協同漏洞揭露(CVD)是指發現漏洞的人私下向廠商通報、廠商進行修正,並在使用者能夠自我保護後公開細節的流程,公開日期通常由雙方議定。當廠商無法聯繫或有多家廠商受影響時,CERT/CC 或國家級 CSIRT 等協調者就會介入。

VDP 與漏洞獎勵計畫有什麼不同?

漏洞揭露計畫(VDP)告訴任何人如何通報漏洞以及可以期待什麼,但不會為發現支付獎金。漏洞獎勵計畫則為有效發現支付獎金給研究人員,通常限定於特定範圍,且常透過獎勵平台進行。大多數組織會先建立 VDP;獎勵計畫是疊加在其上的選擇性項目,而非替代方案。

漏洞揭露政策應包含哪些內容?

至少要說明如何通報:聯絡地址或表單。ISO/IEC 29147 也建議說明通報應包含哪些內容、如何安全地溝通、通報者可以期待什麼以及何時、涵蓋範圍、如何發布資安公告,以及如何致謝通報者。大多數政策還會加上安全港聲明與揭露時程。

什麼是 security.txt?

security.txt 是 RFC 9116 所定義的純文字檔,於 /.well-known/security.txt 提供,告訴研究人員該向哪裡通報漏洞。它必須包含 Contact 與 Expires 欄位,並可連結到您的政策、加密金鑰與致謝頁面。

一般的揭露期限有多長?

90 天是最廣為引用的準則。Google Project Zero 給予廠商 90 天推出修補程式,並在修補程式推出 30 天後公開細節;若漏洞已遭實際利用,期限則為 7 天。您自己的政策可以設定不同的條款,協調者也會逐案協商。

協同漏洞揭露政策是強制性的嗎?

越來越多情況下是。歐盟 Cyber Resilience Act 要求具有數位元素之產品的製造商建立並執行 CVD 政策,並提供通報的聯絡地址;NIS2 也將漏洞處理與揭露列為必要的資安措施之一。在其他地區,客戶與採購規範也經常要求提供 CVD 政策。

我需要成為 CNA 才能取得 CVE ID 嗎?

不需要。CVE Numbering Authority(CNA)在自己的範圍內指派 CVE ID,許多廠商會成為自家產品的 CNA。如果您不是 CNA,可由範圍涵蓋您產品的 CNA,或 CNA of Last Resort 指派 ID。

回答每份通報引出的第一個問題

我們的哪些版本受到影響?預約示範,了解 CRACI 如何記錄每次 GitHub Actions 建置擷取的套件,讓您能依據佐證資料回答。

預約示範