“铲子”是一款简单易用的JAVA SAST(静态应用程序安全测试)工具,旨在为安全工程师提供一款简单、好用、价格厚道的代码安全扫描产品。

以下是铲子SAST与CodeQL的详细对比:


1.产品定位和功能

铲子SAST:

• 是一款简单易用的JAVA SAST工具,旨在为安全工程师提供简单、好用、价格厚道的代码安全扫描产品。

• 支持主流的Java开发框架,采用轻量、快捷的污点分析技术,支持无代码场景的反编译扫描,便捷的自定义扫描规则。

• 内置了SQL注入、命令注入、文件上传、SSRF等常见CWE漏洞规则,以及Log4j、Shiro、Xstream、Actuator等组件类漏洞规则。

CodeQL:

• 由GitHub开发,专注于代码查询和分析,提供强大的查询语言进行代码分析。

• 支持多种语言,包括Java,与GitHub紧密集成,适合开源项目。


2.易用性

铲子SAST:

• 强调简单易用,快速安装和操作,一键创建扫描任务,快速查看结果,快速开发规则。

CodeQL:

• 需要学习CodeQL查询语言,门槛较高,一旦掌握,非常强大和灵活。


3.价格

铲子SAST:

• 提供免费版本和按月付费版本,价格相对经济。

CodeQL:

• 免费使用,特别是对于GitHub用户。


4.社区和支持

铲子SAST:

• 通过GitHub和微信服务号提供支持。

CodeQL:

• 由GitHub社区支持,有大量的在线资源和文档。


5.集成和自动化

铲子SAST:

• 可能需要手动设置集成。

CodeQL:

• 与GitHub Actions集成,支持自动化。


6.报告和分析

铲子SAST:

• 提供清晰的漏洞报告和数据流分析。

CodeQL:

• 可以生成详细的代码分析报告。


7.技术特点

铲子SAST:

• 支持反编译扫描,多功能代码编辑器,自定义规则采用Cypher查询语言。

CodeQL:

• 基于抽象语法树(AST)生成的数据库进行分析,提供跨语言支持,强大的查询语言,支持数据流与控制流分析。


总结
铲子SAST以其简单易用和经济实惠以及对java的深度支持的特点,适合有代码安全扫描需求的安全工程师或研发。而CodeQL则以其强大的查询语言和跨语言支持而闻名,适合跨多种语言的扫描需求。每种工具都有其独特的优势和适用场景,选择哪种工具取决于您的具体需求,如预算、团队技能、项目规模和特定的安全需求。

铲子 SAST 安装地址:GitHub - Chanzi-keji/chanzi: "chanzi" is a simple and user-friendly JAVA SAST tool that utilizes taint analysis technology, includes built-in common vulnerability rules, supports decompilation, custom rule creation, and is compatible with the technology stacks of Servlet & filter, Spring, Dubbo, Thrift, JAX-RS, JFinal, Netty, MyBatis, and JSP.

更多推荐