PEP 740:Python 社群就軟體包認證在供應鏈安全中的價值展開討論

BigGo Editorial Team
PEP 740:Python 社群就軟體包認證在供應鏈安全中的價值展開討論

Python 社群正在積極討論 PEP 740 的實施,這是一項用於軟體包分發中加密驗證認證的新標準。對於其必要性和在防止供應鏈攻擊方面的有效性,社群反應不一。

軟體包認證的承諾與現實

PEP 740 引入了加密驗證機制,將已釋出的軟體包直接連結到其原始碼倉庫,確保開發者推送的內容與使用者下載的內容完全一致。目前,在下載量最高的360個 PyPI 軟體包中,僅有6%提供認證,而77%的軟體包最後一次更新是在認證功能推出之前。該實施方案利用 Sigstore 並與 Trusted Publishers 整合,使得使用 GitHub Actions 的專案能夠特別順暢地進行操作。

當前 PyPI 軟體包認證狀態(前360個軟體包):

  • 綠色(已完成認證):6%
  • 無標記(預認證上傳):77%
  • 黃色(尚未認證):17%

供應鏈安全:預防與優先順序

關於認證系統投入與其他安全措施之間的權衡引發了重要討論。一些社群成員指出,與憑證盜竊和釣魚攻擊相比,供應鏈攻擊相對罕見。但該系統的支持者認為,此類攻擊的潛在影響足以證明這項投資的必要性。像 SolarWinds 事件這樣的典型案例表明,儘管供應鏈攻擊頻率不高,但可能造成災難性後果。

實施挑戰與擔憂

PEP 740 的採用面臨多個障礙。對於較小規模的軟體包維護者來說,特別是那些不使用 GitHub Actions 的開發者,學習曲線可能較為陡峭。一些社群成員對日益依賴 GitHub 和 Microsoft 的基礎設施表示擔憂,認為 Trusted Publisher 模式可能會導致 Python 軟體包生態系統的控制權過度集中。

主要安全特性:

  • 軟體包來源的加密驗證
  • 與 Sigstore 的整合
  • Trusted Publisher 支援
  • 相容 GitHub Actions 工作流

未來影響

雖然 PEP 740 代表著軟體包安全的一個進步,但社群強調這並非完整解決方案。該系統無法防止合法維護者提交的惡意程式碼,也無法保護被入侵的原始碼倉庫。不過,它為安全體系增加了重要的一層保護,這與 HTTPS 成為網路安全標準的過程類似。

這就像軟體包的 HTTPS 與 HTTP 之間的關係。如果你不在意這點也沒關係,但更安全的標準有助於我們所有人,希望不會給提供者帶來太多麻煩,同時對終端使用者來說基本上是無感的。

這場討論凸顯了軟體安全領域的一個更廣泛趨勢:需要在實際實施與安全理想之間取得平衡,以及如何防範低頻但高影響力威脅的挑戰。

來源引用:Are we PEP 740 yet?