Checkmarx 是什么?
Checkmarx 是一个企业级应用程序安全测试(AST)平台,旨在通过在整个软件开发生命周期(SDLC)中识别和修复漏洞来帮助组织保护其软件。它提供了一个统一的解决方案,集成了静态应用程序安全测试(SAST)、软件成分分析(SCA)和交互式应用程序安全测试(IAST),使开发人员能够从一开始就构建更安全的代码,并为安全团队提供对应用程序风险的全面可见性。
主要功能
- 静态应用程序安全测试 (SAST): 扫描源代码以识别安全漏洞,如SQL注入、跨站脚本(XSS)和不安全的配置,而无需运行应用程序。
- 软件成分分析 (SCA): 识别代码库中的开源组件和第三方库,标记已知的漏洞和许可证合规性问题。
- 交互式应用程序安全测试 (IAST): 在运行时测试期间实时分析应用程序,以检测只能通过动态交互发现的漏洞。
- 基础设施即代码 (IaC) 安全: 扫描IaC模板(如Terraform、Kubernetes和CloudFormation),查找可能导致云环境安全漏洞的错误配置。
- 无缝 CI/CD 集成: 直接集成到开发人员工作流和CI/CD流水线(例如Jenkins、GitLab、Azure DevOps)中,提供快速反馈和自动化扫描。
- 最佳修复位置 (Best Fix Location): 智能地确定代码中的最佳位置,通过一次更改修复多个漏洞,从而显著节省开发人员的时间。
使用案例
- DevSecOps 实施: 将自动化安全检查直接集成到CI/CD流水线中,以及早、频繁地捕获漏洞。
- 合规与审计: 生成报告以证明符合PCI DSS、HIPAA和GDPR等行业标准。
- 开源风险管理: 获取对开源依赖项的可见性,以管理漏洞并确保许可证合规。
- 保护云原生应用程序: 分析微服务、容器和IaC模板,以保护现代化的、基于云的架构。
- 漏洞分类与修复: 为安全团队和开发人员提供一个集中式平台,以高效地优先处理和修复安全漏洞。
入门指南
Checkmarx 是一个需要安装和配置的商业平台。一个“Hello World”示例涉及将其集成到CI流水线中。以下是一个在 gitlab-ci.yml 文件中Checkmarx扫描步骤的概念性示例。
```yaml
.gitlab-ci.yml
stages:
- build
- test
build_job: stage: build script: - echo “正在构建应用程序…” # 此处为构建步骤
checkmarx_sast_scan:
stage: test
script:
- echo “正在运行 Checkmarx SAST 扫描…”
- |
/opt/cx/runCxScan.sh
–projectname=”${CI_PROJECT_NAME}”
–cxserver=”${CX_SERVER_URL}”
–cxuser=”${CX_USER}”
–cxpassword=”${CX_PASSWORD}”
–locationtype=git
–giturl=”${CI_REPOSITORY_URL}”
–branch=”${CI_COMMIT_REF_NAME}”
–preset=”Checkmarx Default”
–comment=”GitLab CI 扫描”
–asynchronous
rules:
- if: ‘$CI_COMMIT_BRANCH == “main”’
注意: 这是一个代表性示例。实际的脚本和参数将根据您的特定Checkmarx设置和CI/CD环境而有所不同。第一步通常是联系Checkmarx获取演示和试用许可证。
定价
Checkmarx 采用付费(基于订阅)的定价模式。成本通常基于开发人员数量、被扫描的应用程序数量以及所需的特定产品(SAST、SCA、IAST等)等因素。他们为企业提供定制报价,并且不公开发布固定的价格表。