run method

  1. @override
Future<AuditResult> run(
  1. ProjectContext context
)
override

Executes the audit.

Implementation

@override
Future<AuditResult> run(ProjectContext context) async {
  final manifest = context.androidManifest;

  if (!await manifest.exists()) {
    return const AuditResult(issues: []);
  }

  final content = await manifest.readAsString();

  if (!content.contains('android:debuggable="true"')) {
    return const AuditResult(issues: []);
  }

  return AuditResult(
    issues: [
      SecurityIssue(
        id: id,
        title: name,
        description:
            'The application is debuggable. This should be disabled for production builds.',
        severity: Severity.high,
        file: manifest.path,
        recommendation: 'Remove android:debuggable="true".',
      ),
    ],
  );
}