mirror of
https://github.com/github/codeql.git
synced 2026-04-25 08:45:14 +02:00
Python: Add fabric connection model
This commit is contained in:
committed by
Rasmus Wriedt Larsen
parent
947aa099e0
commit
ff9482f81b
@@ -12,6 +12,7 @@ private import semmle.python.dataflow.new.DataFlow
|
||||
private import semmle.python.dataflow.new.RemoteFlowSources
|
||||
private import semmle.python.Concepts
|
||||
private import semmle.python.ApiGraphs
|
||||
private import semmle.python.frameworks.data.ModelsAsData
|
||||
|
||||
/**
|
||||
* Provides classes modeling security-relevant aspects of the `fabric` PyPI package, for
|
||||
@@ -65,12 +66,14 @@ private module FabricV1 {
|
||||
}
|
||||
|
||||
/**
|
||||
* INTERNAL: Do not use.
|
||||
*
|
||||
* Provides classes modeling security-relevant aspects of the `fabric` PyPI package, for
|
||||
* version 2.x.
|
||||
*
|
||||
* See http://docs.fabfile.org/en/2.5/getting-st arted.html.
|
||||
*/
|
||||
private module FabricV2 {
|
||||
module FabricV2 {
|
||||
/** Gets a reference to the `fabric` module. */
|
||||
API::Node fabric() { result = API::moduleImport("fabric") }
|
||||
|
||||
@@ -95,6 +98,9 @@ private module FabricV2 {
|
||||
result = fabric().getMember("Connection")
|
||||
or
|
||||
result = connection().getMember("Connection")
|
||||
or
|
||||
result =
|
||||
ModelOutput::getATypeNode("fabric.connection.Connection~Subclass").getASubclass*()
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -17,6 +17,7 @@ private import semmle.python.frameworks.Requests
|
||||
private import semmle.python.frameworks.Starlette
|
||||
private import semmle.python.frameworks.ClickhouseDriver
|
||||
private import semmle.python.frameworks.Aiohttp
|
||||
private import semmle.python.frameworks.Fabric
|
||||
import semmle.python.frameworks.data.internal.ApiGraphModelsExtensions as Extensions
|
||||
|
||||
class FlaskViewClasses extends FindSubclassesSpec {
|
||||
@@ -250,6 +251,14 @@ class AiohttpSession extends FindSubclassesSpec {
|
||||
}
|
||||
}
|
||||
|
||||
class FabricConnection extends FindSubclassesSpec {
|
||||
FabricConnection() { this = "fabric.connection.Connection~Subclass" }
|
||||
|
||||
override API::Node getAlreadyModeledClass() {
|
||||
result = FabricV2::Fabric::Connection::ConnectionClass::classRef()
|
||||
}
|
||||
}
|
||||
|
||||
bindingset[fullyQualified]
|
||||
predicate fullyQualifiedToYamlFormat(string fullyQualified, string type2, string path) {
|
||||
exists(int firstDot | firstDot = fullyQualified.indexOf(".", 0, 0) |
|
||||
|
||||
Reference in New Issue
Block a user