如何从CodeQL导出SARIF并导入SonarQube

小编呕心沥血翻遍了社区和文档总结出来的结果,如果有用,您勒评论个“有用”,要是您勒心情好,记得收藏点赞 + 关注;小的我这辈子都忘不了您勒的大恩大德! 小编呕心沥血翻遍了社区和文档总结出来的结果,如果有用,您勒评论个“有用”,要是您勒心情好,记得收藏点赞+关注;小的我这辈子都忘不了您勒的大恩大德! 小编呕心沥血翻遍了社区和文档总结出来的结果,如果有用,您勒评论个有用,要是您勒心情好,记得收藏点赞+关注;小的我这辈子都忘不了您勒的大恩大德!

SonarQube随时在更新,本文仅代表当前状态

注意事项

  • SonarQube无法在Web端配置SARIF导入路径,没有测试能否在配置文件中配置,我是在执行扫描器sonar-scanner时在扫描器参数中配置的

  • SonarQube要求SARIF文件版本必须为v2.1.0,所以保险起见,CodeQL导出SARIF文件时应设置具体版本,不应该使用latest

  • SonarQube扫描器参数中配置SARIF导入路径时,不以当前项目为根。(这与导入外部问题有所不同)
    意味着,假如我的项目根目录为:~/project
    SARIF文件路径为:~/project/result.sarif
    我可以配置绝对路径/Users/likewendy/project/result.sarif
    也可以相对路径./result.sarif(假设在项目根目录执行扫描器的话)
    但是不可以/result.sarif
    未测试是否解析符号~~/project/result.sarif

示例

CodeQL导出SARIF:

codeql database analyze $HOME/test /Users/likewendy/.codeql/packages/codeql/go-queries/0.4.3/codeql-suites/* --format=sarifv2.1.0 --output=$HOME/test.sarif

执行扫描器:

sonar-scanner \
      -Dsonar.projectKey=test \
      -Dsonar.sources=. \
      -Dsonar.host.url=http://127.0.0.1:9000 \
      -Dsonar.login=053188881234 \
      -Dsonar.sarifReportPaths=./result.sarif

猜你喜欢

转载自blog.csdn.net/Deng_Xian_Sheng/article/details/129575157