将程序分析和AI、大模型结合,提高测试效率和智能化程度。

本文为IPO早知道原创

作者|罗宾

科技行业自主可控,受国家政策高度关注,从软件到操作系统,国产替代不断加速。在安般科技CEO兼创始人汪毅看来,随着软件国产化、AI在不同行业的渗透,以及代码规模大幅扩大,软件的可靠、稳定的重要性进一步提升,关系着整个国家软件产品体系的质量。

安般科技是国际首批、国内首家从事商业化智能模糊测试技术的公司,为信息化行业提供软件全流程负面测试产品和解决方案,帮助用户大幅缩短开发周期,显著降低开发成本。近日,在与IPO早知道的对话中,汪毅讨论了这项在国内商业化起步不久的技术如何保障国产软件的质量安全,以及模糊测试在AI时代的应用前景。

安般科技的产品原理是通过编译器插桩等手段了解软件内部的运行状况及运行信息,通过人工智能算法进行训练,进而变异生成一系列有针对性的测试用例,再将测试用例自动输入到程序中。目前,公司产品已经落地于军工、金融、信创、工业控制、智能网联汽车等领域。

同时,安般科技还推出了针对AI模型的一系列测试工具。这对安般来说有很大市场机会,与测试代码不同,AI模型必须使用工具进行测试。目前,安般已与多家金融领域客户合作,通过落地AI+单元测试、AI+模糊测试,进一步提升测试的效率和效果,并通过实施质量门禁解决方案,管理外采软件供应链,构建全生命周期的缺陷/漏洞管理体系。

前不久,网络安全软件巨头CrowdStrike导致微软Windows蓝屏故障,引发全球IT系统崩溃。在采访的最后,对于此次事件,汪毅表示,问题的根源在于软件开发过程中就应该解决处理漏洞。微软方面应该有一个机制来监控交付过来的软件是否可靠,“这对国内安全行业来说也是一种启示,关键系统在验收软件时要做好把关,同时在软件开发阶段要有一些手段来规避这类问题。”

以下为访谈正文(有删节):

Q:IPO早知道

A:汪毅 安般科技创始人兼CEO

以政策推动为契机做差异化定位产品

Q:安般已经建立的和未来的优势是什么

A:用两句话概括我们所做的事情,一是用AI做测试给软件找bug,另一块就是测试AI。我们积累了嵌入式/非嵌场景、不同操作系统下的产品落地经验;我们的各类用例生成算法能更充分有效地对软件进行测试。

接下来我们更多是要把产品在不同场景里推广落地。技术方面,我们原先是测试代码,未来逐渐会切换成测试AI模型中的一些问题,技术原理上有一定差异。

Q:从掌握技术到以公司形式去推广产品,发生这个变化的拐点是什么?

A:模糊测试技术原先在国内认知度比较低,它在2015-2016年只是开始出现在学术圈,我们是最早一批做这种技术研究的,但刚开始推广时,大家不太容易接受这项技术。

2021年,美国拜登签署了一项总统令(网络安全行政令),要求所有交付给美国政府的软件,都必须使用11项测试技术保证美国软件供应链安全。这11项技术里面有4项跟我们产品直接相关美国这项政策引起了国内很多关键行业对软件安全的重视,比如军工、汽车等。近两年中国出台了很多相关的法律法规。这是一个大的转折点,推动我们把一种比较新兴的“黑科技”变成普遍适用的通用技术

我们公司成立后战略也有一些变化,一方面是我们开始想做大安全,包括网络安全、软件安全,也是很多上市公司都在做的传统网络安全,后来我们聚焦在了软件本身的安全性、可靠性上。一方面是在产品上,我们做的是标准化的工具型产品,与国内很多以项目制推动业务的企业不同。

Q:我们与传统网络安全/软件安全公司的关系是什么?

A:在英文语境中,传统意义的网络安全相当于Security,关注软件的边界防护;我们的软件安全定义为Safety,关注软件内部的问题。是不同的领域。

Q:第一步是怎么让目标客户的决策者为产品买单的?

A:一开始找到PMF其实难度也比较大,但当我们获得机会在客户实际使用的一线展示出我们在很短时间内把bug找出来并取代了很多人工测试的工作量,我们也就获得了客户的买单。在早期我们的客户都是对软件质量要求很高的企业,关系到财产安全、生命安全的行业使用场景。近年很多行业的合规性政策出来后,我们的客户范围也拓宽了。

在潜在客户中,我们先去接触行业监管类单位,它们会从行业全局去关注软件的安全。之后我们还会推动它们检测的对象去成为我们的客户,最后也会推动这些客户的上游厂商去使用我们的产品。这样开发客户效率更高。

Q:公司在商业化落地中还在解决什么问题?

A:我们已经在重点行业里做了一些标杆客户,它们的需求比较强。但需要进一步解决的是如何更加批量化地将我们的工具推广出去,变成一种大家都用得上的产品。这一块只依靠我们的市场策略也许还不够,可能还需要一些国家政策去加速推动。

测试代码与测试AI

Q:也有很多客户企业它们自己在尝试将部分业务自动化,对你们有什么影响?

A:总体来说它们的自动化还不够普遍,很多企业在AI方面做得比较浅,算法不够通用,如果与开源或通用大模型结合,能产生的效果就比较弱了,在测试时只能找到简单的问题,漏报率、误报率都比较高。我们的产品是通用工具,但只靠AI还不够,用AI我们只能提供一些概率性的结论,但测试需要精准。我们以程序分析相关的技术为主,AI目前一些特定场景实现增益效果,这些结合起来才能达到目标。

Q:其实是你们在影响客户。

A:可以这么说。早期我们会引导客户如何使用我们的产品,类似行业布道的感觉。后来我们在客户中的认可度提高了,很多客户主动来找我们。

Q:测试AI的部分,我们落地情况怎样?

A:现在我们有一部分业务已经在测试AI了。因为在代码测试场景,即使用户不依赖测试工具,也能找出一些bug。但AI模型本质上是黑盒,用户不借助一些工具是完全无法测试的。目前大量公司滥用AI而对AI模型没有充分测试,会产生一系列风险。在这样的背景下,我们已经开发了一系列工具专门去检测AI模型系统的可靠性、鲁棒性、安全性,这对我们来说是一块很大的市场。

Q:以金融科技行业为例,大模型测试技术解决了哪些痛点?

A:包含几个细分场景,一是金融行业有很多外采的各类软件,这些软件交付过来到底是否可靠?我们的“质量门禁”工具能有效地对此进行把关,给交付过来的软件打分,超过一定分数软件是合规的,没达到合规标准就会被退回去。

另一块是围绕自研的场景。针对自研的一些关键系统,类似交易系统,我们可以提供基于大模型的单元测试工具,能在软件开发阶段实现自动化单元测试,保证每一个函数每一个单元的可靠性、安全性,从而达到系统的安全。

Q:这类工具的收费模式是什么?

A:接近SaaS模式,但是是本地化的,按照用户数量收取license费用。

整合测试工具链,实现高度SaaS化

Q:如何理解AI模型测试的过程?

A:一般情况用户会使用TensorFlow、PyTorch或其他开源AI框架做一个自己的AI模型,我们基于用户的模型会发送一系列处理过的样本数据来检测模型的判断的成功性,在此过程中也会生成一些对抗样本来攻击模型,找出哪些模型能够因此生成不正确的结论,我们也能监测出哪些神经元是容易被人攻击的,哪些是需要被调试和优化的,并生成相关报告。我们还能告诉客户如何去加固自己的AI模型,让其判断准确性更高,更难被攻击。

Q:前面也说到,客户自己的AI自动化水平现在还在初级阶段,我们有没有需要突破的?

A:不同的工具在不同客户中落地的时候可能还是存在一些阻碍,比如它自己没有自动化的接口去把它的应用系统和我们的工具连接在一起,基础设施还是偏手动的,这种情况下它就把我们的产品单纯作为一个验收的工具,但客户可以一步一步来,从验收工具开始,后面逐渐把我们的产品用作持续测试的工具。而我们提供的都是通用的工具,只是看客户怎么使用。

Q:产品迭代上如何规划?

A:有几个目标。第一个是实现产品适配与覆盖的场景越来越多;第二是从效率上,我们要在原来的程序分析的基础上,更好地加入深度学习和大模型,提高测试效率和智能化程度。
另一个目标是除了我们自己做的模糊测试系列产品,我们会结合其他场景的测试工具,包括静态分析工具、软件成分分析工具等,构建一个完整的测试工具链。此外现在我们服务的主要是大型企业客户,随着未来这些工具自动化程度提高,我们可以以插件化、SaaS化的形式服务很多中小客户,它们使用工具的成本也会降低,插件化意味着客户可以一边在开发中一边使用这些工具,对工具也就“无感知”了。

追加内容

本文作者可以追加内容哦 !