![]() 微信小助手 |
本项目属于蚂蚁安全团队应用安全评价体系项目。本评价体系为Nodejs污点追踪引擎评价体系,用于评价对服务端的Node环境中运行的Javascript代码以及当前开发中常用的Typescript代码进行污点追踪的安全扫描引擎的能力。评价体系靶场选择了蚂蚁开源的Nodejs框架EggJS。
注:本评价体系评价的是Nodejs静态安全分析引擎,而非全部的整个检测产品,即不包括使用引擎来建设的检测规则的评价。
通过应用安全评价体系项目,希望可以衡量出应用安全产品的技术优劣,指引应用安全产品的发展方向,并可辅助用于商业化安全产品采购的技术选型。
项目主要包括两部分,一部分是分语言的评价体系,另一部分是基于评价体系的Benchmark。此项目一期首先发布的是Nodejs SAST引擎能力评价体系V1.0和Benchmark。如果您有任何好的想法,欢迎与我们团队联系。 Java应用的xAST(SAST/IAST/DAST)评价体系传送门
本评价体系benchmark选用开源框架Egg,项目结构如下
|-- app
| |-- router.ts //路由文件
| |-- common
| |-- controller //路由
| | |-- Accuracy //准确度case
| | |-- Completeness //完整度case
| |-- decorator
| |-- generic
| |-- public
| |-- service
| |-- util
|-- config
| |-- config.default.ts
| |-- config.local.ts
| |-- config.prod.ts
| |-- plugin.ts
靶场用例,详见文档《评价项对应表》,目前仍在持续更新中,您也可以评论留下您的宝贵意见或建议
配合靶场使用的source、sink点清单见文档《source、sink清单》,各个产品使用时可以以自己的配置方式进行导入配置。
注:可将引擎实际使用情况将链路中信息错误、不全(节点丢失、信息存在偏差等)均视作未检出该case(记入TN/FN)。这部分链路可能会提升误报率与遗漏率,给运营带来压力。
S =TP+TN+FP+FN = 169
其中,完整度caseAB分布:130:3,准确度caseAB分布:12:24。 因此总计该检出的:130+12=142,总计不该检出的24+3=27。 用于进行准确率、召回率的计算。
$ npm i
$ npm run dev
$ open http://localhost:7001/
Don’t tsc compile at development mode, if you had run tsc
then you need to npm run clean
before npm run dev
.
![]() 微信小助手 |