Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 2 additions & 3 deletions docs/language/learn-ql/ql-training.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ CodeQL and variant analysis

`Variant analysis <https://semmle.com/variant-analysis>`__ is the process of using a known vulnerability as a seed to find similar problems in your code. Security engineers typically perform variant analysis to identify possible vulnerabilities and to ensure that these threats are properly fixed across multiple code bases.

`CodeQL <https://semmle.com/ql>`__ is the code analysis engine that underpins LGTM, Semmle's community driven security analysis platform. Together, CodeQL and LGTM provide continuous monitoring and scalable variant analysis for your projects, even if you don’t have your own team of dedicated security engineers. You can read more about using CodeQL and LGTM in variant analysis in the `Semmle blog <https://blog.semmle.com/tags/variant-analysis>`__.
`CodeQL <https://semmle.com/ql>`__ is the code analysis engine that underpins LGTM, Semmle's community driven security analysis platform. Together, CodeQL and LGTM provide continuous monitoring and scalable variant analysis for your projects, even if you don’t have your own team of dedicated security engineers. You can read more about using CodeQL and LGTM in variant analysis on the `Security Lab research page <https://securitylab.github.com/research>`__.
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This change isn't an exact match (blog posts with the variant analysis tag), but I thought it was close enough...
Happy to revert if need be!


CodeQL is easy to learn, and exploring code using CodeQL is the most efficient way to perform variant analysis.

Expand Down Expand Up @@ -62,5 +62,4 @@ More resources

- If you are completely new to CodeQL, look at our introductory topics in :doc:`Learning CodeQL <index>`.
- To find more detailed information about how to write queries for specific languages, visit the links in :ref:`Writing CodeQL queries <writing-ql-queries>`.
- To read more about how CodeQL queries have been used in Semmle's security research, and to read about new CodeQL developments, visit the `Semmle blog <https://blog.semmle.com>`__.
- Find more examples of queries written by Semmle's own security researchers in the `Semmle Demos repository <https://github.com/semmle/demos>`__ on GitHub.
- To see examples of CodeQL queries that have been used to find security vulnerabilities and bugs in open-source software projects, visit the `GitHub Security Lab website <https://securitylab.github.com/research>`__ and the associated `repository <https://github.com/github/security-lab>`__.
2 changes: 1 addition & 1 deletion docs/language/learn-ql/writing-queries/path-queries.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ The easiest way to get started writing your own path query is to modify one of t
- `JavaScript path queries <https://help.semmle.com/wiki/label/js/path-problem>`__
- `Python path queries <https://help.semmle.com/wiki/label/python/path-problem>`__

The Security lab researchers have used path queries to find security vulnerabilities in various open source projects. To see articles describing how these queries were written, as well as other posts describing other aspects of security research such as exploiting vulnerabilities, see the `GitHub Security Lab website <https://securitylab.github.com/research>`__.
The Security Lab researchers have used path queries to find security vulnerabilities in various open source projects. To see articles describing how these queries were written, as well as other posts describing other aspects of security research such as exploiting vulnerabilities, see the `GitHub Security Lab website <https://securitylab.github.com/research>`__.

Constructing a path query
=========================
Expand Down
2 changes: 1 addition & 1 deletion docs/language/ql-training/cpp/snprintf.rst
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ RCE in rsyslog
}

- Disclosed as `CVE-2018-1000140 <https://nvd.nist.gov/vuln/detail/CVE-2018-1000140>`__.
- Blog post: `https://blog.semmle.com/librelp-buffer-overflow-cve-2018-1000140/ <https://blog.semmle.com/librelp-buffer-overflow-cve-2018-1000140/>`__.
- Blog post: https://securitylab.github.com/research/librelp-buffer-overflow-cve-2018-1000140

Finding the RCE yourself
========================
Expand Down
4 changes: 2 additions & 2 deletions docs/language/ql-training/java/apache-struts-java.rst
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ RCE in Apache Struts

- Disclosed as `CVE-2017-9805 <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-9805>`__

- Blog post: https://blog.semmle.com/apache-struts-vulnerability-cve-2017-9805/
- Blog post: https://securitylab.github.com/research/apache-struts-vulnerability-cve-2017-9805

Finding the RCE yourself
========================
Expand Down Expand Up @@ -134,4 +134,4 @@ Model answer, step 4
and sink.getNode() instanceof UnsafeDeserializationSink
select sink.getNode().(UnsafeDeserializationSink).getMethodAccess(), source, sink, "Unsafe deserialization of $@.", source, "user input"

More full-featured version: https://github.com/Semmle/demos/tree/master/ql_demos/java/Apache_Struts_CVE-2017-9805
More full-featured version: https://github.com/github/security-lab/tree/master/CodeQL_Queries/java/Apache_Struts_CVE-2017-9805
4 changes: 2 additions & 2 deletions docs/language/ql-training/java/global-data-flow-java.rst
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,8 @@ Code injection in Apache struts

.. note::

More details on the CVE can be found here: https://blog.semmle.com/apache-struts-CVE-2018-11776/ and
https://github.com/Semmle/demos/tree/master/ql_demos/java/Apache_Struts_CVE-2018-11776
More details on the CVE can be found here: https://securitylab.github.com/research/apache-struts-CVE-2018-11776 and
https://github.com/github/security-lab/tree/master/CodeQL_Queries/java/Apache_Struts_CVE-2018-11776

More details on OGNL can be found here: https://commons.apache.org/proper/commons-ognl/

Expand Down