限制调用的方法具体是哪一个
import javafrom MethodAccess sinkwhere sink.getMethod().hasQualifiedName("java.sql", "Statement", "executeQuery")select sink, sink.getArgument(0)
匹配结果示例
获取一个调用所有的参数
ma.getAnArgument()
ma.getArgument(_)
获取指定的表达式在哪个方法中使用了
from RemoteFlowSource source,Method mwheresource.getLocation().getFile().getBaseName() = "DepartmentController.java" andsource.asExpr().getEnclosingCallable() = morm.getAParameter() = source.asParameter()select source,m
CodeQL Java 获取字符串类型的参数值
经常需要获取参数的数值,像下面这两个,我们希望获取的是funApprover跟codes

在获取字符串类型的参数值时,如果直接调用toString方法,会将包含双引号的整体输出
需要把这个参数值从Expr类型转为StringLiteral类型,然后调用StringLiteral类型的getValue方法
