2020-06-22 06:18:15 +02:00
# Security analysis annotations
2021-01-25 17:04:00 +01:00
## `@psalm-taint-source <taint-type>`
2020-06-22 06:18:15 +02:00
See [Custom taint sources ](custom_taint_sources.md#taint-source-annotation ).
2021-01-25 17:04:00 +01:00
## `@psalm-taint-sink <taint-type> <param-name>`
2020-06-22 06:18:15 +02:00
See [Custom taint sinks ](custom_taint_sinks.md ).
2021-01-25 17:04:00 +01:00
## `@psalm-taint-escape <taint-type #conditional>`
2020-06-22 06:18:15 +02:00
See [Escaping tainted output ](avoiding_false_positives.md#escaping-tainted-output ).
2021-01-25 17:04:00 +01:00
## `@psalm-taint-unescape <taint-type>`
See [Unescaping statements ](avoiding_false_negatives.md#unescaping-statements ).
2020-06-22 06:18:15 +02:00
## `@psalm-taint-specialize`
See [Specializing taints in functions ](avoiding_false_positives.md#specializing-taints-in-functions ) and [Specializing taints in classes ](avoiding_false_positives.md#specializing-taints-in-classes ).
2023-11-06 21:38:49 +01:00
## `@psalm-flow [proxy <function-like>] ( <arg>, [ <arg>, ] ) [ -> return ]`
See [Taint Flow ](taint_flow.md#optimized-taint-flow )