開源軟件讓企業(yè)可以利用世界上最優(yōu)秀、最聰明的開發(fā)人員的力量。通過提供構(gòu)建產(chǎn)品的捷徑,它可以極大地提高生產(chǎn)率并縮短上市時間。然而,盡管它被廣泛使用(您很難找到一個不使用開源組件構(gòu)建的應(yīng)用程序)以及它的優(yōu)點,開放軟件代碼對于開發(fā)人員來說可能是一個麻煩,對于那些由于開源漏洞而導(dǎo)致數(shù)據(jù)泄露的組織來說則是一場噩夢。
今年早些時候,OpenAI,最新的人工智能寵兒,要么拯救世界,要么毀滅世界,取決于你相信誰,成為數(shù)據(jù)泄露的受害者,原因是一個被利用的開源庫漏洞。黑客將私人聊天數(shù)據(jù)暴露給了其他用戶。
ChatGPT漏洞說明了使用開源組件的一個重要問題——急于進入市場。在其他一些引人注目的錯誤之后,該公司因過早上市而受到批評。然而,考慮到先發(fā)優(yōu)勢,企業(yè)不太可能愿意放慢開發(fā)時間表作為回應(yīng)。
由于市場壓力沒有顯示出任何緩和的跡象,DevOps團隊能做的最好的事情就是采取積極主動的方式進行開源集成。以下是與使用開源組件相關(guān)的最常見問題,以及開發(fā)人員如何克服這些問題。
1.兼容性
開發(fā)人員可以為幾乎任何功能找到開源組件。團隊可以從多個資源中挑選和選擇來創(chuàng)建創(chuàng)新產(chǎn)品。然而,每個元素都有自己的做事方式——數(shù)據(jù)格式、協(xié)議、應(yīng)用程序編程接口(api)——讓它們無縫通信可能是一個巨大的挑戰(zhàn)。以下是處理兼容性問題的一些技巧:
定期檢查發(fā)行說明、文檔和社區(qū)論壇,了解任何更改或兼容性問題,以保持更新。
實現(xiàn)自動化測試,包括單元測試、集成測試和回歸測試,以便在開發(fā)周期的早期捕獲兼容性問題。
創(chuàng)建一個軟件材料清單,以了解每個組件的依賴關(guān)系以及它們?nèi)绾蜗嗷プ饔谩?/p>
2.漏洞
開源的協(xié)作性質(zhì)意味著,雖然源代碼是免費提供的,但漏洞也是免費提供的。任何人都可以查看和分析代碼,包括潛在的攻擊者。開源組件中的安全漏洞可能在修補甚至識別之前就被利用了。隨著網(wǎng)絡(luò)安全和數(shù)據(jù)保護法規(guī)的迅速擴展,安全地集成開源組件通常是一個法律問題,而不僅僅是一個最佳實踐。開發(fā)團隊可以通過以下方式加強他們的開源網(wǎng)絡(luò)安全態(tài)勢:
使用自動化工具掃描已知漏洞的代碼
審計代碼以識別潛在的安全缺陷,特別是在集成新的開源元素之后
在DevOps過程中采用和實施安全最佳實踐。
使用依賴項管理工具跟蹤并更新項目中所有開源組件的安全問題,包括間接依賴項
制定事件響應(yīng)計劃,以處理發(fā)現(xiàn)的漏洞和安全問題
3.標準化
許多擁有多個團隊從事不同項目或包含開源組件的特性的組織無法實現(xiàn)標準化實踐。團隊可能同時使用同一組件的不同版本或多個組件。每個部門都有自己使用開源組件的標準實踐,這并不罕見。相互沖突的實踐可能會減慢開發(fā)速度,并導(dǎo)致缺陷、錯誤和兼容性問題。通過開發(fā)一個適用于整個組織的清晰的開源治理策略來避免這些問題。該策略應(yīng)該處理如何、何時以及在何處使用、跟蹤和保護開源組件的所有元素。
4.過時的軟件
開源軟件通常依賴于社區(qū)對新特性、更新和補丁的支持。隨著時間的推移,支持可能會減少,使過時的軟件存在多個漏洞和關(guān)鍵問題。依賴于不再更新或支持的軟件的開發(fā)團隊將不得不在內(nèi)部處理軟件的管理。
使用像Kiuwan這樣的軟件組合分析(SCA)工具來識別和跟蹤代碼庫中的開源軟件,這樣團隊就可以識別任何不受支持的開源軟件。從這里開始,DevOps團隊可以創(chuàng)建一個更新和維護軟件的計劃。
5.許可要求
因為開源代碼通常是免費提供的,所以很容易忘記它附帶許可要求。使用多個開源組件的大型項目必須遵守具有不同條款和條件的許多不同類型的許可。
不遵守許可條款的企業(yè)可能面臨重大風險。自動化SCA工具使團隊能夠看到開源代碼,并在需要采取行動遵守許可條款時提醒他們。
6.知識產(chǎn)權(quán)曝光
與許可風險密切相關(guān)的是暴露知識產(chǎn)權(quán)的風險。一些開源軟件包含copyleft條款。這種類型的許可證允許任何人使用該軟件,前提是所有修改和衍生軟件都是以相同類型的許可證生產(chǎn)的。使用copyleft軟件的團隊必須在相同的許可下發(fā)布他們使用開源組件創(chuàng)建的應(yīng)用程序。這種類型的許可使得創(chuàng)建專有軟件和保護知識產(chǎn)權(quán)變得不可能。
為了避免這種風險,開發(fā)團隊需要清楚地了解代碼庫中的所有開源元素及其相關(guān)許可。這可能特別棘手,因為依賴項可能包含隱藏的開源組件。SCA工具可以掃描代碼庫以查找隱藏的開源代碼,包括適用的版本和許可證。
7.可伸縮性限制
使用開源集成進行擴展可能會很復(fù)雜。一些開源軟件包括開放核心模型,其中核心元素是免費的,但某些功能需要商業(yè)許可。其他項目以開源開始,但最終會過渡到商業(yè)許可。這兩種模式都可能導(dǎo)致意想不到的費用,從而干擾組織的發(fā)展。計劃擴大規(guī)模的企業(yè)應(yīng)該仔細考慮如何將開源軟件集成到他們的特色產(chǎn)品中。然后,他們要么采用可能保持開源的組件,要么為商業(yè)許可的最終成本做計劃。
使用Kiuwan有效地管理開源
Kiuwan的端到端應(yīng)用程序安全平臺使企業(yè)可以輕松地保持在其開源組件的頂部。我們的Insights(SCA)通過降低與開源軟件相關(guān)的風險來增強開發(fā)人員的能力。它自動掃描源代碼組件的代碼,以提供全面的風險概述。
審核編輯:劉清
-
SCA
+關(guān)注
關(guān)注
1文章
37瀏覽量
12134 -
devops
+關(guān)注
關(guān)注
0文章
122瀏覽量
12420 -
ChatGPT
+關(guān)注
關(guān)注
29文章
1589瀏覽量
8857
原文標題:Kiuwan:開源集成令人頭痛的7個原因(以及如何避免)
文章出處:【微信號:哲想軟件,微信公眾號:哲想軟件】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
開源項目!Open Echo:一個開源的聲納項目
Open Echo:一個開源的聲納項目

開源項目!教你如何制作一個開源教育機械臂
為什么LMP90100的4個通道測數(shù)據(jù)時,通道0測不準,而且偏差相當大,會是什么原因呢?
DAC8734只能把第一個接收到的數(shù)字數(shù)據(jù)輸出,有哪些原因導(dǎo)致的呢?
adc12j4000發(fā)送數(shù)據(jù)出錯是什么原因呢?
分析波峰焊時產(chǎn)生連錫(短路)的原因以及解決辦法

如何有效避免PCB腐蝕過度
TDA4 HS Prime密鑰燒錄以及vHSM的集成

新品 | 集成溫度傳感器工業(yè)和汽車級CoolMOS? S7T和S7TA SJ MOSFET

開源 KiCad/AD 查看器 + AI Copilot?
7月全志芯片開源項目分享合輯
7針M16母頭使用金屬外殼的原因

TPD7S019用于VGA端口的7通道集成ESD解決方案

評論