通过对程序进行插桩以尝试逼近覆盖到程序所有执行路径为导向,通过各种算法自动生成测试用例来发现程序中的潜在缺陷。其中应用了程序编译,控制流分析,二进制插桩,符号执行和约束求解以及人工智能算法等各种计算机领域的前沿技术。
自动对缺陷漏洞进行分析,可检测类型包括:1、运行时错误: 除0,段错误,死循环,死锁;2、内存安全缺陷:堆溢出,栈溢出,缓冲区溢出;3、暴露到生产环境中的断言问题;4、内存泄漏:重复释放,释放后重用;5、其他未定义行为
支持C/C++语言源代码的模糊测试。源码工程的集成测试非常简单只有三步:1、提供可以编译的源码工程目录或者包,通过自动和手动的方式确定其构建方式,提交到定制化的编译环境中进行编译。2、提供缺省或者随机生成的初始输入数据,亦即种子文件和目录。3、执行集成测试。
1、二进制程序可以选择直接运行还是虚拟机环境运行。2、二进制程序分为应用程序以及服务或动态库。3、对于应用程序类似于源码编译后直接在环境下执行。4、对于服务和动态库,配置测试入口点信息后在环境下执行。
模糊测试通过尝试逼近覆盖到程序所有执行路径为导向,自动生成测试用例来发现程序中的潜在缺陷。模糊测试还可以作为一种持续化部署流程集成在原有CI/CD/DevOps开发流程中,成为一套完善的自动化漏洞发现体系,以帮助客户高效、快速、方便地寻找 Bug 和漏洞。