在软件开发过程中,发现并修改代码缺陷往往会耗费开发团队大量的时间和精力,传统的代码复审、同行评审,都通过人工方式进行,非但耗时耗力还可能出现漏报和错报的情况。因此,静态代码分析(static code analysis)工具顺势而生,能够在开发过程中帮助开发人员快速、有效的定位代码缺陷并及时纠正这些问题。
静态代码分析是指在不运行代码的前提下,对源代码、字节码和二进制码等代码进行分析,以找出编码错误、验证其是否符合性标准、以及是否存在漏洞。目前,有一些开源的静态代码分析工具,也有公司开发了静态代码分析工具,比如Fortify(Fortify SCA)、Security Innovation(Checkmarx Suite)、Armorize(CodeSecure),以及国内公司上海泽众软件(CodeAnalyzer)、璇玑科技(CodeSonar)等。
36氪最近接触到的公司「鉴释」也开发了一款深度源代码缺陷检测的静态代码分析工具「XcalScan」。该公司2018年创办于香港,并在深圳、北京和上海设立了办事处。
XcalScan通过集成到开发过程中进行工作,可以进行漏洞扫描、分析识别源代码中潜在的代码质量问题以及安全问题,还能帮助质检和安全审计团队执行的代码审查工作除此之外,同时也可以为团队领导和企业高管直观地展示软件项目的工作进展。
鉴释COO 赵科林介绍,XcalScan支持C、C++和Java三种常用语音的检测,其精确缺陷检测可以跨过程和文件工作。在实际开发过程中,只有开发者将程序代码上传后,才可以激活XcalScan的自动检测过程,而非实时扫描。扫描后XcalScan 会突出显示漏洞、严重性级别和跟踪路径,并自动将补救任务分配给工作组成员,还会输出简化的合规性缺陷集生成报告,用于补救和利益相关者监督。
得益于鉴释团队专家在编译器、中间表示语言(Intermediate Representation,IR)和编译优化技术的研究,XcalScan可以利用IR分析和下一代编译技术定位深层缺陷,提高XcalScan的检测准确率,降低误报率,“这就是XcalScan的核心优势。”赵科林说,“计算机代码可分为不同层次,越靠近编译器后端,字节码阶段的代码,提供的信息越多。而鉴释的产品能够尽可能地接近编译器的后端,着眼于中间表示语言(IR),因而可以获得更多的信息来判断代码在编译过程中出了哪些问题,更精准地定位出缺陷,从而有着比同类更低的误报率。”
XcalScan的另一个优势在于对于全球软件安全的了解和熟悉。鉴释看到了中国企业在智能手机、AI、物联网、自动驾驶等新兴领域快速发展,在这些发展背后都离不开高质量、高安全代码的支撑,“当这些中国公司要走向海外,代码的质量安全标准也会受到许多挑战(比如来自CERT、MISRA、GDPR的规定),它们就需要提高代码质量,提高稳定度和安全性,这就是我们的机会。”赵科林说。Forrester公司在一项调查结果显示,全球应用程序安全领域的市场规模一直在持续扩大,在2019年预计将达到25亿元美元,这也反映出企业对代码质量和安全的重视度正在上升。
目前,XcalScan处于用户试用的阶段,测试结束后将投入商用阶段,主要将采取B2B的直销模式和代理模式销售产品。
团队方面,鉴释联合创始人兼CEO梁宇宁曾在世界500强企业(包括三星、诺基亚、华为)和初创科技公司领导软件开发工作,拥有超过二十年的软件开发和管理经验,对全球的科技和软件安全行业有深刻的行业洞见。CTO陈新中有三十余年在编译器优化技术方面的工作经验,曾在“英特尔-清华大学联合实验室”担任主管,并在英特尔实验室就职担任负责人,专注嵌入式系统方向的研究,在编程分析领域拥有超过 20 项专利。联合创始人兼首席架构师刘新铭在开发和交付高性能计算系统(HPC)编译器和性能分析工具方面拥有数十年的丰富经验,他曾担任惠普 Java 编译器技术实验室主任,领导基于惠普安 腾处理器的编译器开发工作。COO赵科林曾担任曾任诺基亚全球销售主管、联想和摩托罗拉全球销售主管以及华为执行副总裁等,能说得一口流利的普通话对中国以及全球业务均有了解。
据悉,鉴释正在寻求A+轮融资。