Anthropic 資安驗證計畫退件 Node.js 維護者:個人帳號不能代表企業

Node.js 技術指導委員會投票成員 Matteo Collina 貼出 Anthropic Cyber Verification Program 的退件信,理由是個人帳號不能代表企業提出申請。官方文件其實明列開源維護者可申請防禦層級,斷點在於基金會專案的維護者只有個人帳號,而 Anthropic 給 Node.js TSC 成員的贊助方案,給的正是個人帳號。

用 AI 摘要這篇文章:

台北時間 10 月 21 日凌晨 0 點 06 分,Node.js 技術指導委員會(TSC)投票成員、Fastify 主要維護者 Matteo Collina 在 X 貼出一封 Anthropic 寄來的退件信:他申請的 Cyber Verification Program(CVP,資安驗證計畫)沒有通過,理由是這份申請「看來是由個人帳號代表一家企業提出」。他在貼文裡補充,自己用的是 Anthropic 贊助的個人帳號,而且 Node.js 並沒有 Claude 的公司帳號。這則貼文發布當天就累積超過 500 個讚。

這封退件信值得記下來的重點不在門禁。官方文件寫得明白:10 月 6 日才擴編的 CVP,防禦層級明列開源維護者與個人研究者都在申請對象裡。真正的斷點在身分欄位。官方申請說明只分個人與組織兩條路,退件信給企業用途開的條件又是公司網域帳號,以基金會專案為單位工作的維護者,正好落在兩者中間;更巧的是,把 Node.js TSC 列為核心貢獻者示例的 Anthropic 贊助方案,給的是個人帳號。

退件信裡實際寫了什麼

Collina 貼出的截圖只有短短幾行。信的開頭感謝他申請 CVP,接著說明無法核准的原因:申請「看來是由個人帳號代表一家企業提出」(appears to have been submitted from a personal account on behalf of a business)。信中接著寫道,CVP 供企業用途的存取權必須綁在公司電子郵件網域的帳號上。

補救方式信裡也給了,只有兩步:用公司網域的信箱登入,沒有這種帳號就用該信箱新建一個,再從 portal.anthropic.com 的 Programs 頁面重新送出申請。信末署名是 Anthropic 的安全防護團隊(The Anthropic Safeguards Team)。

把信拆開來看,它說的是三件具體的事:退件的原因是帳號身分與申請身分對不上、信裡從頭到尾沒有說不收個人、補救路徑是換帳號重送。至於 Collina 在申請表裡把自己描述成什麼組織、勾了哪個層級,貼文與信都沒有揭露。

他自己的說法則寫在貼文裡:「我沒有通過 Anthropic 的 Cyber Verification Program,因為我用的是 Anthropic 贊助的個人帳號。附註:Node.js 沒有 Claude 的公司帳號。」他接著評論:「到了這個時候,用頂尖 AI 模型做資安,正在變成少數獲選者的事。」這兩段是他的原話,退件信的內容也出自他貼出的截圖。

10 月 6 日剛擴編的三層結構

要看懂這封退件,得先知道 CVP 在兩週前才剛改過版。Anthropic 在 10 月 6 日的公告中,把過去半年的兩個計畫(Project Glasswing 與舊版 CVP)整併成一套三層結構:防禦存取(Defense Access)、紅隊存取(Red Team Access)與特殊存取(Specialized Access),每一層都包含 Claude Opus 5.5、Sonnet 5.5 與 Mythos 5.1 等旗艦模型。

設計邏輯是這樣:一般對外開放的模型本來就能做安全的程式碼審查、修補已知漏洞、找自己原始碼裡的問題與分類資安警示;但惡意程式分析、漏洞驗證這類敏感工作,可能被安全分類器中斷;把防護做成分類器與審核閘門、再依身分放行,這類設計逐漸成為模型廠的共同課題,OpenAI 的代理停用監控事件是同一主題的另一個例子。

官方公告附的比較表把各層解鎖的工作列得很具體。安全編碼(碼審、修補已知問題、自有原始碼找漏洞、警示分類)在一般模型就打勾;防禦工作(資安營運中心與事件應變、惡意程式分析、偵測工程、漏洞分類與驗證)從防禦層開放;授權滲透測試、紅隊演練、攻擊工具開發要到紅隊層;對關鍵安全系統的高風險攻擊測試只在特殊層解鎖。對照 Collina 的工作場景,維護 Node.js 這類基礎套件需要的能力多落在防禦層,這也是個人申請者唯一能走的層。通過 CVP 審核的人,在對應層級內被擋的機率會降低。層級越高、解鎖的工作越敏感,安全要求也越重。

與這次事件直接相關的是防禦層。公告的白紙黑字把「開源維護者」(open-source maintainers)與「有漏洞通報紀錄的個人研究者」(individual researchers with a track record of reported vulnerabilities)都列在防禦層的合格對象裡,帳號類型開放消費者的 Pro 與 Max 方案,外加 Team、Enterprise 與 API。紅隊層則明寫只收組織、個人研究者不具資格;特殊層更限於與美國政府協作深度審查的少數組織。換句話說,「維護者被排除」的直覺解讀,在公告原文裡站不住。

Anthropic 官方公告的 Cyber Verification Program 防禦存取層級說明,合格對象明列開源維護者與個人研究者Pin
Anthropic 10 月 6 日公告的防禦存取層級,合格對象包含開源維護者與有漏洞通報紀錄的個人研究者(圖片來源:Anthropic 官方公告)

兩條申請路,與網域條款出現的位置

說明中心的申請章節把路徑分得很清楚。組織走一條:每個組織只需要申請一次,組織內的個人不應該各自送件,因為管理員可以把計畫的座位指派給成員。個人走另一條:獨立研究者、維護者與獎金獵人「以個人身分申請」,而且目前個人只有防禦層可以選,常見問題也明寫個人申請需要付費方案。送件要準備的東西官方列了三項:申請人與組織的資料(供身分驗證用)、一段資安工作的說明,以及對所申請層級安全控制的聲明書。系統只收一份申請,再依內容把你放到能對應到的最高層級。

Claude 說明中心的 CVP 申請章節,寫明組織申請一次即可、獨立研究者與維護者以個人身分申請Pin
說明中心的申請章節:組織只需申請一次,獨立研究者、維護者與獎金獵人以個人身分申請,個人目前只有防禦層可選(圖片來源:Claude 說明中心)

真正值得注意的是「公司網域」這個規則在官方文件裡的位置。CVP 的資安需求文件把要求逐層展開:防禦存取的組織條款規定的是多因素驗證與金鑰管理,並沒有出現網域帳號的要求;個人防禦存取要求的是只能透過 Google 或同等身分提供者登入。相反地,「核准使用者必須以客戶自有網域的帳號登入、個人與網頁信箱帳號不允許」這樣的條文,逐字出現在紅隊存取與特殊存取的章節裡。

退件信用的規則,介於兩者之間。信裡說企業用途的存取必須綁公司網域帳號,這與紅隊和特殊層的條文方向一致,但公開文件裡的防禦層條款並沒有這麼寫。信中也沒有說明 Collina 申請的是哪一層,所以這封信引用的規則對應到哪條公開條文,無法核對。可以確定的只有文件層面的事實:網域條款在公開資安需求裡,是紅隊與特殊層的規則。

官方贊助的帳號,撞上另一個計畫的規則

這個事件最值得記的結構性張力在這裡。Claude for Open Source 頁面寫明,符合資格的維護者可以獲得六個月免費的 Claude Max 20x;核心貢獻者的認定示例裡,白紙黑字列著「Node.js TSC」,與 CPython、Rust 團隊、Linux 核心等並列。也就是說,一個 Node.js TSC 成員手上最可能有的 Claude 帳號,就是這個計畫給的個人 Max 帳號。

Claude for Open Source 頁面的申請資格清單,核心貢獻者示例明列 Node.js TSCPin
Claude for Open Source 的核心貢獻者認定示例,白紙黑字列著 Node.js TSC,與 CPython、Linux 核心等並列(圖片來源:Claude 官方頁面)

Anthropic 在 10 月 8 日的 Cyber Mission 公告裡,還刻意把兩個計畫寫在一起:維護者可以申請 Claude for Open Source 拿免費 Max 訂閱,也可以申請 CVP 取得擴充的資安能力。兩句話並列的同時,兩個計畫的身分世界沒有接起來。贊助方案給的是個人訂閱帳號;CVP 遇到「代表企業」的申請時,要的是公司網域帳號。

Node.js 的處境讓這個落差變得具體。它是 OpenJS 基金會支援的專案,由 TSC 治理,並非一家公司;Collina 在貼文裡說的「Node.js 沒有 Claude 公司帳號」,指的就是這種結構。開源世界的多數專案都長這個樣子,一個基金會掛名、幾位維護者扛著整片相依套件在跑,像是長期由單人扛起整個專案的 MarkText,或靠社群維持的各種基礎套件。當這些人以專案名義申請資安能力時,官方說明裡沒有「基金會專案」這一類可以對號入座,只能硬套進個人或企業其中一邊。他沒有說明自己的贊助帳號來自哪個計畫,官方頁面能證明這類個人贊助帳號存在,但不能證明他的帳號就是其中之一。

個人通過之後,要接受的是另一組條件

如果維護者決定以個人身分走防禦層,核准之後的條件不算輕。資安需求文件對個人防禦存取的要求包含:帳號只能透過 Google 或同等身分提供者登入;從拿到存取權起必須開多因素驗證,2026 年 12 月 15 日前必須換成防釣魚的驗證方式,也就是安全金鑰、通行密鑰或智慧卡,簡訊、語音、電子郵件驗證碼與推播核准都不算數。金鑰方面,12 月 15 日之後不得使用長期有效的 API 金鑰,在那之前最多只能有一把,必須放在密碼管理器裡、不得進原始碼,而且至少每 7 天更換一次。

還有幾條容易在申請時被忽略。通過的存取只能本人使用,不能共用登入;所有流量都會被保留與監控,個人申請者沒有零資料保留的選項;發現疑似外洩或濫用,必須在 72 小時內向 Anthropic 通報,安全事件縮短為 24 小時。對處理未公開漏洞、習慣保密的維護者來說,流量保留這一條可能比驗證流程更影響決定。

這些條件也劃出了「誰真的需要申請」的界線。日常工作就是分析惡意程式、驗證漏洞的人,被分類器擋住的機會最多,通過後的效益最明顯;只是想做程式碼審查、修補已知問題的人,一般模型本來就做得到,為此交出政府證件、接受流量監控並不划算。身分驗證由第三方 Persona 執行,個人要準備實體的政府核發照片證件,可能被要求用手機即時自拍;代表組織申請則還要提供法定名稱、地址與商業登記號碼。

單一個案能推多遠

把這件事放回證據的邊界看,有幾條線要畫清楚。這是一位使用者貼出的退件經驗,信件截圖僅見於他的貼文,申請內容未揭露,公開管道上也沒有其他維護者描述過類似經驗;到本文撰寫時,也未看到 Anthropic 的公開回應。它能說明的,是審核流程確實會因為帳號與申請身分不一致而退件,並給出換帳號重送的路徑;它不能說明的,是這是不是系統性的做法,或官方對基金會專案有沒有既定立場。

規則本身也在移動。說明中心明寫 Anthropic 可以審查、縮減或撤回已核准的授權;組織不通過的官方考量也列了五類:工作性質是否屬於防禦、身分與業務能否核實、營運環境的法規與能力被轉用的風險、工作最終服務的對象,以及所申請的層級。這五類沒有一條提到個人帳號代表企業會被退,所以那封信更該讀成審核團隊對單一申請的判斷,而非寫給所有人的新規則。12 月 15 日是防釣魚驗證與 API 金鑰的截止日,屆時相關條款可能再調整,送件前應以當天官方頁面為準。

沒申請或沒通過的維護者,手邊仍有官方管道。OSS Scanner 讓專案登記後由 Anthropic 用自家最高階的模型定期掃描並回報漏洞,免費,條件參考 OSS-Fuzz,但報告未經人工審查;Claude for Open Source 的免費 Max 訂閱照常可以申請。一般模型能做的安全工作,包含程式碼審查與修補已知問題,也沒有因為 CVP 的存在而縮減。

送件之前,先決定用哪種身分

對正在考慮申請的人,這個事件最實用的提醒只有一句:送件前先決定身分,帳號、申請說明與驗證材料要用同一種。代表公司或組織申請,就用公司網域的帳號,讓組織管理員處理座位指派;以個人名義做研究,就用個人帳號,把工作說明寫成個人申請。以基金會專案名義工作、手上只有個人帳號的維護者,目前的公開規則下就是把專案工作寫成個人防禦層的申請,別讓申請內容看起來像在代表一家企業。

審查時間可以抓的官方數字是:公告說防禦層目標幾天內回覆,說明中心寫七個工作天內會寄出決定或補件通知,兩者都是目標而非承諾。至於這封信有沒有反映出更大的問題,要等更多維護者的申請結果,或 Anthropic 的後續說明,才有答案。

Sliven 褚崇名
Sliven 褚崇名

每日分享科技新知、免費資源以及 WordPress、虛擬主機相關主題,任何問題歡迎在科技月球下方留言,或是發送 Email 至 [email protected] 與我聯繫。

文章: 2016

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


Share to...