mirror of
https://github.com/github/codeql.git
synced 2025-12-17 17:23:36 +01:00
38 lines
2.0 KiB
ReStructuredText
38 lines
2.0 KiB
ReStructuredText
CodeQL for Python
|
|
=================
|
|
|
|
.. toctree::
|
|
:glob:
|
|
:hidden:
|
|
|
|
introduce-libraries-python
|
|
functions
|
|
statements-expressions
|
|
control-flow
|
|
control-flow-graph
|
|
taint-tracking
|
|
pointsto-type-infer
|
|
|
|
The following tutorials and worked examples are designed to help you learn how to write effective and efficient queries for Python projects. You should work through these topics in the order displayed.
|
|
|
|
- `Basic Python query <https://lgtm.com/help/lgtm/console/ql-python-basic-example>`__ describes how to write and run queries using LGTM.
|
|
|
|
- :doc:`Introducing the CodeQL libraries for Python <introduce-libraries-python>` introduces the standard libraries used to write queries for Python code.
|
|
|
|
- :doc:`Tutorial: Functions <functions>` demonstrates how to write queries using the standard CodeQL library classes for Python functions.
|
|
|
|
- :doc:`Tutorial: Statements and expressions <statements-expressions>` demonstrates how to write queries using the standard CodeQL library classes for Python statements and expressions.
|
|
|
|
- :doc:`Tutorial: Control flow <control-flow>` demonstrates how to write queries using the standard CodeQL library classes for Python control flow.
|
|
|
|
- :doc:`Tutorial: Points-to analysis and type inference <pointsto-type-infer>` demonstrates how to write queries using the standard CodeQL library classes for Python type inference.
|
|
|
|
- :doc:`Taint tracking and data flow analysis in Python <taint-tracking>` demonstrates how to write queries using the standard taint tracking and data flow libraries for Python.
|
|
|
|
Other resources
|
|
---------------
|
|
|
|
- For examples of how to query common Python elements, see the `Python cookbook <https://help.semmle.com/wiki/display/CBPYTHON>`__.
|
|
- For the queries used in LGTM, display a `Python query <https://lgtm.com/search?q=language%3Apython&t=rules>`__ and click **Open in query console** to see the code used to find alerts.
|
|
- For more information about the library for Python see the `CodeQL library for Python <https://help.semmle.com/qldoc/python>`__.
|