源碼不出網,開源治理工具SCA應該如何部署?

創提科技
2026/08/25

分享到

——從Hybrid(混合部署)到Air-Gapped(完全網路隔離部署),如何根據安全邊界選擇合適的部署模式


開源軟體已經成為現代軟體發展的重要組成部分。與此同時,越來越多企業開始使用軟體成分分析(Software Composition Analysis,SCA)工具識別軟體中的開源元件,並持續管理相關的安全性漏洞、許可證與智慧財產權風險。但對於汽車、航空航太、半導體、工業、醫療、關鍵基礎設施等對原始程式碼和智慧財產權保護要求較高的行業,部署 SCA 時經常會遇到一個問題:


“我們的原始程式碼不能出網,是不是意味著 SCA 必須採用完全隔離部署?”


答案並不一定。“原始程式碼不離開企業環境”與“整個 SCA 系統完全不與外部網路通信”,實際上是兩種不同的安全邊界。企業真正需要考慮的,不是簡單判斷哪種架構“更安全”,而是首先明確:哪些資料不能離開自己的安全域?


一、源碼不出網,不等於整個 SCA 系統必須與互聯網隔離

部分 SaaS SCA 產品需要將待分析代碼或相關資料發送至協力廠商環境,而另外一些 SCA 架構則允許代碼始終留在企業本地,僅通過經過處理的特徵資訊與外部知識庫進行匹配。因此,對於有原始程式碼保護要求的企業,可以大致形成三種不同的部署模式:


部署模式

原始源碼

Hash/特徵資訊

Knowledge   Base(知識庫)

外部網路連接

典型場景

Cloud   / SaaS雲端部署

視具體架構而定

通常需要通信

雲端

需要

普通商務軟體研發

Hybrid混合部署

保留在企業本地

與託管KB受控通信

雲端/託管

需要

源碼不能出網,但允許受控外部通信

Air-Gapped   完全網路隔離部署

完全本地

完全本地

本地部署

不需要

整個研發/分析環境禁止外部通信

關鍵區別不是“代碼在哪裡掃描”,而是安全邊界在哪裡結束。



三种安全扫描部署架构对比图-1.png

圖 1|三種部署方式的安全邊界


這意味著:要求“原始程式碼不上傳協力廠商環境”的企業,並不天然需要 Air-Gapped部署。如果經過本地處理後的 Hash、Signature 或其他特徵資訊可以與外部託管 Knowledge Base(知識庫) 進行受控通信,Hybrid 架構可能已經能夠滿足企業的代碼保護要求,同時繼續利用持續更新的 OSS 知識庫。


二、什麼時候才真正需要 Air-Gapped SCA?

FossID 將 Air-Gapped SCA 的主要價值歸納為增強安全性、定制化合規、完整控制軟體發展生命週期、資料主權以及性能與可擴展性。尤其對於國防、政府、金融和關鍵基礎設施等具有嚴格安全要求的行業,完全隔離可以顯著減少外部網路帶來的攻擊和資料洩露風險。


1. 研發環境本身禁止任何外部網路通信

這是選擇 Air-Gapped 最明確的場景。例如部分國防及軍工研發、涉密專案、政府高安全等級系統、關鍵基礎設施和高安全等級工業研發環境,其內部開發網路本身可能已經採用物理或邏輯隔離。這種情況下,問題已經不是“原始程式碼能不能上傳?”,而是“這套研發環境能不能與互聯網發生任何通信?”如果答案是否定的,那麼依賴外部 Hosted Knowledge Base 的 Hybrid 架構自然無法滿足要求,SCA 引擎和 Knowledge Base 都必須部署在隔離安全域內部。


2. 不僅源碼,代碼衍生資訊同樣禁止出網

有些企業允許原始程式碼不上傳,但經過單向處理後的代碼特徵可以與外部服務通信,這類企業可以考慮 Hybrid。但更嚴格的安全性原則可能要求 Source Code、Hash / Signature、元件資訊、SBOM、掃描結果、專案中繼資料全部不得離開安全域。此時,單純做到“Source Code remains local”已經不夠。Air-Gapped 保護的不只是原始程式碼,而是整個分析環境與外部網路之間的隔離邊界。


3. 企業受到嚴格的資料主權要求約束

對於受到資料主權、資料存儲地域或跨境傳輸要求約束的組織,資料究竟存儲在哪裡、由誰處理,可能本身就是合規要求的一部分。Air-Gapped完全網路隔離的本地私有化(on-premise)架構可以使資料保持在組織指定的法律管轄或內部環境之內。此時需要考慮的不只是源碼是否洩露,還包括分析資料、元件資訊、SBOM、漏洞資料以及協力廠商是否能夠接觸這些資訊。


4. 企業需要完全控制 SCA 基礎設施

Air-Gapped部署的另一個特點是企業掌握整個 SCA 基礎設施,包括 Server、Storage、Network、SCA Engine、Knowledge Base 和 Integration。企業可以按照自己的 SDLC、安全域和基礎設施要求,將 SCA 與內部 Git、CI/CD、Build System、IDE、Issue Tracking、Compliance Workflow 等進行集成。


5. 存在特殊的性能與擴展需求

完全當地語系化意味著企業可以根據自身代碼規模和分析負載設計 CPU、Memory、Storage 和 Analysis Node。對於超大型代碼庫、大量項目並行分析或特殊內網基礎設施,可以針對實際環境進行性能優化。需要注意的是,Air-Gapped 並不天然一定比 Cloud/SaaS 更快;其優勢在於企業可以根據自身環境進行針對性配置。


三、什麼時候 Hybrid 可能反而更合理?

Air-Gapped部署提供了非常嚴格的安全邊界,但並不意味著所有“源碼不能出網”的企業都應該採用它。假設企業要求原始原始程式碼絕對不能上傳到協力廠商環境,但允許本地生成的 Hash、Signature 或其他必要特徵與外部 Knowledge Base 進行受控通信,那麼 Hybrid 往往可以在以下三個方面取得更好的平衡:


· 原始程式碼保護:原始代碼始終保留在企業內部環境。

· Knowledge Base 時效性:可以持續利用託管 Knowledge Base 中更新的 OSS Components、Licenses 和 Vulnerabilities。

· 運維複雜度:企業無需完整承擔龐大的本地 OSS Knowledge Base 的持續維護工作。


Hybrid 並不是“安全性較低的 Air-Gapped”,而是針對另一種安全邊界設計的部署架構。


它解決的是:如何在原始程式碼保護與外部知識庫持續更新之間取得平衡。


四、Air-Gapped部署的代價:Knowledge Base 不能“斷糧”

SCA 的有效性高度依賴 Knowledge Base,因為新的開源專案、元件版本、許可證資訊、CVE 及漏洞資料每天都在不斷產生和變化。Cloud/Hosted Knowledge Base 可以持續更新這些資訊,而完全隔離環境不能直接訪問互聯網。因此 Air-Gapped SCA 必須建立一套受控的知識庫更新機制。

Air-Gapped 并不意味着“不需要更新”-1.png

圖 2|Air-Gapped 並不意味著“不需要更新”


因此,Air-Gapped 部署不是“部署以後永遠不用更新”的同義詞,而是所有外部資料交換都必須通過企業定義的受控機制完成。企業需要承擔額外的 KB 更新、系統升級、基礎設施、備份、維護和安全管理成本。


五、Hybrid 還是 Air-Gapped?先問自己三個問題

Q1:原始原始程式碼是否允許離開企業環境?

如果允許,可以根據具體安全要求考慮 Cloud/SaaS 等架構;如果不允許,繼續 Q2。


Q2:經過本地處理的 Hash/Signature 等特徵資訊,是否允許與外部 Knowledge Base 進行受控通信?

如果允許,Hybrid 通常值得優先評估;如果不允許,繼續 Q3。


Q3:研發和 SCA 分析環境是否要求與互聯網及其他外部系統完全隔離?

如果是,Air-Gapped 部署通常是更符合安全邊界的架構。


决策过程-1.png

圖 3|部署模式快速判斷


六、安全邊界,而不是“安全等級”,才是選型的關鍵

Hybrid 與 Air-Gapped 部署最好不要理解成“普通版 → 高安全版”,而應該理解成針對不同安全邊界的兩種架構選擇。


如果企業真正的要求是“我的原始程式碼絕對不能離開企業環境”,那麼能夠保持源碼本地、同時利用持續更新的託管 Knowledge Base 的 Hybrid 架構可能已經能夠滿足需求,而且通常具有更低的基礎設施和知識庫維護成本。


但如果要求進一步提高到“不僅源碼不能出網,任何專案相關資訊都不能離開安全域,而且研發環境本身禁止與外部網路通信”,那麼完整的 Air-Gapped SCA 才真正體現其價值。


因此,SCA 部署選型真正應該回答的不是“哪一種部署模式最安全?”,而是“我們的安全邊界究竟在哪裡?”只有先回答這個問題,才能在原始程式碼安全、資料隔離、知識庫時效性、部署成本和長期運維複雜度之間找到真正適合自己的 SCA 架構。

 

七、靈活部署:根據企業安全邊界選擇合適的FossID架構

不同企業對於原始程式碼、分析資料和外部網路通信的安全要求並不相同,因此SCA部署也很難採用單一模式覆蓋所有場景。FossID支援靈活的部署架構,可以根據企業的安全性原則、IT環境和運維要求選擇不同模式。


對於允許使用雲端服務的環境,可以採用雲端/SaaS模式;對於要求原始程式碼始終保留在企業內部、但允許經過處理的代碼特徵與外部知識庫進行受控通信的企業,可以採用Hybrid模式,兼顧代碼保護與Knowledge Base的持續更新;而對於研發網路完全隔離、任何專案相關資訊均不得離開安全域的環境,則可以採用Air-Gapped完全隔離部署,將分析引擎和Knowledge Base全部部署在客戶內部。


因此,FossID的部署靈活性並不是簡單提供不同“安全等級”的產品版本,而是讓企業能夠根據自身的安全邊界、資料策略和運維條件選擇適合的SCA架構,在原始程式碼保護、知識庫時效性和部署維護成本之間取得平衡。

 

企業安全邊界

適合的FossID部署方式

核心特點

允許使用雲端服務

Cloud / SaaS雲端部署

部署和維護相對簡單

源碼不能出網,但允許受控KB通信

Hybrid混合部署

源碼本地 + Hosted KB

任何專案資料均不能離開隔離域

Air-Gapped完全網路隔離

Engine + KB全部本地


參考資料

FossID:5 Reasons You Should Consider an Air-Gapped Deployment of SCA Tools

https://fossid.com/articles/5-reasons-air-gapped-software-composition-analysis/