中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Safety如何安裝使用

發布時間:2021-11-30 09:24:18 來源:億速云 閱讀:260 作者:小新 欄目:安全技術

這篇文章將為大家詳細講解有關Safety如何安裝使用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Safety

Safety是一款功能強大的漏洞檢測工具,可以幫助廣大研究人員檢測設備上已安裝依賴組件中存在的已知安全漏洞。默認配置下,Safety使用的是開放Python漏洞數據庫-Safety DB,但是大家也可以使用--key選項來更新工具,并使用pyup.io的Safety API

工具安裝

我們可以使用pip來安裝Safety,不過請大家記住,當前版本的Safety僅支持Python 3.5及其更高版本的環境:

pip install safety

工具使用

運行下列命令,即可判斷當前以選擇的安裝了依賴組件的虛擬環境,并檢測已知的安全漏洞:

safety check

運行之后,我們將看到如下圖所示的報告界面:

Safety如何安裝使用

現在,我們來安裝一些存在安全問題的依賴組件:

pip install insecure-package

接下來,再次運行漏洞檢測命令:

safety check

這一次的掃描結果如下:

Safety如何安裝使用

工具使用樣例

讀取工具所需文件

跟pip一樣,Safety能夠讀取本地requirement文件:

safety check -r requirements.txt

從Stdin讀取

Safety還能夠使用--stdin參數來從Stdin讀取輸入數據。如需檢測一個本地依賴文件,可運行下列命令:

cat requirements.txt | safety check --stdin

或者,從pip freeze的輸出讀取輸入:

pip freeze | safety check --stdin

或者,檢測一個單一依賴包:

echo "insecure-package==0.1" | safety check --stdin

在Docker中使用Safety

Safety還能夠以Docker容器的形式運行:

echo "insecure-package==0.1" | docker run -i --rm pyupio/safety safety check --stdin

cat requirements.txt | docker run -i --rm pyupio/safety safety check --stdin

使用Safety源碼

Safety的源代碼還提供了某些額外的安全功能,安裝完成之后,我們就能夠使用常規命令行版本的Safety了。點擊【這里】即可獲取Safety源代碼。

通過CI服務使用Safety

Safety還能夠配合CI管道一起使用,如果掃描到了一個漏洞的話,它會返回一個非零退出狀態。

Travis:

install:

  - pip install safety

 

script:

  - safety check

Gitlab CI:

safety:

  script:

    - pip install safety

- safety check

Tox:

[tox]

envlist = py37

 

[testenv]

deps =

    safety

    pytest

commands =

    safety check

Pytest

深度GitHub整合

如果你想要將Safety跟你自己的GitHub庫進行深度整合的話,可以直接使用pyup.io中的Safety服務,即Safety CI。Safety CI能夠檢測GitHub庫中依賴組件的commit和pull request,并尋找已知的安全漏洞,并將檢測結果和狀態顯示在GitHub中。

Safety如何安裝使用

在產品中使用Safety

Safety是免費且開源的,它的底層開放數據庫每個月還會更新一次。為了訪問到所有最新添加進去的安全漏洞,我們需要使用一個Safety API密鑰以及一個付費的pyup.io賬號(約99美元)。

工具選項

--key

即pyup.io的漏洞數據庫API密鑰,需要在SAFETY_API_KEY環境變量中設置:

safety check --key=12345-ABCDEFGH

--db

指向本地數據庫的目錄路徑,其中包括insecure.json和insecure_full.json:

safety check --db=/home/safety-db/data

--proxy-host

代理主機的IP或DNS

--proxy-port

代理端口號

--proxy-protocol

代理協議(https或http)

--json

JSON格式的漏洞報告輸出:

safety check --json

[

    [

        "django",

        "<1.2.2",

        "1.2",

        "Cross-site scripting (XSS) vulnerability in Django 1.2.x before 1.2.2 allows remote attackers to inject arbitrary web script or HTML via a csrfmiddlewaretoken (aka csrf_token) cookie.",

        "25701"

    ]

]

--full-report

獲取完整的漏洞掃描報告,還包括安全建議:

safety check --full-report

+==============================================================================+

|                                                                              |

|                               /$$$$$$            /$$                         |

|                              /$$__  $$          | $$                         |

|           /$$$$$$$  /$$$$$$ | $$  \__//$$$$$$  /$$$$$$   /$$   /$$           |

|          /$$_____/ |____  $$| $$$$   /$$__  $$|_  $$_/  | $$  | $$           |

|         |  $$$$$$   /$$$$$$$| $$_/  | $$$$$$$$  | $$    | $$  | $$           |

|          \____  $$ /$$__  $$| $$    | $$_____/  | $$ /$$| $$  | $$           |

|          /$$$$$$$/|  $$$$$$$| $$    |  $$$$$$$  |  $$$$/|  $$$$$$$           |

|         |_______/  \_______/|__/     \_______/   \___/   \____  $$           |

|                                                          /$$  | $$           |

|                                                         |  $$$$$$/           |

|  by pyup.io                                              \______/            |

|                                                                              |

+==============================================================================+

| REPORT                                                                       |

+============================+===========+==========================+==========+

| package                    | installed | affected                 | ID       |

+============================+===========+==========================+==========+

| django                     | 1.2       | <1.2.2                   | 25701    |

+==============================================================================+

| Cross-site scripting (XSS) vulnerability in Django 1.2.x before 1.2.2 allows |

|  remote attackers to inject arbitrary web script or HTML via a csrfmiddlewar |

| etoken (aka csrf_token) cookie.                                              |

+==============================================================================+

--bare

僅輸出包含漏洞的依賴包,可結合其他工具一起使用:

safety check --bare

cryptography django

--cache

漏洞數據庫本地緩存,有效時長為兩小時:

safety check --cache

--stdin

從stdin讀取輸入數據:

cat requirements.txt | safety check --stdin

pip freeze | safety check --stdin

echo "insecure-package==0.1" | safety check --stdin

--output, -o

將掃描結果輸出至文件:

safety check -o insecure_report.txt

safety check --output --json insecure_report.json

開源許可證協議

本項目的開發與發布遵循MIT開源許可證協議。

關于“Safety如何安裝使用”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

田阳县| 安庆市| 垫江县| 图们市| 苏州市| 绩溪县| 宁国市| 泰来县| 博客| 罗甸县| 崇义县| 清原| 安化县| 开原市| 丹巴县| 海兴县| 吉首市| 沙雅县| 锦州市| 广东省| 凌云县| 贵州省| 泸定县| 平安县| 达拉特旗| 武功县| 麦盖提县| 满城县| 肃宁县| 镇雄县| 黄梅县| 汉中市| 驻马店市| 望城县| 莱芜市| 奉新县| 澄城县| 白银市| 瑞丽市| 绥宁县| 荥经县|