endpoints | index.js:9:15:9:45 | { 'isAd ... Admin } | NosqlInjection | hasFlowFromSource | true | boolean | | index.js:9:15:9:45 | { 'isAd ... Admin } | NosqlInjection | isConstantExpression | false | boolean | | index.js:9:15:9:45 | { 'isAd ... Admin } | NosqlInjection | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:9:15:9:45 | { 'isAd ... Admin } | NosqlInjection | sinkLabel | Sink | string | | index.js:15:17:15:32 | req.body.isAdmin | NosqlInjection | hasFlowFromSource | true | boolean | | index.js:15:17:15:32 | req.body.isAdmin | NosqlInjection | isConstantExpression | false | boolean | | index.js:15:17:15:32 | req.body.isAdmin | NosqlInjection | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:15:17:15:32 | req.body.isAdmin | NosqlInjection | notASinkReason | LoggerMethod | string | | index.js:15:17:15:32 | req.body.isAdmin | NosqlInjection | sinkLabel | NotASink | string | | index.js:15:17:15:32 | req.body.isAdmin | ShellCommandInjectionFromEnvironment | hasFlowFromSource | false | boolean | | index.js:15:17:15:32 | req.body.isAdmin | ShellCommandInjectionFromEnvironment | isConstantExpression | false | boolean | | index.js:15:17:15:32 | req.body.isAdmin | ShellCommandInjectionFromEnvironment | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:15:17:15:32 | req.body.isAdmin | ShellCommandInjectionFromEnvironment | notASinkReason | LoggerMethod | string | | index.js:15:17:15:32 | req.body.isAdmin | ShellCommandInjectionFromEnvironment | sinkLabel | NotASink | string | | index.js:15:17:15:32 | req.body.isAdmin | SqlInjection | hasFlowFromSource | true | boolean | | index.js:15:17:15:32 | req.body.isAdmin | SqlInjection | isConstantExpression | false | boolean | | index.js:15:17:15:32 | req.body.isAdmin | SqlInjection | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:15:17:15:32 | req.body.isAdmin | SqlInjection | notASinkReason | LoggerMethod | string | | index.js:15:17:15:32 | req.body.isAdmin | SqlInjection | sinkLabel | NotASink | string | | index.js:15:17:15:32 | req.body.isAdmin | TaintedPath | hasFlowFromSource | true | boolean | | index.js:15:17:15:32 | req.body.isAdmin | TaintedPath | isConstantExpression | false | boolean | | index.js:15:17:15:32 | req.body.isAdmin | TaintedPath | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:15:17:15:32 | req.body.isAdmin | TaintedPath | notASinkReason | LoggerMethod | string | | index.js:15:17:15:32 | req.body.isAdmin | TaintedPath | sinkLabel | NotASink | string | | index.js:15:17:15:32 | req.body.isAdmin | Xss | hasFlowFromSource | true | boolean | | index.js:15:17:15:32 | req.body.isAdmin | Xss | isConstantExpression | false | boolean | | index.js:15:17:15:32 | req.body.isAdmin | Xss | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:15:17:15:32 | req.body.isAdmin | Xss | notASinkReason | LoggerMethod | string | | index.js:15:17:15:32 | req.body.isAdmin | Xss | sinkLabel | NotASink | string | | index.js:15:17:15:32 | req.body.isAdmin | XssThroughDom | hasFlowFromSource | false | boolean | | index.js:15:17:15:32 | req.body.isAdmin | XssThroughDom | isConstantExpression | false | boolean | | index.js:15:17:15:32 | req.body.isAdmin | XssThroughDom | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:15:17:15:32 | req.body.isAdmin | XssThroughDom | notASinkReason | LoggerMethod | string | | index.js:15:17:15:32 | req.body.isAdmin | XssThroughDom | sinkLabel | NotASink | string | | index.js:20:13:20:31 | { 'isAdmin': true } | NosqlInjection | hasFlowFromSource | false | boolean | | index.js:20:13:20:31 | { 'isAdmin': true } | NosqlInjection | isConstantExpression | false | boolean | | index.js:20:13:20:31 | { 'isAdmin': true } | NosqlInjection | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:20:13:20:31 | { 'isAdmin': true } | NosqlInjection | sinkLabel | Sink | string | | index.js:28:13:28:28 | UNDEFINED_GLOBAL | NosqlInjection | hasFlowFromSource | false | boolean | | index.js:28:13:28:28 | UNDEFINED_GLOBAL | NosqlInjection | isConstantExpression | false | boolean | | index.js:28:13:28:28 | UNDEFINED_GLOBAL | NosqlInjection | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:28:13:28:28 | UNDEFINED_GLOBAL | NosqlInjection | sinkLabel | Sink | string | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | NosqlInjection | hasFlowFromSource | false | boolean | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | NosqlInjection | isConstantExpression | false | boolean | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | NosqlInjection | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | NosqlInjection | notASinkReason | ClientRequest | string | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | NosqlInjection | notASinkReason | JQueryArgument | string | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | NosqlInjection | sinkLabel | NotASink | string | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | ShellCommandInjectionFromEnvironment | hasFlowFromSource | false | boolean | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | ShellCommandInjectionFromEnvironment | isConstantExpression | false | boolean | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | ShellCommandInjectionFromEnvironment | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | ShellCommandInjectionFromEnvironment | notASinkReason | ClientRequest | string | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | ShellCommandInjectionFromEnvironment | notASinkReason | JQueryArgument | string | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | ShellCommandInjectionFromEnvironment | sinkLabel | NotASink | string | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | SqlInjection | hasFlowFromSource | false | boolean | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | SqlInjection | isConstantExpression | false | boolean | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | SqlInjection | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | SqlInjection | notASinkReason | ClientRequest | string | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | SqlInjection | notASinkReason | JQueryArgument | string | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | SqlInjection | sinkLabel | NotASink | string | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | TaintedPath | hasFlowFromSource | false | boolean | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | TaintedPath | isConstantExpression | false | boolean | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | TaintedPath | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | TaintedPath | notASinkReason | ClientRequest | string | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | TaintedPath | notASinkReason | JQueryArgument | string | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | TaintedPath | sinkLabel | NotASink | string | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | Xss | hasFlowFromSource | false | boolean | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | Xss | isConstantExpression | false | boolean | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | Xss | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | Xss | notASinkReason | ClientRequest | string | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | Xss | notASinkReason | JQueryArgument | string | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | Xss | sinkLabel | NotASink | string | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | XssThroughDom | hasFlowFromSource | false | boolean | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | XssThroughDom | isConstantExpression | false | boolean | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | XssThroughDom | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | XssThroughDom | notASinkReason | ClientRequest | string | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | XssThroughDom | notASinkReason | JQueryArgument | string | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | XssThroughDom | sinkLabel | NotASink | string | | index.js:84:12:84:18 | foo.bar | NosqlInjection | hasFlowFromSource | false | boolean | | index.js:84:12:84:18 | foo.bar | NosqlInjection | isConstantExpression | false | boolean | | index.js:84:12:84:18 | foo.bar | NosqlInjection | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:84:12:84:18 | foo.bar | NosqlInjection | notASinkReason | ClientRequest | string | | index.js:84:12:84:18 | foo.bar | NosqlInjection | sinkLabel | NotASink | string | | index.js:84:12:84:18 | foo.bar | ShellCommandInjectionFromEnvironment | hasFlowFromSource | false | boolean | | index.js:84:12:84:18 | foo.bar | ShellCommandInjectionFromEnvironment | isConstantExpression | false | boolean | | index.js:84:12:84:18 | foo.bar | ShellCommandInjectionFromEnvironment | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:84:12:84:18 | foo.bar | ShellCommandInjectionFromEnvironment | notASinkReason | ClientRequest | string | | index.js:84:12:84:18 | foo.bar | ShellCommandInjectionFromEnvironment | sinkLabel | NotASink | string | | index.js:84:12:84:18 | foo.bar | SqlInjection | hasFlowFromSource | false | boolean | | index.js:84:12:84:18 | foo.bar | SqlInjection | isConstantExpression | false | boolean | | index.js:84:12:84:18 | foo.bar | SqlInjection | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:84:12:84:18 | foo.bar | SqlInjection | notASinkReason | ClientRequest | string | | index.js:84:12:84:18 | foo.bar | SqlInjection | sinkLabel | NotASink | string | | index.js:84:12:84:18 | foo.bar | TaintedPath | hasFlowFromSource | false | boolean | | index.js:84:12:84:18 | foo.bar | TaintedPath | isConstantExpression | false | boolean | | index.js:84:12:84:18 | foo.bar | TaintedPath | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:84:12:84:18 | foo.bar | TaintedPath | notASinkReason | ClientRequest | string | | index.js:84:12:84:18 | foo.bar | TaintedPath | sinkLabel | NotASink | string | | index.js:84:12:84:18 | foo.bar | Xss | hasFlowFromSource | false | boolean | | index.js:84:12:84:18 | foo.bar | Xss | isConstantExpression | false | boolean | | index.js:84:12:84:18 | foo.bar | Xss | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:84:12:84:18 | foo.bar | Xss | notASinkReason | ClientRequest | string | | index.js:84:12:84:18 | foo.bar | Xss | sinkLabel | NotASink | string | | index.js:84:12:84:18 | foo.bar | XssThroughDom | hasFlowFromSource | false | boolean | | index.js:84:12:84:18 | foo.bar | XssThroughDom | isConstantExpression | false | boolean | | index.js:84:12:84:18 | foo.bar | XssThroughDom | isExcludedFromEndToEndEvaluation | false | boolean | | index.js:84:12:84:18 | foo.bar | XssThroughDom | notASinkReason | ClientRequest | string | | index.js:84:12:84:18 | foo.bar | XssThroughDom | sinkLabel | NotASink | string | tokenFeatures | index.js:9:15:9:45 | { 'isAd ... Admin } | CalleeFlexibleAccessPath | User.find | | index.js:9:15:9:45 | { 'isAd ... Admin } | InputAccessPathFromCallee | | | index.js:9:15:9:45 | { 'isAd ... Admin } | InputArgumentIndex | 0 | | index.js:9:15:9:45 | { 'isAd ... Admin } | assignedToPropName | | | index.js:9:15:9:45 | { 'isAd ... Admin } | calleeImports | mongoose | | index.js:9:15:9:45 | { 'isAd ... Admin } | contextFunctionInterfaces | constantExpression()\neffectiveSinkAndNotASink(foo)\nflowFromSourceToNotASink()\nflowFromSourceToSink()\nidentity(x)\nnotASink()\nnotASinkMultipleReasons()\nnotConstantExpression()\nnotFlowFromSource()\nveryLongFunctionBody() | | index.js:9:15:9:45 | { 'isAd ... Admin } | contextSurroundingFunctionParameters | ()\n(req, res) | | index.js:9:15:9:45 | { 'isAd ... Admin } | enclosingFunctionBody | app post /isAdmin req res User find isAdmin req body isAdmin | | index.js:9:15:9:45 | { 'isAd ... Admin } | enclosingFunctionName | flowFromSourceToSink | | index.js:9:15:9:45 | { 'isAd ... Admin } | fileImports | express mongoose | | index.js:9:15:9:45 | { 'isAd ... Admin } | receiverName | User | | index.js:9:15:9:45 | { 'isAd ... Admin } | stringConcatenatedWith | | | index.js:15:17:15:32 | req.body.isAdmin | CalleeFlexibleAccessPath | console.log | | index.js:15:17:15:32 | req.body.isAdmin | InputAccessPathFromCallee | | | index.js:15:17:15:32 | req.body.isAdmin | InputArgumentIndex | 0 | | index.js:15:17:15:32 | req.body.isAdmin | assignedToPropName | | | index.js:15:17:15:32 | req.body.isAdmin | calleeImports | | | index.js:15:17:15:32 | req.body.isAdmin | contextFunctionInterfaces | constantExpression()\neffectiveSinkAndNotASink(foo)\nflowFromSourceToNotASink()\nflowFromSourceToSink()\nidentity(x)\nnotASink()\nnotASinkMultipleReasons()\nnotConstantExpression()\nnotFlowFromSource()\nveryLongFunctionBody() | | index.js:15:17:15:32 | req.body.isAdmin | contextSurroundingFunctionParameters | ()\n(req, res) | | index.js:15:17:15:32 | req.body.isAdmin | enclosingFunctionBody | app post /isAdmin req res console log req body isAdmin | | index.js:15:17:15:32 | req.body.isAdmin | enclosingFunctionName | flowFromSourceToNotASink | | index.js:15:17:15:32 | req.body.isAdmin | fileImports | express mongoose | | index.js:15:17:15:32 | req.body.isAdmin | receiverName | console | | index.js:15:17:15:32 | req.body.isAdmin | stringConcatenatedWith | | | index.js:20:13:20:31 | { 'isAdmin': true } | CalleeFlexibleAccessPath | User.find | | index.js:20:13:20:31 | { 'isAdmin': true } | InputAccessPathFromCallee | | | index.js:20:13:20:31 | { 'isAdmin': true } | InputArgumentIndex | 0 | | index.js:20:13:20:31 | { 'isAdmin': true } | assignedToPropName | | | index.js:20:13:20:31 | { 'isAdmin': true } | calleeImports | mongoose | | index.js:20:13:20:31 | { 'isAdmin': true } | contextFunctionInterfaces | constantExpression()\neffectiveSinkAndNotASink(foo)\nflowFromSourceToNotASink()\nflowFromSourceToSink()\nidentity(x)\nnotASink()\nnotASinkMultipleReasons()\nnotConstantExpression()\nnotFlowFromSource()\nveryLongFunctionBody() | | index.js:20:13:20:31 | { 'isAdmin': true } | contextSurroundingFunctionParameters | () | | index.js:20:13:20:31 | { 'isAdmin': true } | enclosingFunctionBody | User find isAdmin true | | index.js:20:13:20:31 | { 'isAdmin': true } | enclosingFunctionName | notFlowFromSource | | index.js:20:13:20:31 | { 'isAdmin': true } | fileImports | express mongoose | | index.js:20:13:20:31 | { 'isAdmin': true } | receiverName | User | | index.js:20:13:20:31 | { 'isAdmin': true } | stringConcatenatedWith | | | index.js:28:13:28:28 | UNDEFINED_GLOBAL | CalleeFlexibleAccessPath | User.find | | index.js:28:13:28:28 | UNDEFINED_GLOBAL | InputAccessPathFromCallee | | | index.js:28:13:28:28 | UNDEFINED_GLOBAL | InputArgumentIndex | 0 | | index.js:28:13:28:28 | UNDEFINED_GLOBAL | assignedToPropName | | | index.js:28:13:28:28 | UNDEFINED_GLOBAL | calleeImports | mongoose | | index.js:28:13:28:28 | UNDEFINED_GLOBAL | contextFunctionInterfaces | constantExpression()\neffectiveSinkAndNotASink(foo)\nflowFromSourceToNotASink()\nflowFromSourceToSink()\nidentity(x)\nnotASink()\nnotASinkMultipleReasons()\nnotConstantExpression()\nnotFlowFromSource()\nveryLongFunctionBody() | | index.js:28:13:28:28 | UNDEFINED_GLOBAL | contextSurroundingFunctionParameters | () | | index.js:28:13:28:28 | UNDEFINED_GLOBAL | enclosingFunctionBody | User find UNDEFINED_GLOBAL | | index.js:28:13:28:28 | UNDEFINED_GLOBAL | enclosingFunctionName | notConstantExpression | | index.js:28:13:28:28 | UNDEFINED_GLOBAL | fileImports | express mongoose | | index.js:28:13:28:28 | UNDEFINED_GLOBAL | receiverName | User | | index.js:28:13:28:28 | UNDEFINED_GLOBAL | stringConcatenatedWith | | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | CalleeFlexibleAccessPath | $.ajax | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | InputAccessPathFromCallee | | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | InputArgumentIndex | 0 | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | assignedToPropName | | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | calleeImports | | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | contextFunctionInterfaces | constantExpression()\neffectiveSinkAndNotASink(foo)\nflowFromSourceToNotASink()\nflowFromSourceToSink()\nidentity(x)\nnotASink()\nnotASinkMultipleReasons()\nnotConstantExpression()\nnotFlowFromSource()\nveryLongFunctionBody() | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | contextSurroundingFunctionParameters | (foo) | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | enclosingFunctionBody | foo $ ajax url foo bar | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | enclosingFunctionName | effectiveSinkAndNotASink | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | fileImports | express mongoose | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | receiverName | $ | | index.js:83:10:85:3 | {\\n " ... ar,\\n } | stringConcatenatedWith | | | index.js:84:12:84:18 | foo.bar | CalleeFlexibleAccessPath | $.ajax | | index.js:84:12:84:18 | foo.bar | InputAccessPathFromCallee | 0.url | | index.js:84:12:84:18 | foo.bar | InputArgumentIndex | 0 | | index.js:84:12:84:18 | foo.bar | assignedToPropName | url | | index.js:84:12:84:18 | foo.bar | calleeImports | | | index.js:84:12:84:18 | foo.bar | contextFunctionInterfaces | constantExpression()\neffectiveSinkAndNotASink(foo)\nflowFromSourceToNotASink()\nflowFromSourceToSink()\nidentity(x)\nnotASink()\nnotASinkMultipleReasons()\nnotConstantExpression()\nnotFlowFromSource()\nveryLongFunctionBody() | | index.js:84:12:84:18 | foo.bar | contextSurroundingFunctionParameters | (foo) | | index.js:84:12:84:18 | foo.bar | enclosingFunctionBody | foo $ ajax url foo bar | | index.js:84:12:84:18 | foo.bar | enclosingFunctionName | effectiveSinkAndNotASink | | index.js:84:12:84:18 | foo.bar | fileImports | express mongoose | | index.js:84:12:84:18 | foo.bar | receiverName | | | index.js:84:12:84:18 | foo.bar | stringConcatenatedWith | |