Class JvmInvokeTaintSink


public class JvmInvokeTaintSink extends JvmTaintSink
A JvmTaintSink on a method invocation. This sinks can be sensitive to the instance, the arguments, or the static fields. If a sink S is sensitive to X, then if X is tainted, we conclude that the taint has reached S.
  • Field Details

    • takesInstance

      public final boolean takesInstance
    • takesArgs

      public final Set<Integer> takesArgs
    • takesGlobals

      public final Set<String> takesGlobals
    • callMatcher

      public final Predicate<Call> callMatcher
  • Constructor Details

    • JvmInvokeTaintSink

      public JvmInvokeTaintSink(Signature signature, boolean takesInstance, Set<Integer> takesArgs, Set<String> takesGlobals)
      Create a taint sink.
      Parameters:
      signature - the signature of a sink method
      takesInstance - whether the sink is sensitive to the calling instance
      takesArgs - a set of sensitive arguments
      takesGlobals - a set of sensitive global variables
    • JvmInvokeTaintSink

      @Deprecated public JvmInvokeTaintSink(Signature signature, Predicate<Call> callMatcher, boolean takesInstance, Set<Integer> takesArgs, Set<String> takesGlobals)
      Deprecated.
      Create a taint sink.
      Parameters:
      signature - the signature of a sink method
      callMatcher - whether the call matches this taint sink
      takesInstance - whether the sink is sensitive to the calling instance
      takesArgs - a set of sensitive arguments
      takesGlobals - a set of sensitive global variables
    • JvmInvokeTaintSink

      protected JvmInvokeTaintSink(Signature signature, Predicate<TaintSource> isValidForSource, boolean takesInstance, Set<Integer> takesArgs, Set<String> takesGlobals, Predicate<Call> callMatcher)
      Create a taint sink.
      Parameters:
      signature - the signature of a sink method
      isValidForSource - predicate on whether the sink is valid for a given source
      takesInstance - whether the sink is sensitive to the calling instance
      takesArgs - a set of sensitive arguments
      takesGlobals - a set of sensitive global variables
      callMatcher - predicate on whether a call matches this taint sink
  • Method Details