2017年11月23日 星期四

Python 套件的安全檢查 safety

使用 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 可以免費使用。

張貼留言