github 會針對套件去做安全檢核並發出通知或是 pull request,如果本地端想要做這件事,該怎麼做呢?
剛好前幾天看到這篇:How to find third-party vulnerabilities in your Python code ,文章裡就介紹了 pip-audit 這個工具。使用這個工具,就可以對使用的套件來做安全檢核,並給予建議。
安裝方法很簡單,用 pip 安裝就可以
pip install --upgrade pip-audit pip
安裝完成後,就可以使用 pip-audit 指令了。
要對使用的套件檢查,可以用
pip-audit -r requirements.txt
檢查需要花一段時間,檢查後的結果大致會類似這樣子:
Found 1 known vulnerability in 1 package
Name Version ID Fix Versions
------- ------- -------------- ------------
urllib3 1.25.11 PYSEC-2021-108 1.26.5
你會看到有幾個已知漏洞,套件的名稱跟修正的版本。
若要即時的修正,pip-audit 也可以做修正。
pip-audit --fix
要注意的是,這個修正只是幫你安裝已經沒有漏洞的版本,requirements.txt 裡還是要自己去修正。
後續思考:
- 可以在 CI 流程裡使用 pip-audit 來做安全檢核,避免使用到有漏洞的版本。
- 使用 poetry 的話,可以把 pip-audit 列為 dev dependencies ,就不需要在正式環境裡也裝上這工具了。
沒有留言:
張貼留言