| title | Exploring data flow with path queries | ||||||
|---|---|---|---|---|---|---|---|
| shortTitle | Explore data flow | ||||||
| versions |
|
||||||
| intro | Detect potential vulnerabilities by running path queries and analyzing your data flow. | ||||||
| redirect_from |
|
||||||
| contentType | how-tos | ||||||
| category |
|
Before you can effectively use path queries, you should understand the basics of data flow analysis. See About data flow analysis in the {% data variables.product.prodname_codeql %} documentation.
- Open a path query in {% data variables.product.prodname_vscode_shortname %}. A path query is a {% data variables.product.prodname_codeql %} query with the property
@kind path-problem. - Right-click in the window with the query open, then select {% data variables.product.prodname_codeql %}: Run Query on Selected Database. Alternatively, you can also run this from the {% data variables.product.prodname_vscode_command_palette_shortname %}.
- Once the query has finished running, you can see the results in the "Results" view (under
alertsin the dropdown menu). Each query result describes the flow of information between a source and a sink. - Expand the result to see the individual steps that the data follows.
- Click each step to jump to it in the source code and investigate the problem further.
{% ifversion codeql-vs-code-mrva %}
You can use the "Variant Analysis Repositories" view to run a query against up to 1,000 repositories on {% data variables.product.prodname_dotcom_the_website %}. See AUTOTITLE.
{% endif %}
To start writing your own path queries, see Creating path queries in the {% data variables.product.prodname_codeql %} documentation.