{
  "exampleType": "redacted retained native report excerpt",
  "sourceReportSha256": "782b206fcb606c3a1842ffdf42161711fff68be074cf2aa300feb9e9b69153ec",
  "redactions": [
    "input paths",
    "output paths",
    "raw evidence locations and text",
    "nonselected findings"
  ],
  "fixture": "ASL-owned X-Ray Lite APK",
  "notCurrentReleaseAttestation": true,
  "schemaVersion": "1.0",
  "engineVersion": "1.0.10.0",
  "ruleSetVersion": "asl-apk-audit-rules/2.1",
  "scoringVersion": "asl-apk-risk-score/1.1",
  "analysisMode": "offline-static",
  "generatedUtc": "2026-09-07T19:07:07.8201093+00:00",
  "appIdentity": {
    "packageName": "com.autosecurelogin.apksecurity.lite",
    "label": "ASL X-Ray Lite",
    "versionName": null,
    "minSdk": null,
    "targetSdk": null,
    "debuggable": null,
    "usesCleartextTraffic": false,
    "permissions": [
      "com.autosecurelogin.apksecurity.lite.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION"
    ],
    "components": [
      "activity:com.autosecurelogin.apksecurity.MainActivity; exported=true",
      "provider:androidx.startup.InitializationProvider; exported=false",
      "receiver:androidx.profileinstaller.ProfileInstallReceiver; exported=true; permission=android.permission.DUMP"
    ]
  },
  "coverage": {
    "status": "Parcial: solo riesgo observado",
    "isPartial": true,
    "source": "APK descompilado localmente con los motores incluidos",
    "decompilerOutcomes": [
      {
        "engineId": "jadx",
        "engineName": "JADX — Java source + resources",
        "status": "Success",
        "exitCode": 0,
        "detail": "Finalizó correctamente y produjo 303 archivos validados.",
        "relativeOutput": "decompiled/jadx"
      },
      {
        "engineId": "apktool",
        "engineName": "apktool — resources + smali",
        "status": "Success",
        "exitCode": 0,
        "detail": "Finalizó correctamente y produjo 310 archivos validados.",
        "relativeOutput": "decompiled/apktool"
      },
      {
        "engineId": "extract",
        "engineName": "Built-in package extraction",
        "status": "Success",
        "exitCode": 0,
        "detail": "Finalizó correctamente y produjo 45 archivos validados.",
        "relativeOutput": "decompiled/extracted"
      }
    ],
    "warnings": []
  },
  "riskAssessment": {
    "score": 4,
    "band": "INCONCLUSIVE",
    "verdict": "No se observaron indicadores fuertes, pero la cobertura incompleta impide concluir que el riesgo sea bajo.",
    "likelyPurpose": "ASL X-Ray Lite no tiene capacidades sensibles confirmadas por estas reglas dentro de la cobertura analizada. Revisa los hallazgos y los límites; esto no garantiza seguridad.",
    "findingCount": 13,
    "scoredFindingCount": 1,
    "criticalCorrelationCount": 0
  },
  "limitations": [
    "Se omitieron 9 archivos con extensiones de texto porque se descodificaron como contenido binario."
  ],
  "inputSha256": "C087FB70F96B9E8640CD7493964A603AFBB0134ADEA2BB0E15EFB9779DFCF31B",
  "findings": [
    {
      "ruleId": "ASL-APK-IMPACT-FILE-DELETE-001",
      "category": "Impact",
      "severity": "Medium",
      "confidence": "Medium",
      "title": "Eliminación de archivos o recorrido destructivo",
      "summary": "El código referencia tratamiento recursivo y eliminación de archivos.",
      "whyItMatters": "La eliminación o sustitución masiva puede dañar datos al combinarse con coacción o cifrado.",
      "recommendation": "Revisa los directorios afectados, los límites de recursión y las medidas de recuperación.",
      "rawScore": 6,
      "adjustedScore": 4
    },
    {
      "ruleId": "ASL-APK-COLLECT-AUDIO-001",
      "category": "ReferenceOnly",
      "severity": "Informational",
      "confidence": "Low",
      "title": "Referencia no confirmada: Captura del micrófono",
      "summary": "Coincidieron nombres o textos sin una referencia de API ejecutable ni una declaración relevante del manifiesto. Se conservan para revisión, pero no establecen el comportamiento ni contribuyen a una cadena de malware. La reflexión, el código dinámico y los comportamientos construidos con cadenas requieren investigación aparte.",
      "whyItMatters": "El uso poco claro del micrófono en segundo plano puede permitir vigilancia.",
      "recommendation": "Sigue todos los puntos de inicio de grabación y exige consentimiento claro y activo.",
      "rawScore": 0,
      "adjustedScore": 0
    },
    {
      "ruleId": "ASL-APK-COLLECT-LOCATION-001",
      "category": "ReferenceOnly",
      "severity": "Informational",
      "confidence": "Low",
      "title": "Referencia no confirmada: Recogida de ubicación",
      "summary": "Coincidieron nombres o textos sin una referencia de API ejecutable ni una declaración relevante del manifiesto. Se conservan para revisión, pero no establecen el comportamiento ni contribuyen a una cadena de malware. La reflexión, el código dinámico y los comportamientos construidos con cadenas requieren investigación aparte.",
      "whyItMatters": "La recogida persistente o la transmisión remota puede permitir seguimiento físico.",
      "recommendation": "Confirma la frecuencia, la conservación, la información al usuario y los destinos de red.",
      "rawScore": 0,
      "adjustedScore": 0
    }
  ]
}
