0

我对 Django 很陌生,所以如果这很明显,请提前道歉。

在 Rails 项目中,我使用一个名为bundler-audit的 gem来检查我正在安装的 gem 的补丁级别是否包含安全漏洞。通常,我将运行bundler-audit合并到我的 CI 管道中,以便在我部署时,如果 gem 存在安全漏洞,我会收到警告(并失败)。

是否有类似的系统来检查 Python 包中的漏洞?

4

1 回答 1

1

写完这个问题后,我又搜索了一些,找到了Safety,这正是我要找的。

如果其他人正在为 Django 项目设置 CircleCI 并想要检查他们的包是否存在漏洞,这是我在我的 中使用的配置.circleci/config.yml

version: 2
jobs:
    build:
        # build and run tests

    safety_check:
        docker:
            - image: circleci/python:3.6.1
        steps:
            - checkout
            - run:
                command: |
                    python3 -m venv env3
                    . env3/bin/activate
                    pip install safety
                    # specify requirements.txt
                    safety check -r requirements.txt
     merge_master:
         # merge passing code into master

workflows:
    version: 2
    test_and_merge:
        jobs:
            - build:
                filters:
                    branches:
                        ignore: master
            - safety_check:
                filters:
                    branches:
                        ignore: master
            - merge_master:
                filters:
                    branches:
                        only: develop
                requires:
                    - build
                    # code is only merged if safety check passes
                    - safety_check

要检查这是否有效,请运行pip install insecure-package && pip freeze > requirements.txt然后推送并观察 Circle 是否失败。

于 2017-11-04T22:38:23.943 回答