Asger F
fce2be0af3
JS: Use BarrierGuardLegacy in TaintedPath
2024-03-13 11:02:09 +01:00
Asger F
e640154048
JS: Be backwards compatible with AdditionalBarrierGuardNode
...
I've confirmed that the 'legacyBarrier' predicate does not occur in the DIL
2024-03-13 10:54:02 +01:00
Asger F
14e75be510
JS: Expand comments and synthetic node name in ForOfLoops
2024-03-13 09:27:00 +01:00
Asger F
e66f27cfe3
JS: Move hasWildcardReplaceRegExp to a shared place
2024-03-13 09:19:26 +01:00
Asger F
4043bc13ab
JS: Explicit mark comment as a TODO
2024-03-13 09:19:03 +01:00
Asger F
858c79e395
JS: Add plain taint step through Promise.all()
2024-03-13 08:57:42 +01:00
Asger F
2c1aa08f79
JS: Rename Strings2 -> Strings
2024-03-12 21:18:14 +01:00
Asger F
478dd25f3e
JS: Rename Sets2 -> Sets
2024-03-12 21:17:29 +01:00
Asger F
433489478d
JS: Rename Promise2 -> Promise
2024-03-12 21:16:43 +01:00
Asger F
e2f3565227
JS: Rename Maps2 -> Maps
2024-03-12 21:14:29 +01:00
Asger F
b3fad7a8dc
JS: Rename Iterators2 -> Iterators
2024-03-12 15:12:07 +01:00
Asger F
5aafd33cec
JS: Rename Arrays2 -> Arrays
2024-03-12 15:11:29 +01:00
Asger F
76e0445af0
JS: Be consistent about caching in PreCallGraphStep
2024-03-12 15:08:59 +01:00
Asger F
28fc8ba0c1
JS: Remove EmptyType
2024-03-12 14:59:04 +01:00
Asger F
f94aa2ceec
Update javascript/ql/lib/semmle/javascript/dataflow/internal/DataFlowNode.qll
2024-03-12 14:41:11 +01:00
Asger F
7c35309732
Merge pull request #15823 from asgerf/js/lift-cg-restriction
...
JS: Call graph improvements
2024-03-08 13:40:38 +01:00
Asger F
245cd5c0b5
Merge pull request #15760 from asgerf/js/summarised-tt-store-steps
...
JS: Summarise store steps for type tracking
2024-03-08 13:16:25 +01:00
Asger F
ac4601cb8f
Update javascript/ql/lib/semmle/javascript/dataflow/internal/CallGraphs.qll
...
Co-authored-by: Rasmus Wriedt Larsen <rasmuswriedtlarsen@gmail.com >
2024-03-08 13:01:38 +01:00
Asger F
a54a73c9a2
JS: Detect more FunctionStyleClasses
2024-03-06 11:37:20 +01:00
Asger F
4ab7acedb6
JS: Do not track instance methods
2024-03-04 10:36:13 +01:00
Asger F
f5d014baa5
JS: Remove allocation site restriction in CG
2024-03-01 23:20:35 +01:00
Asger F
13e3a5158e
JS: Fix qldoc
2024-02-29 13:59:25 +01:00
Asger F
6a0adff1dc
JS: More precise detection of classes with escaping instances
2024-02-29 11:15:37 +01:00
Asger F
853397361f
JS: Do not treat AMD pseudo-dependencies as file paths
2024-02-29 10:23:28 +01:00
Asger F
052a8e7f81
JS: Avoid spurious recursion in AMD
2024-02-29 10:23:28 +01:00
Asger F
f384afbaf6
JS: Also summarize loadStore steps
2024-02-29 10:11:16 +01:00
Asger F
3ad83cc098
JS: Summarise store steps for type tracking
2024-02-29 10:10:39 +01:00
Asger F
29ffeb6da5
JS: Fix qldoc
2024-02-20 14:00:32 +01:00
Asger F
c324b2aed8
JS: Refactor
2024-02-19 13:59:49 +01:00
Asger F
eb7d0244c2
JS: Global names don't have to be defined in externs
2024-02-19 13:59:49 +01:00
Asger F
493b37774f
JS: More precise isFunctionSource
2024-02-19 13:59:49 +01:00
Asger F
6d597bea0d
JS: Refactor
2024-02-19 13:59:49 +01:00
Asger F
8a5b907912
JS: Handle wrapper functions more gracefully
2024-02-19 13:59:48 +01:00
Asger F
d96f29d6c2
JS: Disallow return steps in getASinkNode
2024-02-19 13:59:48 +01:00
Asger F
29258ad8c2
WIP new aliasing rule
2024-02-19 13:59:15 +01:00
Asger F
d94d4591da
JS: Name instance methods using API nodes instead of special-casing
2024-02-14 15:08:19 +01:00
Asger F
c4a0f36a08
JS: Fix handling of unknown properties
...
These would shorten the expected distance to a node, but would never be usable as an edge, meaning we failed to pick a preferred predecessor.
2024-02-14 15:08:19 +01:00
Asger F
9838da5395
JS: Simplify isExported
2024-02-14 15:08:19 +01:00
Asger F
a3dc19fd31
JS: Check privacy earlier
2024-02-14 15:08:19 +01:00
Asger F
75a95ffcd1
Merge pull request #15602 from asgerf/js/block-logical-and-flow
...
JS: Fix flow through &&
2024-02-14 12:29:40 +01:00
Asger F
2172c4863f
Merge pull request #15380 from asgerf/js/endpoint-naming
...
JS: Add library for naming endpoints
2024-02-14 10:48:13 +01:00
Asger F
7122a7502a
JS: Fix flow through &&
...
This is a long-standing bug we've been unable to fix due to noise from type inference.
2024-02-13 14:43:03 +01:00
Asger F
543e183d99
JS: Describe 1-step aliasing rule
2024-02-13 09:29:15 +01:00
Asger F
baa3c35d6f
JS: Refactor aliasing relation
2024-02-13 09:24:00 +01:00
Asger F
8d3a19aaad
JS: Fix termination criteria
...
Previously it was theoretically possible to create a cycle of preferred predecessors, since badness had higher precedence than depth. We now require the preferred predecessor to have lower depth.
With this criteria we can remove the arbitray cap on badness.
2024-02-12 11:44:52 +01:00
Asger F
0fbe530d9e
JS: Fix some broken comments
2024-02-12 11:39:40 +01:00
Asger F
6d01ba67f7
JS: Check isPrivateLike in isExported instead
2024-02-12 11:39:29 +01:00
Asger F
8a2485a22f
JS: Address some comments
2024-02-01 20:54:27 +01:00
Asger F
aa5cccdddd
JS: Make sinkHasPrimaryName public
2024-01-31 20:39:25 +01:00
James Ockers
eb5e0123d6
exclude certification from maybeCertificate() regexes
2024-01-30 13:16:18 -08:00