您購買了軟體組成分析工具(software composition analysis solution,SCA)來管理您的Open Source,但是在開始之前,請讀讀本篇文章,我們將讓您知道一些密技,並且有一些基本的使用指引,以確保您在導入SCA工具時能順利進行。
WhiteSource 提供整個組織而非個人的解決方案。如果希望在事業上獲得成功,那第一件應該做的事情就是組建一個跨領域團隊。
因為WhiteSource能夠同時解決資安弱點和授權的合規性問題,您的團隊成員不應只包含開發者,還有法務、資安、DevOps維運或DevSecOps安全維運等其他人員。管理層的支持也很關鍵,當管理層在全公司推廣一項計劃時,就表明該計劃對公司的成功具有重要戰略意義,值得員工付出時間和精力執行。
從一開始就建立合適的團隊可以促進溝通並對通往成功做好準備,當每一個成員都在同一陣線時團隊的目標和責任就清楚且明朗許多。例如當你定義開源軟體使用策略時,這將帶來更多好處。如果你有明確定義角色,則可以更輕鬆地建立策略並在特定的工作流程中設立批准者。
我們經常聽到客戶說他們是為了程式碼掃描而來購買Whitesource。雖然這是對的-WhiteSource確實是掃描您的Open Source程式碼! 但是WhiteSource能夠提供更多功能值得你期許。掃描開源程式碼只是管理Open Source 使用狀況的第一步。
一旦完成初步掃描後,你需要訂定計劃並採取行動,無論涉及弱點補救還是解決不相容的軟體授權。如果接著設定明確目標,那麼將獲得更巨大的成功,例如消除限制性的GNU GPL v2.0授權或發佈沒有重大弱點的產品。
設定明確目標有助於公司分派工作。WhiteSource提供的報告涵蓋了多面向內容,讓公司可針對設定的目標,優先選擇相看的報告內容,如:Open Source使用盤點報告, 可以客製的Attribution 屬性報告, 弱點報告和軟體授權相容報告,風險管理報告,弱點引用報告和變更日誌報告等等。一旦確認目標就會知道哪種報告最適合你。
擁有明確的目標還可以充分利用SCA解決方案;它還可以幫助您確定公司的流程,好讓你確定開源安全流程中的哪些步驟可以在軟體開發生命週期(SDLC)中實現自動化。
為了充分發揮SCA平台的價值並在整個開發過程中對其進行整合。為了做到這點,我們需要先充分了解WhiteSource 資料結構。
WhiteSource資料結構由三層組成:
組織可能無法完美地對照WhiteSource的資料模型,但沒關係,重點是在掃描之前意識到自己的環境並儲存到對應的資料模型層次(Organization/Product/Project)中。了解現有的程式碼和專案與WhiteSource的資料模型之間的關係後,就可以識別並記錄過程中有意義的掃描點。通常掃描是在CI / CD pipeline 中執行的,但也可以在QA版本中進行掃描,以真正發揮公司策略。為了充分利用WhiteSource,需要盡可能在多個地方進行掃描;儘早掃描並且經常掃描。
WhiteSource 的自動化規則可以協助你輕鬆管理Open Source。這些規則可以靈活滿足你的個人需求。可以根據安全弱點嚴重性評分,開源程式碼授權許可類型,軟體品質的嚴重性,元件過舊版本等多種類型來定義規則。你可以根據這些項目進行核准、拒絕、啟動批准流程或觸發問題通知單(Issue ticket)。
要實施規則分層,需要為軟體開發生命週期(SDLC)的每個階段創建不同的產品(例如,套件儲存庫(repo),建構和產品上線)。一旦建立這些產品階層,就可以將每個產品與軟體開發生命週期的相關步驟同步在一起,然後為每個產品建立不同的規則。在軟體開發生命週期的不同階段中,自動實施相關規則。
對軟體開發生命週期個階段都明確定義規則之後,你就可以非常得心應手地確定所使用的開源組件以及在每個階段由誰負責特定任務。
當終於準備好進行掃描時,從整個程式碼庫(code base)開始掃起總是讓人不知所措。如果沒有修復過安全弱點的經驗,你可能會驚訝:究竟需要解決多少問題才能修復這些弱點!?。
為了了解WhiteSource 的工作原理,我們建議從熟悉的軟體專案開始,然後從終端機指令手動掃描開始。透過掃描比較熟悉的軟體專案,你可以更輕鬆了解流程的工作方式以及WhiteSource數據的顯示方式。這或許不是最佳練習方式,但卻最適合第一次嘗試。
一旦準備好自動掃描,建議使用偵測模式(detect mode)。否則配置檔可能會顯得有點複雜而令人失望而退卻。這點很值得強調:使用檢測模式非常重要,因為掃描設置會對掃描結果產生巨大影響。一旦熟悉了掃描和配置文件,就可以從那開始進行建構。
現在,你已經通過建立團隊來管理開源元件的前幾個步驟,確立你的目標並完成了初步的掃描。你可以開始在整個公司中使用這些規則和流程。從小處著手並在堅實的基礎上建構有助於確保你訂定明確的指引、治理和補救計劃。成功必將隨之而來。