public class SecurityDetector
extends com.android.tools.lint.detector.api.Detector
implements com.android.tools.lint.detector.api.XmlScanner, com.android.tools.lint.detector.api.SourceCodeScanner
com.android.tools.lint.detector.api.Detector.BinaryResourceScanner, com.android.tools.lint.detector.api.Detector.ClassScanner, com.android.tools.lint.detector.api.Detector.GradleScanner, com.android.tools.lint.detector.api.Detector.OtherFileScanner, com.android.tools.lint.detector.api.Detector.ResourceFolderScanner, com.android.tools.lint.detector.api.Detector.UastScanner, com.android.tools.lint.detector.api.Detector.XmlScanner| Modifier and Type | Field and Description |
|---|---|
static com.android.tools.lint.detector.api.Issue |
EXPORTED_PROVIDER
Exported content providers
|
static com.android.tools.lint.detector.api.Issue |
EXPORTED_RECEIVER
Exported receivers
|
static com.android.tools.lint.detector.api.Issue |
EXPORTED_SERVICE
Exported services
|
static com.android.tools.lint.detector.api.Issue |
OPEN_PROVIDER
Content provides which grant all URIs access
|
static com.android.tools.lint.detector.api.Issue |
SET_READABLE
Using java.io.File.setReadable(true, false) to set file world-readable
|
static com.android.tools.lint.detector.api.Issue |
SET_WRITABLE
Using java.io.File.setWritable(true, false) to set file world-writable
|
static com.android.tools.lint.detector.api.Issue |
WORLD_READABLE
Using the world-readable flag
|
static com.android.tools.lint.detector.api.Issue |
WORLD_WRITEABLE
Using the world-writable flag
|
| Constructor and Description |
|---|
SecurityDetector()
Constructs a new
SecurityDetector check |
| Modifier and Type | Method and Description |
|---|---|
com.android.tools.lint.client.api.UElementHandler |
createUastHandler(com.android.tools.lint.detector.api.JavaContext context) |
java.util.Collection<java.lang.String> |
getApplicableElements() |
java.util.List<java.lang.String> |
getApplicableMethodNames() |
java.util.List<java.lang.Class<? extends org.jetbrains.uast.UElement>> |
getApplicableUastTypes() |
static boolean |
getExported(org.w3c.dom.Element element) |
void |
visitElement(com.android.tools.lint.detector.api.XmlContext context,
org.w3c.dom.Element element) |
void |
visitMethod(com.android.tools.lint.detector.api.JavaContext context,
org.jetbrains.uast.UCallExpression node,
com.intellij.psi.PsiMethod method) |
afterCheckFile, afterCheckLibraryProject, afterCheckProject, analyzeCallGraph, applicableAnnotations, applicableSuperClasses, appliesTo, appliesTo, appliesToResourceRefs, beforeCheckFile, beforeCheckLibraryProject, beforeCheckProject, checkBinaryResource, checkCall, checkClass, checkClass, checkFolder, checkInstruction, createPsiVisitor, fix, getApplicableAsmNodeTypes, getApplicableAttributes, getApplicableCallNames, getApplicableCallOwners, getApplicableConstructorTypes, getApplicableFiles, getApplicablePsiTypes, getApplicableReferenceNames, getSpeed, isApplicableAnnotationUsage, isCallGraphRequired, run, visitAnnotationUsage, visitAttribute, visitBuildScript, visitClass, visitClass, visitConstructor, visitConstructor, visitDocument, visitElementAfter, visitMethod, visitReference, visitReference, visitResourceReference, visitResourceReferenceclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitappliesTo, getApplicableAttributes, visitAttribute, visitDocument, visitElementAfteranalyzeCallGraph, applicableAnnotations, applicableSuperClasses, appliesToResourceRefs, getApplicableConstructorTypes, getApplicableReferenceNames, isApplicableAnnotationUsage, isCallGraphRequired, visitAnnotationUsage, visitClass, visitClass, visitConstructor, visitReference, visitResourceReferencepublic static final com.android.tools.lint.detector.api.Issue EXPORTED_SERVICE
public static final com.android.tools.lint.detector.api.Issue EXPORTED_PROVIDER
public static final com.android.tools.lint.detector.api.Issue EXPORTED_RECEIVER
public static final com.android.tools.lint.detector.api.Issue OPEN_PROVIDER
public static final com.android.tools.lint.detector.api.Issue SET_READABLE
public static final com.android.tools.lint.detector.api.Issue SET_WRITABLE
public static final com.android.tools.lint.detector.api.Issue WORLD_WRITEABLE
public static final com.android.tools.lint.detector.api.Issue WORLD_READABLE
public SecurityDetector()
SecurityDetector checkpublic java.util.Collection<java.lang.String> getApplicableElements()
getApplicableElements in interface com.android.tools.lint.detector.api.XmlScannergetApplicableElements in class com.android.tools.lint.detector.api.Detectorpublic void visitElement(@NonNull
com.android.tools.lint.detector.api.XmlContext context,
@NonNull
org.w3c.dom.Element element)
visitElement in interface com.android.tools.lint.detector.api.XmlScannervisitElement in class com.android.tools.lint.detector.api.Detectorpublic static boolean getExported(org.w3c.dom.Element element)
public java.util.List<java.lang.String> getApplicableMethodNames()
getApplicableMethodNames in interface com.android.tools.lint.detector.api.SourceCodeScannergetApplicableMethodNames in class com.android.tools.lint.detector.api.Detectorpublic void visitMethod(@NonNull
com.android.tools.lint.detector.api.JavaContext context,
@NonNull
org.jetbrains.uast.UCallExpression node,
@NonNull
com.intellij.psi.PsiMethod method)
visitMethod in interface com.android.tools.lint.detector.api.SourceCodeScannervisitMethod in class com.android.tools.lint.detector.api.Detectorpublic java.util.List<java.lang.Class<? extends org.jetbrains.uast.UElement>> getApplicableUastTypes()
getApplicableUastTypes in interface com.android.tools.lint.detector.api.SourceCodeScannergetApplicableUastTypes in class com.android.tools.lint.detector.api.Detector@Nullable
public com.android.tools.lint.client.api.UElementHandler createUastHandler(@NonNull
com.android.tools.lint.detector.api.JavaContext context)
createUastHandler in interface com.android.tools.lint.detector.api.SourceCodeScannercreateUastHandler in class com.android.tools.lint.detector.api.Detector