A string construction (concat, format, f-string) where the left side is not user-controlled.
For all of these cases, we try to allow http:// or https:// on the left side
since that will still allow full URL control.
Import path
import semmle.python.security.dataflow.ServerSideRequestForgeryCustomizationsDirect supertypes
Inherited predicates
| asCfgNode | Gets the control-flow node corresponding to this node, if any. | from Node |
| asExpr | Gets the expression corresponding to this node, if any. | from Node |
| getALocalSource | Gets a local source node from which data may flow to this node in zero or more local data-flow steps. | from Node |
| getEnclosingCallable | Gets the enclosing callable of this node. | from Node |
| getLocation | Gets the location of this node | from Node |
| getScope | Gets the scope of this node. | from Node |
| hasLocationInfo | Holds if this element is at the specified location. The location spans column | from Node |
| toString | Gets a textual representation of this element. | from Node |