發表文章

目前顯示的是 11月, 2019的文章

[Git] GitHub Dependabot自動建立Pull Request修正安全性漏洞

圖片
GitHub在今年推出了基於GitHub Security Advisory API 的Dependabot,幫助使用者追蹤模組依賴關係、監控程式的安全性,並透過自動建立Pull Request來修正程式漏洞;以Python來舉例,使用者經常會使用requirements.txt來管理pip的模組,Dependabot可以自動偵測requirements.txt中具有安全性疑慮的模組版本,並通知使用者,以及自動建立Pull Request來協助使用者更新。 使用GitHub管理程式的人應該都有收過類似下面的信件,告知程式中有安全性漏洞並請使用者更新;因為我自己有些程式並不是完整的程式,可能只是一些功能的Demo,或者一些寫到一半的Memo,也或者某些模組更新後必須修改程式,所以我很懶得把程式Pull下來、更新漏洞、再Push回去,這些漏洞就會一直被放著,通知信件也會一直寄來。 所以GitHub很貼心的除了通知使用者之外,現在還可以幫助使用者直接線上修正,只需要點擊幾個按鈕;以下圖為例,如果程式中有漏洞,在進入Repository的頁面時,會看到一個安全性警告。 按下View security alert或者點選上方的Security頁籤都可以切換到安全性頁面,查詢安全性漏洞的詳細資訊;左上角會有一個Automated security fixes啟用或停用的選單,啟用的話Dependabot會自動幫你建立Pull Request,停用的話就要自己在每個Security Alert中手動建立。 這邊要補充一下, 在使用者的Setting下的Security可以開啟或關閉Automated security fixes,預設應該是開啟的(未勾選), 但是在我的一些Repository中Automated security fixes還是關閉(Off)的,可能是因為Beta版本或者其他因素,使用者最好依照需求自己逐一檢查每個Repository是否有開啟。 回到Security Alert,這時候使用者可以點擊任意條通知查詢詳細內容,裡面會說明要更新那些東西、為何要更新等等,這時候我遇過三種可能的狀況。 成功自動修正漏洞 如果Dependabot成功的幫你自動修正了,在Security Alert中會出現提示,同時也會建立一個新的Pull