ant-application-security-testing-benchmark icon indicating copy to clipboard operation
ant-application-security-testing-benchmark copied to clipboard

return_value_passing_001_T/F case问题

Open dgc4t opened this issue 1 year ago • 5 comments

您好,为什么return_value_passing的T/F与实际是相反的,我看注释里有标识为负样本,是因为__taint_sink不被视为sink么?

Image

dgc4t avatar Jan 21 '25 13:01 dgc4t

噢噢,刚看到了是static,这个是否可以在注释中特别标注一下呢?毕竟这种case在实际代码中很少遇到,而且从注释来看,主要的关注点被引导到了return值的传递。

dgc4t avatar Jan 21 '25 13:01 dgc4t

感谢您的提问。这里我们的case写的时候有个小问题, tmp = "_";这一句对污点赋值进行了重新赋值,所以应该不存在污点链路。我们在写的时候把这句加到了T的里面,应该加到F的case里。另外Introduction也写错了,应该为返回值传递相关的介绍,我们进行一下修改。

也欢迎给我们提交pr直接进行修改~~

AntJiuFo avatar Jan 22 '25 06:01 AntJiuFo

com/sast/astbenchmark/case_language_maturity/accuracy/path_sensitive/loop_stmt/Statement_WhileStatement_003_T.java com/sast/astbenchmark/case_language_maturity/accuracy/path_sensitive/loop_stmt/Statement_WhileStatement_004_F.java 这两个case也稍微有点问题 Image Image 两个case的while循环判断条件都对传参type进行比较,只是一个是ls和mkdir,其实结果是一样的,要么进入死循环,要么cmd无法传入Runtime.getRuntime().exec(),我猜T的那个case StringUtils.equals应该使用a,或者在while循环中重新对type赋值

dgc4t avatar Jan 22 '25 09:01 dgc4t

com/sast/astbenchmark/case_language_maturity/completeness/single_app_tracing/control_flow/conditional_stmt/Statement_SwitchStatement_001_T.java com/sast/astbenchmark/case_language_maturity/completeness/single_app_tracing/control_flow/conditional_stmt/Statement_SwitchStatement_002_F.java 这两个也有跟上面的Statement_WhileStatement类似的问题

dgc4t avatar Jan 22 '25 10:01 dgc4t

感谢您的提问,这里是有问题的,我们只关注到了设计ast中的结构,忽略了执行死循环的问题,我们进行一下修改

Deadpoo3 avatar Feb 18 '25 08:02 Deadpoo3