@@ -313,26 +313,26 @@ module TaintTracking {
313
313
cached
314
314
private module Cached {
315
315
/**
316
- * Holds if `pred` → `succ` should be considered a taint-propagating
317
- * data flow edge, which doesn't fit into a more specific category.
318
- */
316
+ * Holds if `pred` → `succ` should be considered a taint-propagating
317
+ * data flow edge, which doesn't fit into a more specific category.
318
+ */
319
319
cached
320
320
predicate genericStep ( DataFlow:: Node pred , DataFlow:: Node succ ) {
321
321
any ( SharedTaintStep step ) .step ( pred , succ )
322
322
}
323
323
324
324
/**
325
- * Holds if `pred` → `succ` should be considered a taint-propagating
326
- * data flow edge, contribued by the heuristics library.
327
- */
325
+ * Holds if `pred` → `succ` should be considered a taint-propagating
326
+ * data flow edge, contribued by the heuristics library.
327
+ */
328
328
cached
329
329
predicate heuristicStep ( DataFlow:: Node pred , DataFlow:: Node succ ) {
330
330
any ( SharedTaintStep step ) .heuristicStep ( pred , succ )
331
331
}
332
332
333
333
/**
334
- * Holds if `pred -> succ` is an edge contributed by an `AdditionalTaintStep` instance.
335
- */
334
+ * Holds if `pred -> succ` is an edge contributed by an `AdditionalTaintStep` instance.
335
+ */
336
336
cached
337
337
predicate legacyAdditionalTaintStep ( DataFlow:: Node pred , DataFlow:: Node succ ) {
338
338
any ( AdditionalTaintStep step ) .step ( pred , succ )
@@ -344,96 +344,97 @@ module TaintTracking {
344
344
cached
345
345
module Public {
346
346
/**
347
- * Holds if `pred` → `succ` should be considered a taint-propagating
348
- * data flow edge through a URI library function.
349
- */
347
+ * Holds if `pred` → `succ` should be considered a taint-propagating
348
+ * data flow edge through a URI library function.
349
+ */
350
350
cached
351
351
predicate uriStep ( DataFlow:: Node pred , DataFlow:: Node succ ) {
352
352
any ( SharedTaintStep step ) .uriStep ( pred , succ )
353
353
}
354
354
355
355
/**
356
- * Holds if `pred -> succ` is a taint propagating data flow edge through persistent storage.
357
- */
356
+ * Holds if `pred -> succ` is a taint propagating data flow edge through persistent storage.
357
+ */
358
358
cached
359
359
predicate persistentStorageStep ( DataFlow:: Node pred , DataFlow:: Node succ ) {
360
360
any ( SharedTaintStep step ) .persistentStorageStep ( pred , succ )
361
361
}
362
362
363
363
/**
364
- * Holds if `pred -> succ` is a taint propagating data flow edge through the heap.
365
- */
364
+ * Holds if `pred -> succ` is a taint propagating data flow edge through the heap.
365
+ */
366
366
cached
367
367
predicate heapStep ( DataFlow:: Node pred , DataFlow:: Node succ ) {
368
368
any ( SharedTaintStep step ) .heapStep ( pred , succ )
369
369
}
370
370
371
371
/**
372
- * Holds if `pred -> succ` is a taint propagating data flow edge through an array.
373
- */
372
+ * Holds if `pred -> succ` is a taint propagating data flow edge through an array.
373
+ */
374
374
cached
375
375
predicate arrayStep ( DataFlow:: Node pred , DataFlow:: Node succ ) {
376
376
any ( SharedTaintStep step ) .arrayStep ( pred , succ )
377
377
}
378
378
379
379
/**
380
- * Holds if `pred -> succ` is a taint propagating data flow edge through the
381
- * properties of a view compenent, such as the `state` or `props` of a React component.
382
- */
380
+ * Holds if `pred -> succ` is a taint propagating data flow edge through the
381
+ * properties of a view compenent, such as the `state` or `props` of a React component.
382
+ */
383
383
cached
384
384
predicate viewComponentStep ( DataFlow:: Node pred , DataFlow:: Node succ ) {
385
385
any ( SharedTaintStep step ) .viewComponentStep ( pred , succ )
386
386
}
387
387
388
388
/**
389
- * Holds if `pred -> succ` is a taint propagating data flow edge through string
390
- * concatenation.
391
- */
389
+ * Holds if `pred -> succ` is a taint propagating data flow edge through string
390
+ * concatenation.
391
+ */
392
392
cached
393
393
predicate stringConcatenationStep ( DataFlow:: Node pred , DataFlow:: Node succ ) {
394
394
any ( SharedTaintStep step ) .stringConcatenationStep ( pred , succ )
395
395
}
396
396
397
397
/**
398
- * Holds if `pred -> succ` is a taint propagating data flow edge through string manipulation
399
- * (other than concatenation).
400
- */
398
+ * Holds if `pred -> succ` is a taint propagating data flow edge through string manipulation
399
+ * (other than concatenation).
400
+ */
401
401
cached
402
402
predicate stringManipulationStep ( DataFlow:: Node pred , DataFlow:: Node succ ) {
403
403
any ( SharedTaintStep step ) .stringManipulationStep ( pred , succ )
404
404
}
405
405
406
406
/**
407
- * Holds if `pred` → `succ` should be considered a taint-propagating
408
- * data flow edge through data serialization, such as `JSON.stringify`.
409
- */
407
+ * Holds if `pred` → `succ` should be considered a taint-propagating
408
+ * data flow edge through data serialization, such as `JSON.stringify`.
409
+ */
410
410
cached
411
411
predicate serializeStep ( DataFlow:: Node pred , DataFlow:: Node succ ) {
412
412
any ( SharedTaintStep step ) .serializeStep ( pred , succ )
413
413
}
414
414
415
415
/**
416
- * Holds if `pred` → `succ` should be considered a taint-propagating
417
- * data flow edge through data deserialization, such as `JSON.parse`.
418
- */
416
+ * Holds if `pred` → `succ` should be considered a taint-propagating
417
+ * data flow edge through data deserialization, such as `JSON.parse`.
418
+ */
419
419
cached
420
420
predicate deserializeStep ( DataFlow:: Node pred , DataFlow:: Node succ ) {
421
421
any ( SharedTaintStep step ) .deserializeStep ( pred , succ )
422
422
}
423
423
424
424
/**
425
- * Holds if `pred` → `succ` should be considered a taint-propagating
426
- * data flow edge through a promise.
427
- *
428
- * These steps consider a promise object to tainted if it can resolve to
429
- * a tainted value.
430
- */
425
+ * Holds if `pred` → `succ` should be considered a taint-propagating
426
+ * data flow edge through a promise.
427
+ *
428
+ * These steps consider a promise object to tainted if it can resolve to
429
+ * a tainted value.
430
+ */
431
431
cached
432
432
predicate promiseStep ( DataFlow:: Node pred , DataFlow:: Node succ ) {
433
433
any ( SharedTaintStep step ) .promiseStep ( pred , succ )
434
434
}
435
435
}
436
436
}
437
+
437
438
import Cached:: Public
438
439
439
440
/**
0 commit comments