“铲子”是一款极具实用性的 JAVA SAST(静态应用程序安全测试)工具。其目标是为安全工程师们提供一款“简单、好用、价格厚道”的代码安全扫描产品。
以下是铲子SAST和Fortify两款工具的详细对比:
1.功能和特点
铲子SAST:
• 简单易用:一分钟即可完成安装,一个按钮创建扫描任务,一键查看漏洞数据流。
• 支持主流框架:适配包括Spring、Servlet、Dubbo等在内的主流Java技术框架。
• 轻量污点分析:快速完成污点数据流图的构建,简单实现污点分析规则开发。
• 多功能代码编辑器:支持语法高亮、查找、变量及方法跳转等功能。
• 内置规则+自定义规则:内置常见漏洞扫描规则,并支持使用Cypher查询语言开发自定义规则。
• 支持反编译扫描:支持对jar、class文件进行反编译扫描,并将漏洞定位到反编译后的Java代码。
Fortify:
• 全面的SAST工具:支持广泛的编程语言,并提供详细的安全规则和策略定制。
• NST中间媒体文件:通过调用语言的编译器或解释器将源代码转换成NST,分析代码间的调用关系、执行环境、上下文等。
• DevSecOps工具链集成:支持IDE插件和CI/CD集成。
• 部署和配置较重:需要专业团队支持。
• 规则体系完善但封闭:自定义规则难度大,维护成本高。
2.价格
铲子SAST:
• 免费版本:每月可以扫描10个项目,核心功能无限制,适合使用频率较低的用户。
• 付费版本:每月79元人民币即可无限制使用,提供一定的规则开发指导。
Fortify:
• 商业版价格:30万至40万人民币每年。
3.语言支持
铲子SAST:
• 主要支持Java,也支持其他主流技术框架。
Fortify:
• 支持Java、C#、C、C++等多种语言。
4.扫描效率
铲子SAST:
• 无需编译,可以直接进行扫描。
Fortify:
• 需要编译,将源代码转换成NST进行分析。
5.报告和缺陷管理
铲子SAST:
• 报告内容:提供详细的漏洞数据流和代码定位。
Fortify:
• 报告格式:支持PDF、XML、CSV、HTML等多种格式。
• 报告内容:核心内容完整,扫描信息等缺失。
综上所述,铲子SAST以其简单易用、价格厚道以及对Java主流框架的支持而受到青睐,特别适合Java项目的安全扫描。而Fortify则以其全面的SAST功能、广泛的语言支持和强大的规则定制能力而闻名,适用于需要深入安全分析的大型项目。两款工具各有优势,选择时需根据项目需求和预算进行考量。
铲子 SAST 工具安装地址: