Checkmarx成立于2006年,总部位于以色列,是全球领先的应用安全测试(AST)解决方案提供商,专注于静态(SAST)、软件成分分析(SCA)和API安全测试。2020年被私募股权公司Hellman & Friedman以11.5亿美元收购。

Checkmarx
0.00条评价403次浏览
所属厂商:
交付方式:
定价方式:
适用客户规模(/人):
价格区间:
公司介绍:
产品详情
一、核心架构设计
1. 分层分析框架
graph TB A[代码解析层] --> B[中间表示层] B --> C[查询引擎层] C --> D[结果治理层]
2. 核心组件功能
- 代码解析层
- 多语言支持:
- 语言
- 解析技术
- 特殊支持
- Java
- Eclipse JDT + ASM字节码分析
- Spring Boot注解路由追踪
- JavaScript
- ESTree标准AST + 作用域链分析
- React/Vue组件Prop追踪
- C#
- Roslyn编译器集成
- ASP.NET MVC路由模型绑定
- Python
- AST模块 + 类型推断
- Django ORM SQL注入检测
- Apex
- 自定义解析器
- Salesforce对象权限漏洞检测
- 跨文件分析:
- 处理
import/include依赖关系 - 支持Monorepo项目结构
- 中间表示层
- 统一代码属性图(CPG):
- 四维融合模型:
graph LR A[AST语法树] --> D[CPG] B[CFG控制流] --> D C[DFG数据流] --> D E[PDG程序依赖] --> D
- 图数据库存储:使用Neo4j管理亿级节点关系
- 查询引擎层
- CxQL语言引擎:
- 类SQL的声明式漏洞查询语言
- 示例:检测SQL注入
FIND PATTERN "SQL Injection" WHERE Source: user_input() Sink: execute_sql() PATH: data_flow(Source, Sink)
- 动态规则加载:
- 热更新漏洞规则(无需重启扫描)
- 结果治理层
- 路径敏感验证:
- 符号执行验证漏洞可达性(集成Z3求解器)
- AI误报过滤:
- 基于历史数据的随机森林分类模型
二、核心技术实现
1. 深度数据流分析
- 上下文敏感分析(Context-Sensitive):
- 区分同一函数在不同调用点的行为
// 场景1:高危SQL拼接
buildQuery(`SELECT * FROM users WHERE id=${userInput}`);
// 场景2:低危日志输出
logger.debug(`User input: ${userInput}`);
- 对象敏感分析(Object-Sensitive):
- 追踪特定对象实例的状态流转
2. 污点传播优化
- 自适应传播规则:
- 操作类型
- 污点传播规则
- 字符串拼接
- 输出继承所有输入污点
- 数字运算
- 输出继承非常量输入污点
- 函数调用
- 根据预定义净化规则调整污点状态
- 净化函数库:
- 内置2000+安全函数(如
encodeURIComponent()) - 支持用户自定义净化规则
3. 并发漏洞检测
- Happens-before关系建模:
- Pthreads/Java Threads同步原语分析
- 锁状态跟踪:
- 检测双重锁死锁(Double-Checked Locking)
三、关键技术突破
1. CxQL动态规则引擎
- 自定义漏洞模式:
// 检测硬编码密钥
FIND Pattern "Hardcoded Secret"
WHERE
StringLiteral(str) AND
str.matches("(api|secret)_key=[A-Za-z0-9]{20,}")
- 规则版本管理:
- Git集成实现规则协作开发
2. 增量扫描技术
- 变更感知分析:
- Git Diff识别修改文件
- 依赖影响分析:
graph LR A[FileA.java修改] --> B[影响FileB.java] A --> C[影响FileC.js]
- AST缓存复用:
- 未修改文件直接使用缓存结果
3. 容器化扫描优化
- 轻量级Agent:
- Docker镜像<50MB,启动时间<2秒
- 资源隔离:
- cgroups限制CPU/内存占用
四、企业级特性
1. 大规模扫描支持
- 分布式架构:
- 组件
- 功能
- 扩展性
- CxManager
- 任务调度+结果聚合
- 支持K8s水平扩展
- CxEngine
- 执行扫描任务
- 单节点10万行/分钟
- 性能优化:
- 百万行Java代码扫描时间<15分钟
2. DevSecOps集成
- CI/CD流水线示例:
# Jenkins Pipeline
stage('SAST Scan') {
steps {
sh 'cx scan --project-name ${PROJECT} --branch ${GIT_BRANCH}'
// 质量门禁
script {
def results = readJSON file: 'cx-results.json'
if (results.high_vulns > 0) error "发现高危漏洞!"
}
}
}
- IDE插件:
- VS Code/IntelliJ实时漏洞提示
3. 合规支持
- 标准覆盖:
- 合规框架
- 支持能力
- OWASP Top 10
- 全项覆盖
- PCI DSS
- 需求6.5自动映射
- GDPR
- 数据泄露风险检测
- 审计报告:
- 一键生成PDF报告(含漏洞代码定位截图)
五、技术边界
1. 优势场景
- Web应用安全:
- SQL注入/XSS/CSRF等OWASP漏洞精准检测
- 云原生应用:
- 微服务架构跨组件数据流追踪
- 移动应用:
- React Native/Flutter混合代码分析
2. 技术局限
- 动态语言挑战:
- Python的
eval()/Ruby的method_missing检测受限 - 二进制分析:
- 需结合专用二进制扫描工具
- 逻辑漏洞深度:
六、技术演进方向
- AI辅助修复:
- 基于漏洞上下文生成修复建议
- IAST联动:
- 结合运行时数据验证漏洞可利用性
- SCA深度集成:
- 开源组件漏洞关联代码调用链
总结
Checkmarx SAST通过 “统一代码属性图(CPG)+ CxQL动态引擎” 架构实现:
- 深度代码理解:
- 上下文敏感的数据流/控制流分析
- 灵活规则扩展:
- CxQL支持自定义漏洞模式开发
- 企业级效能:
- 分布式扫描支持千万行级代码库
其技术本质是将代码语义转化为可查询的图模型,通过声明式语言定义漏洞模式,为复杂业务系统提供高适配性的静态分析能力。
展开更多
案例介绍
暂无内容
版权/专利
暂无内容
评价

"客观"-"真实"-"中立"-"专业"点评,每项不少于20字,总字数不少于90字,帮助更多迷茫的IT人。点评完即可现金抽奖,满5个送笔记本/平板活动支架;10个送扫地机器人;20个送VIP视频会员。
评分标准及明细
0-20分
很糟糕功能/性能/服务等基本无法使用
20-40分
较差功能/性能/服务等存在较多问题
40-60分
一般行业同类平均水平,凑活够用
60-80分
还不错行业上游水平,能满足大部分使用需求
80-100分
优秀行业领先水平,只有20%左右评比对象满足这个标准
总评分
项目
评分
同类平均分
综合
0
78
兼容性
0
76
稳定性
0
80
易用性
0
80
性能
0
80
市场占有率
0
68
功能
0
80
扩展性
0
78
美观度
0
78
技术服务
0
80
性价比
0
70
时间排序↓
最新
精华
0 条评论

向我咨询

发表评论







