Files
codeql/python/ql/src/Statements/ExecUsed.ql
Taus Brock-Nannestad f07a7bf8cf Python: Autoformat everything using qlformat.
Will need subsequent PRs fixing up test failures (due to deprecated
methods moving around), but other than that everything should be
straight-forward.
2020-07-07 15:43:52 +02:00

28 lines
692 B
Plaintext

/**
* @name 'exec' used
* @description The 'exec' statement or function is used which could cause arbitrary code to be executed.
* @kind problem
* @tags security
* correctness
* @problem.severity error
* @sub-severity high
* @precision low
* @id py/use-of-exec
*/
import python
string message() {
result = "The 'exec' statement is used." and major_version() = 2
or
result = "The 'exec' function is used." and major_version() = 3
}
predicate exec_function_call(Call c) {
exists(GlobalVariable exec | exec = c.getFunc().(Name).getVariable() and exec.getId() = "exec")
}
from AstNode exec
where exec_function_call(exec) or exec instanceof Exec
select exec, message()