/** * Provides a taint-tracking configuration for "Clear-text logging of sensitive information". * * Note, for performance reasons: only import this file if * `CleartextLogging::Configuration` is needed, otherwise * `CleartextLoggingCustomizations` should be imported instead. */ private import python private import semmle.python.dataflow.new.DataFlow private import semmle.python.dataflow.new.TaintTracking private import semmle.python.Concepts private import semmle.python.dataflow.new.RemoteFlowSources private import semmle.python.dataflow.new.BarrierGuards private import semmle.python.dataflow.new.SensitiveDataSources import CleartextLoggingCustomizations::CleartextLogging private module CleartextLoggingConfig implements DataFlow::ConfigSig { predicate isSource(DataFlow::Node source) { source instanceof Source } predicate isSink(DataFlow::Node sink) { sink instanceof Sink } predicate isBarrier(DataFlow::Node node) { node instanceof Sanitizer } predicate observeDiffInformedIncrementalMode() { any() } } /** Global taint-tracking for detecting "Clear-text logging of sensitive information" vulnerabilities. */ module CleartextLoggingFlow = TaintTracking::Global;