首页 > 其他分享 >SAST扫描

SAST扫描

时间:2023-07-12 10:44:29浏览次数:53  
标签:SAST ali sonarqube 扫描 bj Dsonar sonar jenkins

这是一种无需运行程序即可调试代码的方法。它根据预定义的规则集分析代码。
SonarQube允许所有开发人员编写更清洁、更安全的代码。它支持多种用于扫描的编程语言(Java、Kotlin、Go、JavaScript)。它还支持为代码覆盖率运行单元测试。它可以轻松地与 Jenkins 和 Azure DevOps 集成。Checkmarx、Veracode 和 Klocwork 也提供类似的功能,但这些都是付费工具。
https://www.sonarsource.com/products/sonarqube/downloads/

sonar安装

sonar官网下载zip包解压即可,sonar其实也有收费版,不过我等穷人自然还是使用社区版

  • sonar需要jdk,不同版本之间对应关系不同,一般来说现在我们需要jdk11
  • sonar会用到es,使用sonar在修改限制配置文件后内存目测也需要2G+
  • sonar8.6之前的版本可以连Mysql,但是Mysql需要是是5.6
  • sonar也可以使用内置的h2库,不过这个库无法支持自动版本升级及数据迁移等功能
  • sonar与jenkins集成已有插件,官网也提供了pipeline写法
去官网下载zip包后unzip后放置在/usr/local下
[root@jenkins-bj-ali-ql1 local]# useradd sonar
[root@jenkins-bj-ali-ql1 local]# chown sonar sonarqube -R
[root@jenkins-bj-ali-ql1 local]# cd sonarqube/
[root@jenkins-bj-ali-ql1 sonarqube]# cat start.sh
#!/bin/bash
su - sonar /usr/local/sonarqube/bin/linux-x86-64/sonar.sh restart
[root@jenkins-bj-ali-ql1 sonarqube]# sh start.sh

等待一会即可访问9000端口(后续称访问地址为url),如果有报错可以看logs目录下日志提示,一般都是es内存的问题

[root@jenkins-bj-ali-ql1 sonarqube]# echo "vm.max_map_count = 262144" >>/etc/sysctl.conf
[root@jenkins-bj-ali-ql1 sonarqube]# sysctl -p

首次使用需要先访问url/setup初始化数据,再次等待后即可进去sonar web页面,默认账号密码admin/admin

关闭调用强认证

image

创建jenkins webhook

image
不需要密码,url固定为jenkins url/sonarqube-webhook,名称随意
image

关闭SCM传感器错误

image

生成jenkins调用令牌,生成的token需要记录一下

image

配置jenkins

系统管理-插件管理-安装sonar scan插件

image

系统管理-system- SonarQube servers

填写对应sonar信息,并添加凭证
image
凭证类型选择secret text,填入刚才的token
image

系统管理-全局工具配置

如果服务器上没有安装sonar scan工具的话可以由jenkins自动安装
image

集成jenkins pipeline

静态扫描基于代码,但是相比之前的扫描,耗时会多一些,因此我们放在SBOM之后

        stage('SonarQube') {
            steps {
                script{
					// 这是全局工具配置里sonar scan工具的名字,如果是服务器自带的,则在命令里指定调用路径即可
                    sqs = tool 'SonarQubeScanner'
                    withSonarQubeEnv('SonarQube') {
                        sh "${sqs}/bin/sonar-scanner \
                            -Dsonar.projectKey=${JOB_NAME} \
                            -Dsonar.projectName=${JOB_NAME} \
                            -Dsonar.sourceEncoding=UTF-8 \
                            -Dsonar.language=golang \
                            -Dsonar.projectVersion=${BUILD_NUMBER} \
                            -Dsonar.java.binaries=. \
                            -Dsonar.sources=. \
                            -Dsonar.exclusions=**/*_test.go,**/vendor/**,**/*.pb.go \
                            1>/dev/null"
                    }
					// 这里需要稍微等待下,因为网络调用有点会有点延迟
                    sleep(5)
                    timeout(time: 5, unit: 'MINUTES') {
                        script {
                            def qg = waitForQualityGate()
                            if (qgstatus != "OK") {
                                error "Pipeline aborted due to a quality gate failure: ${qgstatus}"
                            }
                        }
                    }
                }
            }
        }

其他SAST 扫描工具
Sonarqube
Checkmarx
Veracode
Klocwork

标签:SAST,ali,sonarqube,扫描,bj,Dsonar,sonar,jenkins
From: https://www.cnblogs.com/bfmq/p/17545571.html

相关文章

  • 《Kali渗透基础》08. 弱点扫描(二)
    @目录1:OpenVAS/GVM1.1:介绍1.2:安装1.3:使用2:Nessus2.1:介绍2.2:安装2.3:使用3:Nexpose本系列侧重方法论,各工具只是实现目标的载体。命令与工具只做简单介绍,其使用另见《安全工具录》。本文以kali-linux-2023.2-vmware-amd64为例。1:OpenVAS/GVM1.1:介绍OpenVAS(OpenVulne......
  • 联想扫描王 1.0.4
    联想扫描王官网现已上线,该应用支持高清扫描,纸质文件秒变电子档。主要功能•支持智能切边、梯形校正,PDF、JPEG格式可自由转换;•支持一码互连,多设备自由同步,快速批量互传文件;•支持精准识别,快速提取文本,一键复制、粘贴、摘录;•支持图片处理功能,去阴影、增亮,添加批注标记;•......
  • SBOM扫描
    软件物料清单(SBOM)是一个完整的、正式结构化的组件、库和模块列表,这些组件、库和模块是构建(即编译和链接)给定软件以及它们之间的供应链关系所需的。这些组件可以是开源的或专有的,免费的或付费的,可以广泛使用或限制访问。完成SBOM扫描分为两步生成SBOM清单基于清单进行安......
  • 单片机扫描矩阵键盘
    采用分时复用的方法,定时置位行,检测列,确定按下的按键,输出不同的按键值。voidKbScanProcess(void){//uint8_tRow=0;//按键所在行//uint8_tCol=0;//按键所在列//uint8_tRowCount=0;//按键触发行的个数,用于判断多个按键按下uint8_tColCount=0;//按键触发列的个数,用......
  • Burp Suite Professional / Community 2023.7 (macOS, Linux, Windows) - Web 应用安
    BurpSuiteProfessional/Community2023.7(macOS,Linux,Windows)-Web应用安全、测试和扫描BurpSuiteProfessional,Test,find,andexploitvulnerabilities.请访问原文链接:https://sysin.org/blog/burp-suite-pro-2023/,查看最新版。原创作品,转载请保留出处。作者......
  • Nexpose v6.6.203 for Linux & Windows - 漏洞扫描
    Nexposev6.6.203forLinux&Windows-漏洞扫描Rapid7VulnerabilityManagement,ReleaseJul05,2023请访问原文链接:https://sysin.org/blog/nexpose-6/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org您的本地漏洞扫描程序搜集通过实时覆盖整个网络,随......
  • C++进制转换+扫描线算法(二维区间合并面积和)
    ......
  • 秘密扫描Gitleaks
    gitleaks是一个密码扫描工具,属于SAST扫描,可以协助我们扫描文件、代码仓中的密码、秘钥串类内容,实现安全左移https://github.com/gitleaks/gitleaks安装二进制命令基础安装后会发现产物大概10M大小gitclonehttps://github.com/gitleaks/gitleaks.gitgomodtidygobuild......
  • 4.7 x64dbg 应用层的钩子扫描
    所谓的应用层钩子(Application-levelhooks)是一种编程技术,它允许应用程序通过在特定事件发生时执行特定代码来自定义或扩展其行为。这些事件可以是用户交互,系统事件,或者其他应用程序内部的事件。应用层钩子是在应用程序中添加自定义代码的一种灵活的方式。它们可以用于许多不同的用......
  • 扫描linux系统磁盘占用,释放空间的免费工具
    如何查找linux系统的磁盘占用,扫描大文件,释放空间,可以使用免费工具ncdu。虽然有du和df命令可以查询磁盘和文件夹的大小,但毕竟不方便,不能扫描整个磁盘的情况。用ncdu命令更直观,可以按目录以树形显示每个文件夹的大小,找到占空间的文件或者文件夹,删除释放磁盘空间。并且扫描速度飞快......