我正在使用 SonarQube 7.4.0.18908 收集代码覆盖率并为 Python 3.6 项目执行静态代码分析。服务器在AWS中运行。一切都按预期进行(参见下面的屏幕截图)。
现在我想为该项目添加安全扫描。我“选择”了Bandit,但实际上这似乎是当前与 SonarQube for Python 集成的唯一工具,如Import Bandit Issues Reports中所述。SonarPython 插件支持 Bandit 分析,该插件安装在 SonarQube 服务器上。为了在本地生成漏洞报告,我使用 Bandit 1.5.1 pip3 模块。
漏洞报告不会显示 - 甚至可能不会上传 - 到 SonarQube(请参见下面的相同屏幕截图)。
我将此行添加到项目的sonar-project.properties文件中:
sonar.python.bandit.reportPaths=bandit-report.json
Run Code Online (Sandbox Code Playgroud)
然后我运行了报告:
pip3 install bandit==1.5.1
bandit --format json --output bandit-report.json --recursive src
Run Code Online (Sandbox Code Playgroud)
我验证bandit-report.json包含正确的数据:
{
"errors": [],
"generated_at": "2019-01-30T14:49:18Z",
"metrics": {
...
"results": [
{
"code": "8 def prepare_df_for_comparison(df, name, ignore_columns=None, sort_columns=None):\n9 assert df is not None\n10 \n11 # …Run Code Online (Sandbox Code Playgroud)