mirror of
https://github.com/github/codeql.git
synced 2026-04-28 02:05:14 +02:00
@@ -68,6 +68,7 @@ import semmle.javascript.dataflow.TaintTracking
|
||||
import semmle.javascript.dataflow.TypeInference
|
||||
import semmle.javascript.frameworks.Angular2
|
||||
import semmle.javascript.frameworks.AngularJS
|
||||
import semmle.javascript.frameworks.Anser
|
||||
import semmle.javascript.frameworks.AsyncPackage
|
||||
import semmle.javascript.frameworks.AWS
|
||||
import semmle.javascript.frameworks.Azure
|
||||
|
||||
31
javascript/ql/src/semmle/javascript/frameworks/Anser.qll
Normal file
31
javascript/ql/src/semmle/javascript/frameworks/Anser.qll
Normal file
@@ -0,0 +1,31 @@
|
||||
/**
|
||||
* Provides classes for working with applications using [anser](https://www.npmjs.com/package/anser).
|
||||
*/
|
||||
|
||||
import javascript
|
||||
|
||||
/**
|
||||
* A taint step for the [anser](https://www.npmjs.com/package/anser) library.
|
||||
*/
|
||||
private class AnserTaintStep extends TaintTracking::SharedTaintStep {
|
||||
override predicate step(DataFlow::Node pred, DataFlow::Node succ) {
|
||||
exists(API::CallNode call |
|
||||
call =
|
||||
API::moduleImport("anser")
|
||||
.getMember(["linkify", "ansiToHtml", "ansiToText", "ansiToJson"])
|
||||
.getACall()
|
||||
or
|
||||
call =
|
||||
API::moduleImport("anser")
|
||||
.getInstance()
|
||||
.getMember([
|
||||
"linkify", "ansiToHtml", "ansiToText", "ansiToJson", "process", "processChunkJson",
|
||||
"processChunk"
|
||||
])
|
||||
.getACall()
|
||||
|
|
||||
succ = call and
|
||||
pred = call.getArgument(0)
|
||||
)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user