使用 Python 來建立專案常常會需要拉一些額外的套件進來使用,然而有時候專案已經穩定不再增加新功能也不再修正錯誤時,就是只放著讓它在那邊自己跑著,只是說這個專案使用到的額外的套件難免會有一些未知的安全問題,這時候該怎麼辦呢?
於是我找到了 https://pypi.python.org/pypi/safety
執行
$ pip install safety
安裝起來,然後再執行
$ safety check
就可以看到結果。
或者是可以直接檢查 requirements.txt 這個檔案。
$ safety check -r requirements.txt
╒══════════════════════════════════════════════════════════════════════════════╕
│ │
│ /$$$$$$ /$$ │
│ /$$__ $$ | $$ │
│ /$$$$$$$ /$$$$$$ | $$ \__//$$$$$$ /$$$$$$ /$$ /$$ │
│ /$$_____/ |____ $$| $$$$ /$$__ $$|_ $$_/ | $$ | $$ │
│ | $$$$$$ /$$$$$$$| $$_/ | $$$$$$$$ | $$ | $$ | $$ │
│ \____ $$ /$$__ $$| $$ | $$_____/ | $$ /$$| $$ | $$ │
│ /$$$$$$$/| $$$$$$$| $$ | $$$$$$$ | $$$$/| $$$$$$$ │
│ |_______/ \_______/|__/ \_______/ \___/ \____ $$ │
│ /$$ | $$ │
│ | $$$$$$/ │
│ by pyup.io \______/ │
│ │
╞══════════════════════════════════════════════════════════════════════════════╡
│ REPORT │
│ checked 101 packages, using default DB │
╞════════════════════════════╤═══════════╤══════════════════════════╤══════════╡
│ package │ installed │ affected │ ID │
╞════════════════════════════╧═══════════╧══════════════════════════╧══════════╡
│ pillow │ 3.2.0 │ <3.3.2 │ 33138 │
│ pillow │ 3.2.0 │ <3.3.2 │ 33139 │
│ cryptography │ 1.3.1 │ <1.5.3 │ 25680 │
│ httplib2 │ 0.9.2 │ <=0.9.2 │ 25848 │
│ mistune │ 0.7.1 │ <0.7.2 │ 25890 │
│ rsa │ 3.2.3 │ <3.3 │ 33164 │
│ rsa │ 3.2.3 │ <3.4 │ 26112 │
╘══════════════════════════════════════════════════════════════════════════════╛
看樣子只要將版本更新上去就沒問題了,當然原本專案的某些地方可能會跟著壞掉需要再修正一下。
最後是 https://pyup.io/ 對 GitHub 提供了 CI 的服務,public repo 可以免費使用。