Documentation
¶
Overview ¶
Package constants provides centralized type constants for the tracer.
Package constants provides centralized type constants for the tracer. All type constants should be defined here and imported by other packages.
Package constants provides centralized type constants for the tracer.
Package constants provides centralized type constants for the tracer.
Package constants provides centralized type constants for the tracer.
Package constants provides centralized type constants for the tracer.
Package constants provides centralized type constants for the tracer.
Package constants provides centralized type constants for the tracer.
Index ¶
Constants ¶
const ( LabelHTTPGet = core.LabelHTTPGet LabelHTTPPost = core.LabelHTTPPost LabelHTTPCookie = core.LabelHTTPCookie LabelHTTPHeader = core.LabelHTTPHeader LabelHTTPBody = core.LabelHTTPBody LabelCLI = core.LabelCLI LabelEnvironment = core.LabelEnvironment LabelFile = core.LabelFile LabelDatabase = core.LabelDatabase LabelNetwork = core.LabelNetwork LabelUserInput = core.LabelUserInput )
Re-export InputLabel constants from core for backward compatibility.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CallGraphNodeType ¶
type CallGraphNodeType int
CallGraphNodeType represents the type of a call graph node
const ( CGNodeTypeRegular CallGraphNodeType = iota CGNodeTypeEntryPoint // HTTP handlers, main functions, CLI entry points CGNodeTypeSource // Input source functions )
type ConditionEffect ¶
type ConditionEffect string
ConditionEffect describes how a condition affects data flow
const ( EffectAllows ConditionEffect = "allows" // Condition allows flow if true EffectBlocks ConditionEffect = "blocks" // Condition blocks flow if true EffectUnknown ConditionEffect = "unknown" )
type ConditionType ¶
type ConditionType string
ConditionType classifies the type of condition
const ( CondTypeComparison ConditionType = "comparison" // ==, !=, <, >, etc. CondTypeNullCheck ConditionType = "null_check" // isset, empty, is_null CondTypeTypeCheck ConditionType = "type_check" // is_string, instanceof CondTypeLengthCheck ConditionType = "length_check" // strlen, count CondTypeLogical ConditionType = "logical" // &&, ||, ! CondTypeUnknown ConditionType = "unknown" )
type FlowEdgeType ¶
type FlowEdgeType string
FlowEdgeType represents how data flows between nodes
const ( EdgeAssignment FlowEdgeType = "assignment" // $x = $y EdgeParameter FlowEdgeType = "parameter" // func($x) EdgeReturn FlowEdgeType = "return" // return $x EdgeProperty FlowEdgeType = "property" // $obj->prop = $x EdgeArraySet FlowEdgeType = "array_set" // $arr['key'] = $x EdgeArrayGet FlowEdgeType = "array_get" // $x = $arr['key'] EdgeMethodCall FlowEdgeType = "method_call" // $obj->method($x) EdgeConstructor FlowEdgeType = "constructor" // new Class($x) EdgeFramework FlowEdgeType = "framework" // Framework-specific flow EdgeConcatenate FlowEdgeType = "concatenate" // $x . $y EdgeDestructure FlowEdgeType = "destructure" // const {a, b} = obj EdgeIteration FlowEdgeType = "iteration" // foreach/for loop EdgeConditional FlowEdgeType = "conditional" // if/else branch EdgeCall FlowEdgeType = "call" // Function call EdgeDataFlow FlowEdgeType = "data_flow" // Generic data flow )
type FlowNodeType ¶
type FlowNodeType string
FlowNodeType represents the type of a node in the data flow graph
const ( NodeSource FlowNodeType = "source" // Original input source (e.g., $_GET, req.body) NodeCarrier FlowNodeType = "carrier" // Object/variable that holds user data NodeVariable FlowNodeType = "variable" // Regular variable in the flow NodeFunction FlowNodeType = "function" // Function/method call NodeProperty FlowNodeType = "property" // Object property access NodeParam FlowNodeType = "param" // Function parameter NodeReturn FlowNodeType = "return" // Return value )
type InputLabel ¶
type InputLabel = core.InputLabel
InputLabel categorizes the type of user input. This is a type alias — the canonical definition lives in pkg/sources/core.
type PathNodeType ¶
type PathNodeType string
PathNodeType represents the type of a path node
const ( PathNodeSource PathNodeType = "source" // Input source PathNodeCall PathNodeType = "call" // Function call PathNodeReturn PathNodeType = "return" // Return from function PathNodeAssign PathNodeType = "assign" // Variable assignment PathNodeCondition PathNodeType = "condition" // Conditional branch PathNodeTransform PathNodeType = "transform" // Data transformation )
type PropagationStepType ¶
type PropagationStepType string
PropagationStepType defines the type of propagation step
const ( StepAssignment PropagationStepType = "assignment" StepParameterPass PropagationStepType = "parameter_pass" StepReturn PropagationStepType = "return" StepInterproceduralReturn PropagationStepType = "interprocedural_return" StepConcatenation PropagationStepType = "concatenation" StepArrayAccess PropagationStepType = "array_access" StepObjectAccess PropagationStepType = "object_access" StepDestructure PropagationStepType = "destructure" )
type PruneReason ¶
type PruneReason string
PruneReason explains why a path was pruned
const ( PruneNone PruneReason = "" PruneMaxDepth PruneReason = "max_depth_exceeded" PruneCycle PruneReason = "cycle_detected" PruneInfeasible PruneReason = "infeasible_condition" PruneDead PruneReason = "dead_code" PruneUnreachable PruneReason = "unreachable" PruneLowPriority PruneReason = "low_priority" )
type SymbolType ¶
type SymbolType string
SymbolType represents the type of a code symbol
const ( SymbolFunction SymbolType = "function" SymbolMethod SymbolType = "method" SymbolClass SymbolType = "class" SymbolInterface SymbolType = "interface" SymbolVariable SymbolType = "variable" SymbolConstant SymbolType = "constant" SymbolProperty SymbolType = "property" SymbolParameter SymbolType = "parameter" )