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 Detail

      • takesInstance

        public final boolean takesInstance
      • takesArgs

        public final java.util.Set<java.lang.Integer> takesArgs
      • takesGlobals

        public final java.util.Set<java.lang.String> takesGlobals
      • callMatcher

        public final java.util.function.Predicate<Call> callMatcher
    • Constructor Detail

      • JvmInvokeTaintSink

        @Deprecated
        public JvmInvokeTaintSink​(Signature signature,
                                  boolean takesInstance,
                                  java.util.Set<java.lang.Integer> takesArgs,
                                  java.util.Set<java.lang.String> takesGlobals)
        Deprecated.
        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,
                                  java.util.function.Predicate<Call> callMatcher,
                                  boolean takesInstance,
                                  java.util.Set<java.lang.Integer> takesArgs,
                                  java.util.Set<java.lang.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,
                                     java.util.function.Predicate<TaintSource> isValidForSource,
                                     boolean takesInstance,
                                     java.util.Set<java.lang.Integer> takesArgs,
                                     java.util.Set<java.lang.String> takesGlobals,
                                     java.util.function.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