新發布SkillSec:把 Skills 安全從惡意檢測,升維到能力審計SkillSec瞭解更多 →
RESOURCES · OSS 101

開源 101

開源軟件安全的高頻問題速查手冊——從基礎概念到工程實踐,持續更新。

01基礎概念

什麼是開源軟件?
源代碼公開、允許任何人查看/修改/分發的軟件,使用需遵守其許可證條款。現代應用平均 70%+ 的代碼來自開源組件。
什麼是軟件供應鏈安全?
保障軟件從開發、構建、分發到運行全鏈路不被篡改和攻擊的實踐,覆蓋源代碼、第三方組件、構建系統、製品倉庫與交付通道。SolarWinds、Log4Shell 等事件使其成為安全焦點。
SBOM 是什麼?
軟件物料清單(Software Bill of Materials),完整列出軟件包含的所有組件、版本與依賴關係,相當於軟件的'配料表'。美國行政令 14028 與歐盟 CRA 均要求提供 SBOM。
SCA 是什麼?
軟件成分分析(Software Composition Analysis),自動識別代碼中的開源組件,檢測已知漏洞與許可證風險。CleanSource SCA 可識別到代碼片段級,覆蓋直接與傳遞依賴。
直接依賴與傳遞依賴有什麼區別?
直接依賴是你在配置文件中顯式聲明引入的組件;傳遞依賴是這些組件自身又引入的組件。漏洞大量藏在傳遞依賴裏,平均佔依賴總數的 80% 以上。

02許可證與合規

開源許可證有哪些類型?
大體分寬鬆型(MIT、Apache-2.0、BSD:義務少,商用友好)與著佐權型(Copyleft,如 GPL 系:衍生作品須以相同條款開源)。選型前先看義務強度。
GPL 許可證的核心義務是什麼?
以 GPL 組件構建的衍生作品在分發時必須整體以 GPL 開源,提供完整源代碼——即'傳染性'。僅內部使用不分發通常不觸發義務。
AGPL、LGPL 和 GPL 有什麼區別?
LGPL 較寬鬆:動態鏈接一般不要求你的代碼開源;AGPL 更嚴格:通過網絡提供服務也算'分發',SaaS 場景同樣觸發開源義務。
什麼是許可證衝突?
兩個組件的許可證條款互不相容,無法在同一軟件中合法共存,典型如 GPLv2 與 Apache-2.0。需要工具在依賴組合層面自動檢測。
OpenChain 是什麼?
開源合規管理的國際標準(ISO/IEC 5230),定義企業開源合規流程的關鍵要求,通過認證可向上下游證明合規能力。中國已有多家頭部企業通過認證。
商用軟件可以使用開源組件嗎?
可以,絕大多數商業軟件都在用。關鍵是識別每個組件的許可證義務並履行:保留版權聲明、提供許可證文本、按條款開源應開源的部分。

03漏洞與威脅

CVE 是什麼?
公共漏洞和暴露(Common Vulnerabilities and Exposures),全球統一的已知安全漏洞編號體系,如 CVE-2021-44228(Log4Shell)。由 MITRE 維護,是漏洞情報的通用語言。
CVSS 評分怎麼理解?
通用漏洞評分系統,0-10 分量化嚴重程度:9.0-10.0 超危、7.0-8.9 高危、4.0-6.9 中危。評分考慮攻擊途徑、複雜度、是否需要認證與交互等維度。
CWE 和 CVE 有什麼區別?
CWE 是缺陷類型的分類(如 CWE-78 命令注入),描述'哪類錯誤';CVE 是具體漏洞實例的編號,描述'哪個產品的哪個洞'。一個 CVE 通常對應一個 CWE 類型。
什麼是開源組件投毒?
攻擊者向公共倉庫(npm、PyPI 等)發佈攜帶惡意代碼的組件,通過仿冒知名包名、劫持維護者賬號等方式誘導開發者安裝,竊取憑證或植入後門。2026 年上半年單月投毒事件常超百起。
什麼是依賴混淆攻擊?
攻擊者在公共倉庫註冊與企業內部私有包同名的組件並標高版本號,構建工具解析依賴時誤拉公共倉庫的惡意版本。防禦靠私有源優先策略與版本鎖定。
什麼是 0day 和 Nday 漏洞?
0day 指官方補丁發佈前就被利用的漏洞,防禦最難;Nday 指補丁已發佈 N 天但目標仍未修復的漏洞——實際攻擊大多數走 Nday,修復時效是關鍵。

04工程實踐

DevSecOps 是什麼?
把安全活動左移並自動化嵌入 DevOps 全流程:編碼期 SAST、依賴引入期 SCA、測試期 DAST、運行期監控,讓安全與交付速度共存而非對立。
SAST、DAST、SCA 有什麼區別?
SAST 靜態分析你自己寫的源代碼(白盒);DAST 對運行中的應用做黑盒攻擊測試;SCA 分析引入的第三方開源組件。三者互補,共同覆蓋自研代碼與外部依賴。
如何在 CI/CD 中落地開源安全門禁?
在流水線中加入自動化檢查:提交觸發 SCA/SAST 掃描,按策略阻斷(如存在超危漏洞或禁用許可證則構建失敗),結果回寫代碼評審。門禁策略要分級,避免一刀切拖垮交付。
什麼是開源治理?
企業管理開源使用的體系化實踐:准入評審、組件台賬(SBOM)、漏洞響應、許可證合規、版本升級策略,目標是'用得放心、出事能查、義務可履'。
企業如何建立開源准入制度?
從評審會起步,逐步過渡到自動化門禁:定義准入標準(許可證白名單、維護活躍度、已知漏洞水位),集成到依賴引入流程,存量組件定期重掃。
SPDX 和 CycloneDX 怎麼選?
兩者都是主流 SBOM 標準:SPDX 源自 Linux 基金會,許可證合規刻畫更細,是 ISO 標準;CycloneDX 源自 OWASP,安全場景起步、迭代快。多數工具雙格式支持,按下游要求選擇即可。

05AI 與前沿

AI 應用帶來哪些新的供應鏈風險?
模型與數據集本身成為新組件(可被投毒),AI 框架高速迭代漏洞密集,Agent 的插件/工具機制引入代碼執行面。2026 年以來 AI 組件已是超危漏洞最高發領域。
什麼是提示詞注入?
攻擊者把惡意指令藏進 AI 處理的內容(網頁、文檔、工單)中,誘導模型執行越權操作,如泄露憑證、調用危險工具。是 LLM 應用最主要的攻擊方式之一(CWE-1427)。
MCP 和 AI Agent 有哪些安全風險?
工具鏈命令注入、未認證端點暴露、憑證明文存儲、惡意 Skill/插件投毒、沙箱逃逸。建議:工具註冊白名單、最小權限、默認鑑權,並用 SkillSec 這類工具做能力審計。