public class EasyTaintWrapper extends AbstractTaintWrapper implements Cloneable
manager| 构造器和说明 |
|---|
EasyTaintWrapper(EasyTaintWrapper taintWrapper) |
EasyTaintWrapper(File f) |
EasyTaintWrapper(InputStream stream) |
EasyTaintWrapper(Map<String,Set<String>> classList)
Creates a new instanceof the
EasyTaintWrapper class. |
EasyTaintWrapper(Map<String,Set<String>> classList,
Map<String,Set<String>> excludeList) |
EasyTaintWrapper(Map<String,Set<String>> classList,
Map<String,Set<String>> excludeList,
Map<String,Set<String>> killList) |
EasyTaintWrapper(Map<String,Set<String>> classList,
Map<String,Set<String>> excludeList,
Map<String,Set<String>> killList,
Set<String> includeList) |
EasyTaintWrapper(Reader reader) |
EasyTaintWrapper(String f) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addIncludePrefix(String prefix)
Registers a prefix of class names to be included when generating taints.
|
void |
addMethodForWrapping(String className,
String subSignature)
Adds a method to which the taint wrapping rules shall apply
|
EasyTaintWrapper |
clone() |
boolean |
getAggressiveMode()
Gets whether the taint wrapper shall always consider return values as tainted
if the base object of the respective invocation is tainted
|
Set<Abstraction> |
getAliasesForMethod(soot.jimple.Stmt stmt,
Abstraction d1,
Abstraction taintedPath)
Gets the aliases that a summarized method generates for the given
abstraction.
|
boolean |
getAlwaysModelEqualsHashCode()
Gets whether the equals() and hashCode() methods shall always be modeled,
regardless of the target type.
|
static EasyTaintWrapper |
getDefault() |
Set<AccessPath> |
getTaintsForMethodInternal(soot.jimple.Stmt stmt,
AccessPath taintedPath)
Checks an invocation statement for black-box taint propagation.
|
boolean |
isExclusiveInternal(soot.jimple.Stmt stmt,
AccessPath taintedPath)
Gets whether the taints produced by this taint wrapper are exclusive, i.e. there are
no other taints than those produced by the wrapper.
|
static File |
locateDefaultDefinitionFile()
Attempts to locate the definition file for the easy taint wrapper in its
default location
|
void |
setAggressiveMode(boolean aggressiveMode)
Sets whether the taint wrapper shall always assume the return value of a call
"a = x.foo()" to be tainted if the base object is tainted, even if the
respective method is not in the data file.
|
void |
setAlwaysModelEqualsHashCode(boolean alwaysModelEqualsHashCode)
Sets whether the equals() and hashCode() methods shall always be modeled,
regardless of the target type.
|
boolean |
supportsCallee(soot.SootMethod method)
Checks whether this taint wrapper can in general produce artificial taints
for the given callee.
|
boolean |
supportsCallee(soot.jimple.Stmt callSite)
Checks whether this taint wrapper can in general produce artificial taints
for the given call site.
|
getTaintsForMethod, getWrapperHits, getWrapperMisses, initialize, isExclusivepublic EasyTaintWrapper(Map<String,Set<String>> classList)
EasyTaintWrapper class. This constructor
assumes that all classes are included and get wrapped. However, only the
methods in the given map create new taintsclassList - The method for which to create new taints. This is a mapping
from class names to sets of subsignatures.public EasyTaintWrapper(Map<String,Set<String>> classList, Map<String,Set<String>> excludeList)
public EasyTaintWrapper(Map<String,Set<String>> classList, Map<String,Set<String>> excludeList, Map<String,Set<String>> killList)
public EasyTaintWrapper(Map<String,Set<String>> classList, Map<String,Set<String>> excludeList, Map<String,Set<String>> killList, Set<String> includeList)
public EasyTaintWrapper(String f) throws IOException
IOExceptionpublic EasyTaintWrapper(InputStream stream) throws IOException
IOExceptionpublic EasyTaintWrapper(Reader reader) throws IOException
IOExceptionpublic EasyTaintWrapper(File f) throws IOException
IOExceptionpublic EasyTaintWrapper(EasyTaintWrapper taintWrapper)
public static EasyTaintWrapper getDefault() throws IOException
IOExceptionpublic Set<AccessPath> getTaintsForMethodInternal(soot.jimple.Stmt stmt, AccessPath taintedPath)
AbstractTaintWrappergetTaintsForMethodInternal 在类中 AbstractTaintWrapperstmt - The invocation statement which to check for black-box taint propagationtaintedPath - The tainted field or value to propagateStmt
has been executedpublic boolean isExclusiveInternal(soot.jimple.Stmt stmt,
AccessPath taintedPath)
AbstractTaintWrapperisExclusiveInternal 在类中 AbstractTaintWrapperstmt - The call statement to checktaintedPath - The tainted field or value to propagatepublic void setAggressiveMode(boolean aggressiveMode)
aggressiveMode - True if return values shall always be tainted if the
base object on which the method is invoked is tainted,
otherwise falsepublic boolean getAggressiveMode()
public void setAlwaysModelEqualsHashCode(boolean alwaysModelEqualsHashCode)
alwaysModelEqualsHashCode - True if the equals() and hashCode() methods
shall always be modeled, regardless of the
target type, otherwise falsepublic boolean getAlwaysModelEqualsHashCode()
public void addIncludePrefix(String prefix)
prefix - The prefix to registerpublic void addMethodForWrapping(String className, String subSignature)
className - The class containing the method to be wrappedsubSignature - The subsignature of the method to be wrappedpublic EasyTaintWrapper clone()
public boolean supportsCallee(soot.SootMethod method)
ITaintPropagationWrappersupportsCallee 在接口中 ITaintPropagationWrappermethod - The method to checkpublic boolean supportsCallee(soot.jimple.Stmt callSite)
ITaintPropagationWrappersupportsCallee 在接口中 ITaintPropagationWrappercallSite - The call site to checkpublic Set<Abstraction> getAliasesForMethod(soot.jimple.Stmt stmt, Abstraction d1, Abstraction taintedPath)
ITaintPropagationWrappergetAliasesForMethod 在接口中 ITaintPropagationWrapperstmt - The statement that calls the summarized methodd1 - The abstraction at the entry point of the method that calls the
wrapped methodtaintedPath - The abstraction for which the aliases shall be
computedpublic static File locateDefaultDefinitionFile()
Copyright © 2022 Fraunhofer SIT. All rights reserved.