Files
codeql/java/ql/lib/semmle/code/java/security/ImplicitlyExportedAndroidComponent.qll
2022-08-22 12:41:22 -04:00

16 lines
644 B
Plaintext

/** Provides a class to reason about Android implicitly exported components. */
private import semmle.code.xml.AndroidManifest
class ImplicitlyExportedAndroidComponent extends AndroidComponentXmlElement {
//ImplicitlyExportedAndroidComponent() { }
predicate isImplicitlyExported() {
not this.hasExportedAttribute() and
this.hasAnIntentFilterElement() and
not this.requiresPermissions() and
not this.getParent().(AndroidApplicationXmlElement).hasAttribute("permission") and
not this.getAnIntentFilterElement().hasLauncherCategoryElement() and
not this.getFile().(AndroidManifestXmlFile).isInBuildDirectory()
}
}