Skip to content

Commit 48a9521

Browse files
authored
Merge pull request #4803 from github/rename-js-dataflow-article
Update JavaScript dataflow guide filename to match article title
2 parents ec573b5 + 70c5ce4 commit 48a9521

8 files changed

+13
-13
lines changed

docs/codeql/codeql-language-guides/analyzing-data-flow-and-tracking-tainted-data-in-python.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ Taint tracking differs from basic data flow in that it considers non-value-prese
1717
For example, in the assignment ``dir = path + "/"``, if ``path`` is tainted then ``dir`` is also tainted,
1818
even though there is no data flow from ``path`` to ``path + "/"``.
1919

20-
Separate CodeQL libraries have been written to handle 'normal' data flow and taint tracking in :doc:`C/C++ <analyzing-data-flow-in-cpp>`, :doc:`C# <analyzing-data-flow-in-csharp>`, :doc:`Java <analyzing-data-flow-in-java>`, and :doc:`JavaScript <analyzing-data-flow-in-javascript>`. You can access the appropriate classes and predicates that reason about these different modes of data flow by importing the appropriate library in your query.
20+
Separate CodeQL libraries have been written to handle 'normal' data flow and taint tracking in :doc:`C/C++ <analyzing-data-flow-in-cpp>`, :doc:`C# <analyzing-data-flow-in-csharp>`, :doc:`Java <analyzing-data-flow-in-java>`, and :doc:`JavaScript <analyzing-data-flow-in-javascript-and-typescript>`. You can access the appropriate classes and predicates that reason about these different modes of data flow by importing the appropriate library in your query.
2121
In Python analysis, we can use the same taint tracking library to model both 'normal' data flow and taint flow, but we are still able make the distinction between steps that preserve values and those that don't by defining additional data flow properties.
2222

2323
For further information on data flow and taint tracking with CodeQL, see ":ref:`Introduction to data flow <about-data-flow-analysis>`."

docs/codeql/codeql-language-guides/analyzing-data-flow-in-javascript.rst renamed to docs/codeql/codeql-language-guides/analyzing-data-flow-in-javascript-and-typescript.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
.. _analyzing-data-flow-in-javascript:
1+
.. _analyzing-data-flow-in-javascript-and-typescript:
22

33
Analyzing data flow in JavaScript and TypeScript
44
================================================

docs/codeql/codeql-language-guides/codeql-for-javascript.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Experiment and learn how to write effective and efficient queries for CodeQL dat
1111
basic-query-for-javascript-code
1212
codeql-library-for-javascript
1313
codeql-library-for-typescript
14-
analyzing-data-flow-in-javascript
14+
analyzing-data-flow-in-javascript-and-typescript
1515
using-flow-labels-for-precise-data-flow-analysis
1616
using-type-tracking-for-api-modeling
1717
abstract-syntax-tree-classes-for-working-with-javascript-and-typescript-programs
@@ -23,7 +23,7 @@ Experiment and learn how to write effective and efficient queries for CodeQL dat
2323

2424
- :doc:`CodeQL library for TypeScript <codeql-library-for-typescript>`: When you're analyzing a TypeScript program, you can make use of the large collection of classes in the CodeQL library for TypeScript.
2525

26-
- :doc:`Analyzing data flow in JavaScript and TypeScript <analyzing-data-flow-in-javascript>`: This topic describes how data flow analysis is implemented in the CodeQL libraries for JavaScript/TypeScript and includes examples to help you write your own data flow queries.
26+
- :doc:`Analyzing data flow in JavaScript and TypeScript <analyzing-data-flow-in-javascript-and-typescript>`: This topic describes how data flow analysis is implemented in the CodeQL libraries for JavaScript/TypeScript and includes examples to help you write your own data flow queries.
2727

2828
- :doc:`Using flow labels for precise data flow analysis <using-flow-labels-for-precise-data-flow-analysis>`: You can associate flow labels with each value tracked by the flow analysis to determine whether the flow contains potential vulnerabilities.
2929

docs/codeql/codeql-language-guides/data-flow-cheat-sheet-for-javascript.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,12 +36,12 @@ This query reports flow paths which:
3636
- Step through variables, function calls, properties, strings, arrays, promises, exceptions, and steps added by `isAdditionalTaintStep <https://codeql.github.com/codeql-standard-libraries/javascript/semmle/javascript/dataflow/TaintTracking.qll/predicate.TaintTracking$TaintTracking$Configuration$isAdditionalTaintStep.2.html>`__.
3737
- End at a node matched by `isSink <https://codeql.github.com/codeql-standard-libraries/javascript/semmle/javascript/dataflow/Configuration.qll/predicate.Configuration$Configuration$isSink.1.html>`__.
3838

39-
See also: "`Global data flow <analyzing-data-flow-in-javascript.html#global-data-flow>`__" and ":ref:`Creating path queries <creating-path-queries>`."
39+
See also: "`Global data flow <analyzing-data-flow-in-javascript-and-typescript.html#global-data-flow>`__" and ":ref:`Creating path queries <creating-path-queries>`."
4040

4141
DataFlow module
4242
---------------
4343

44-
Use data flow nodes to match program elements independently of syntax. See also: ":doc:`Analyzing data flow in JavaScript and TypeScript <analyzing-data-flow-in-javascript>`."
44+
Use data flow nodes to match program elements independently of syntax. See also: ":doc:`Analyzing data flow in JavaScript and TypeScript <analyzing-data-flow-in-javascript-and-typescript>`."
4545

4646
Predicates in the ``DataFlow::`` module:
4747

docs/codeql/codeql-language-guides/using-flow-labels-for-precise-data-flow-analysis.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ Overview
99
--------
1010

1111
You can use basic inter-procedural data-flow analysis and taint tracking as described in
12-
":doc:`Analyzing data flow in JavaScript and TypeScript <analyzing-data-flow-in-javascript>`" to check whether there is a path in
12+
":doc:`Analyzing data flow in JavaScript and TypeScript <analyzing-data-flow-in-javascript-and-typescript>`" to check whether there is a path in
1313
the data-flow graph from some source node to a sink node that does not pass through any sanitizer
1414
nodes. Another way of thinking about this is that it statically models the flow of data through the
1515
program, and associates a flag with every data value telling us whether it might have come from a

docs/codeql/codeql-language-guides/using-type-tracking-for-api-modeling.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ The type-tracking library makes it possible to track values through properties a
1111
usually to recognize method calls and properties accessed on a specific type of object.
1212

1313
This is an advanced topic and is intended for readers already familiar with the
14-
`SourceNode <analyzing-data-flow-in-javascript.html#source-nodes>`__ class as well as
15-
`taint tracking <analyzing-data-flow-in-javascript.html#using-global-analyzing-data-flow-and-tracking-tainted-data-in-python>`__.
14+
`SourceNode <analyzing-data-flow-in-javascript-and-typescript.html#source-nodes>`__ class as well as
15+
`taint tracking <analyzing-data-flow-in-javascript-and-typescript.html#using-global-analyzing-data-flow-and-tracking-tainted-data-in-python>`__.
1616
For TypeScript analysis also consider reading about `static type information <codeql-library-for-typescript.html.html#static-type-information>`__ first.
1717

1818

@@ -458,7 +458,7 @@ Here's an example that the model from this tutorial won't find:
458458
let wrapper = wrapDB(firebase.database())
459459
wrapper.db.ref("forecast"); // <-- not found
460460
461-
This is an example of where `data-flow configurations <analyzing-data-flow-in-javascript.html#global-data-flow>`__ are more powerful.
461+
This is an example of where `data-flow configurations <analyzing-data-flow-in-javascript-and-typescript.html#global-data-flow>`__ are more powerful.
462462

463463
When to use type tracking
464464
-------------------------
@@ -491,7 +491,7 @@ Prefer type tracking when:
491491

492492
Prefer data-flow configurations when:
493493

494-
- Tracking user-controlled data -- use `taint tracking <analyzing-data-flow-in-javascript.html#using-global-analyzing-data-flow-and-tracking-tainted-data-in-python>`__.
494+
- Tracking user-controlled data -- use `taint tracking <analyzing-data-flow-in-javascript-and-typescript.html#using-global-analyzing-data-flow-and-tracking-tainted-data-in-python>`__.
495495
- Differentiating between different kinds of user-controlled data -- see ":doc:`Using flow labels for precise data flow analysis <using-flow-labels-for-precise-data-flow-analysis>`."
496496
- Tracking transformations of a value through generic utility functions.
497497
- Tracking values through string manipulation.

docs/codeql/writing-codeql-queries/about-data-flow-analysis.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ See the following tutorials for more information about analyzing data flow in sp
1919
- ":ref:`Analyzing data flow in C/C++ <analyzing-data-flow-in-cpp>`"
2020
- ":ref:`Analyzing data flow in C# <analyzing-data-flow-in-csharp>`"
2121
- ":ref:`Analyzing data flow in Java <analyzing-data-flow-in-java>`"
22-
- ":ref:`Analyzing data flow in JavaScript/TypeScript <analyzing-data-flow-in-javascript>`"
22+
- ":ref:`Analyzing data flow in JavaScript/TypeScript <analyzing-data-flow-in-javascript-and-typescript>`"
2323
- ":ref:`Analyzing data flow and tracking tainted data in Python <analyzing-data-flow-and-tracking-tainted-data-in-python>`"
2424

2525
.. pull-quote::

docs/codeql/writing-codeql-queries/creating-path-queries.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ For more language-specific information on analyzing data flow, see:
2727
- ":ref:`Analyzing data flow in C/C++ <analyzing-data-flow-in-cpp>`"
2828
- ":ref:`Analyzing data flow in C# <analyzing-data-flow-in-csharp>`"
2929
- ":ref:`Analyzing data flow in Java <analyzing-data-flow-in-java>`"
30-
- ":ref:`Analyzing data flow in JavaScript/TypeScript <analyzing-data-flow-in-javascript>`"
30+
- ":ref:`Analyzing data flow in JavaScript/TypeScript <analyzing-data-flow-in-javascript-and-typescript>`"
3131
- ":ref:`Analyzing data flow and tracking tainted data in Python <analyzing-data-flow-and-tracking-tainted-data-in-python>`"
3232

3333

0 commit comments

Comments
 (0)