写点什么

两行代码助你搞定 SAST(静态应用程序安全测试)

作者:极狐GitLab
  • 2022 年 3 月 14 日
  • 本文字数:1597 字

    阅读完需:约 5 分钟

极狐 GitLab DevSecOps


极狐 GitLab DevSecOps 具有七大安全功能:容器镜像扫描、静态应用安全测试 (SAST)、动态应用安全扫描(DAST)、密钥检测、License 合规、依赖项扫描以及模糊测试,覆盖了软件开发的全生命周期。极狐 GitLab DevSecOps 除了能够助力用户真正的做到安全左移持续自动化以外,还具有以下特点:


  • 使用方便,用户友好


用户在开启 DevSecOps 功能(旗舰版用户默认可见可用,其他版本用户如果想用,可以申请免费试用,流程参考文章结尾章节)之后,只需要在 CI/CD Pipeline 中进行简单配置(一般仅为寥寥数行代码,下文会演示)即可开始使用,用户无需安装配置第三方工具或插件,减轻了维护多种安全工具链所带来的工作负担,同时对研发、安全、运维等人员也非常友好(只需简单配置 yaml 文件即可),提升了上述人员的使用体验。


  • 结果可视,公开透明


所有安全扫描结果都会在安全面板进行统一展示,可以根据不同的过滤器选项来得到指定安全防护手段的安全报告,只要是与此相关相关且已经获取授权的人员,都可以查看到相应的安全报告,包括漏洞内容,修复策略等。


  • 追踪方便,便于管理


可以通过配置,在提交 MR 的时候,对于所提交代码进行安全扫描,整个扫描结果最终会显示在 MR 中,如果发现有安全漏洞,可以立马创建相应的 Issue 来对此漏洞进行追踪管理。这种和研发工作流相结合的方式能够大大缩短安全漏洞的修复时间,同时整个过程是公开透明的,能够让团队成员之间建立起良好的信任。


前面的文章中分别介绍了极狐 GitLab DevSecOps 功能中的容器镜像扫描、敏感信息检测以及依赖扫描:



本文来演示极狐 GitLab DevSecOps 功能中 SAST 的用法。

SAST


SAST 是 Static application security testing 的缩写,也即静态应用程序安全测试,俗称静态分析,是一种应用程序的安全测试手段,出现较早,主要是通过分析源码来发现潜在的安全漏洞,从而确保软件安全。


SAST 属于白盒测试,分析结果能够精确到代码行数,而且通常是在代码编译之前进行,因此属于 SDLC 的早期,修复问题的成本相对较低。

极狐 GitLab DevSecOps 之 SAST


极狐 GitLab 的 SAST 功能支持多种语言,包管理器,框架等,诸如 Java、Go、.Net、JavaScript、Node.js 等,Helm Charts、Kubernetes manifests 等,React。只需要在极狐 GitLab CI/CD 中加入如下两行代码即可使能 SAST:


include:  - template: Security/SAST.gitlab-ci.yml
复制代码


下面通过一个 Demo Repo 来演示使用流程。Demo Repo 很简单,代码目录如下:


├── Dockerfile├── README.md└── main.go
复制代码


main.go 的内容如下:


package main
import ( "fmt" "net/http")
func handler(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "Hello, this is JiHu!!")}
func main() { http.HandleFunc("/jihu", handler) http.ListenAndServe(":9998", nil)}
复制代码


触发 CI/CD Pipeline,查看分析结果:



在安全仪表盘(安全与合规 --> 漏洞报告)可以看到详细的报告:



与极狐 GitLab workflow 的结合

SAST 的分析结果只是保证软件安全的其中一步,重要的是能够对问题进行追踪管理,方便相关人员进行修复。而对于极狐 GitLab 来讲,可以将 SAST 与 MR 无缝集成。构建起一个标准的端到端软件安全交付流水线:



同样使用上述的 Demo,在创建 MR 的时候,会触发 CI/CD 进行 SAST 分析,最终的结果会展示在 MR 中:



紧接着就可以通过创建 Issue 来对相应的 SAST 漏洞进行追踪管理:



极狐 GitLab DevSecOps 功能试用申请

DevSecOps 功能是极狐 GitLab 旗舰版专属的,但是用户可以申请免费试用。


选择一个想要使用 DevSecOps 功能的 Group,点击左侧导航栏中的安全,可以看到如下界面并点击开始免费使用



在出现的表单中输入相应的信息,点击继续



点击开始免费试用即可:



接着就可以看到 DevSecOps 功能已经开启:



发布于: 刚刚阅读数: 2
用户头像

极狐GitLab

关注

开源开放,人人贡献 2021.05.19 加入

开放式一体化DevOps平台,助力行业高速协同增长!

评论

发布
暂无评论
两行代码助你搞定SAST(静态应用程序安全测试)_gitlab_极狐GitLab_InfoQ写作平台