{
  "app": {
    "app_id": "com.opera.mini.native",
    "title": "Opera Mini: Fast Web Browser",
    "version": "99.6.2254.2363"
  },
  "scan": {
    "scan_id": "c362b39a-fc66-4718-9821-6c1916e561be",
    "grade": "D",
    "score": 40,
    "scanned_at": "2026-10-10T03:24:37.406Z"
  },
  "analysis": {
    "issues": [],
    "stages": {
      "pii": "complete",
      "sbom": "complete",
      "signing": "certificate_parsed",
      "strings": "complete",
      "manifest": "complete"
    },
    "status": "complete",
    "grading": {
      "policy": "static-coverage-v1",
      "blockers": [],
      "eligible": true
    },
    "timings_ms": {
      "total": 26221.58,
      "harvest": 4559.955999999988,
      "detectors": 19302.806999999913
    },
    "bytes_total": 92238143,
    "bytes_scanned": 92238143,
    "bytes_skipped": 0,
    "files_processed": 4934,
    "coverage_version": 2,
    "string_encodings": [
      "ascii",
      "utf16le"
    ],
    "signature_validation": "not_performed"
  },
  "provenance": {
    "mode": "static",
    "artifacts": [
      {
        "name": "base.apk",
        "sha256": "7a695a0eeccb4860fb6b55fa7c171e46f68eff07650876bccd24a8c4e4909654"
      },
      {
        "name": "config.arm64_v8a.apk",
        "sha256": "bbf24cc41a320b7e564f5398b4b3e600101c3cf24eb8fa20be2b4025d739de09"
      },
      {
        "name": "config.en.apk",
        "sha256": "99eb642de2597ec3fd5d8d844e5dd8ccbab666cd1517acc6531b919c8150c11b"
      },
      {
        "name": "config.xxhdpi.apk",
        "sha256": "857ce96af15707d02fb7bbdd370a007dbca5d60e14b42d4d5446cd35f404e3ae"
      },
      {
        "name": "minipay.apk",
        "sha256": "f5dfb566fb47e11564dafc02e68ba2bf660906de3647e7d03131b9d74087be13"
      },
      {
        "name": "pangle_ads.apk",
        "sha256": "c68ff182818021e5bf302a0b8718f3a6cd5f12915ca658c8e3e0178355eaf5eb"
      },
      {
        "name": "pangle_ads.config.arm64_v8a.apk",
        "sha256": "9c898320976df3680cdf47ab8ccf9ecd457f34eb391e07f0da13c355ecdea5f8"
      },
      {
        "name": "pangle_ads.config.en.apk",
        "sha256": "b4af5d85796959d5e9e9b4151bade2165f013e0e4efb0ea371daae9751459e99"
      }
    ],
    "ruleset_sha256": "3bb79cc3710b0fb021feaa322578f4cffe08396a97c51b34df092b5a05891d5e"
  },
  "apk_sha256": "7a695a0eeccb4860fb6b55fa7c171e46f68eff07650876bccd24a8c4e4909654",
  "schema": "apk-scanner.coverage/v1",
  "framework": "OWASP MASVS v2",
  "disclaimer": "Static, metadata-only analysis. Each control is scored evidence-for / gap-signal / requires-manual-testing. This is evidence toward a MASVS assessment, NOT a certification — apk-scanner.com is not an authorized assessment lab. Absence of a static finding does not prove a control passes.",
  "rows": [
    {
      "control": "MASVS-STORAGE-1",
      "category": "STORAGE",
      "title": "The app securely stores sensitive data.",
      "static": "partial",
      "status": "gap-detected",
      "count": 5,
      "findings": [
        {
          "finding_type": 70,
          "key": "bip39_seed",
          "title": "BIP39 wallet seed phrase (12 words, checksum valid)",
          "severity": "critical",
          "verified": false,
          "relationship": "gap-confirmed",
          "cwe": [
            312,
            798
          ]
        },
        {
          "finding_type": 20,
          "key": "google_api_key",
          "title": "Google API key (client-shipped; restriction unverified)",
          "severity": "low",
          "verified": false,
          "relationship": "gap-signal",
          "cwe": [
            798
          ]
        },
        {
          "finding_type": 20,
          "key": "google_api_key",
          "title": "Google API key (client-shipped; restriction unverified)",
          "severity": "low",
          "verified": false,
          "relationship": "gap-signal",
          "cwe": [
            798
          ]
        },
        {
          "finding_type": 20,
          "key": "google_api_key",
          "title": "Google API key (client-shipped; restriction unverified)",
          "severity": "low",
          "verified": false,
          "relationship": "gap-signal",
          "cwe": [
            798
          ]
        },
        {
          "finding_type": 20,
          "key": "google_api_key",
          "title": "Google API key (client-shipped; restriction unverified)",
          "severity": "low",
          "verified": false,
          "relationship": "gap-signal",
          "cwe": [
            798
          ]
        }
      ]
    },
    {
      "control": "MASVS-STORAGE-2",
      "category": "STORAGE",
      "title": "The app prevents leakage of sensitive data.",
      "static": "partial",
      "status": "gap-detected",
      "count": 4,
      "findings": [
        {
          "finding_type": 2,
          "key": "firebase_rtdb",
          "title": "Firebase Realtime Database reference",
          "severity": "low",
          "verified": false,
          "relationship": "gap-signal",
          "cwe": [
            200,
            284
          ]
        },
        {
          "finding_type": 53,
          "key": "firebase_storage",
          "title": "Firebase Storage bucket reference",
          "severity": "low",
          "verified": false,
          "relationship": "gap-signal",
          "cwe": [
            200,
            284
          ]
        },
        {
          "finding_type": 53,
          "key": "firebase_storage",
          "title": "Firebase Storage bucket reference",
          "severity": "low",
          "verified": false,
          "relationship": "gap-signal",
          "cwe": [
            200,
            284
          ]
        },
        {
          "finding_type": 53,
          "key": "firebase_storage",
          "title": "Firebase Storage bucket reference",
          "severity": "low",
          "verified": false,
          "relationship": "gap-signal",
          "cwe": [
            200,
            284
          ]
        }
      ]
    },
    {
      "control": "MASVS-CRYPTO-1",
      "category": "CRYPTO",
      "title": "The app employs current strong cryptography and uses it according to best practices.",
      "static": "partial",
      "status": "no-static-findings",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-CRYPTO-2",
      "category": "CRYPTO",
      "title": "The app performs key management according to best practices.",
      "static": "partial",
      "status": "gap-detected",
      "count": 3,
      "findings": [
        {
          "finding_type": 70,
          "key": "bip39_seed",
          "title": "BIP39 wallet seed phrase (12 words, checksum valid)",
          "severity": "critical",
          "verified": false,
          "relationship": "gap-confirmed",
          "cwe": [
            312,
            798
          ]
        },
        {
          "finding_type": 6,
          "key": "private_key",
          "title": "Private key material (third-party library artifact, shared across 185 unrelated developers)",
          "severity": "low",
          "verified": false,
          "relationship": "gap-confirmed",
          "cwe": [
            321
          ]
        },
        {
          "finding_type": 6,
          "key": "private_key",
          "title": "Private key material (third-party library artifact, shared across 185 unrelated developers)",
          "severity": "low",
          "verified": false,
          "relationship": "gap-confirmed",
          "cwe": [
            321
          ]
        }
      ]
    },
    {
      "control": "MASVS-AUTH-1",
      "category": "AUTH",
      "title": "The app uses secure authentication and authorization protocols.",
      "static": "manual",
      "status": "requires-manual-testing",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-AUTH-2",
      "category": "AUTH",
      "title": "The app performs local authentication securely.",
      "static": "manual",
      "status": "requires-manual-testing",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-AUTH-3",
      "category": "AUTH",
      "title": "The app secures sensitive operations with additional authentication.",
      "static": "manual",
      "status": "requires-manual-testing",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-NETWORK-1",
      "category": "NETWORK",
      "title": "The app secures all network traffic according to current best practices.",
      "static": "yes",
      "status": "no-static-findings",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-NETWORK-2",
      "category": "NETWORK",
      "title": "The app verifies the identity of the remote endpoint (e.g. certificate pinning).",
      "static": "partial",
      "status": "no-static-findings",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-PLATFORM-1",
      "category": "PLATFORM",
      "title": "The app uses IPC mechanisms securely.",
      "static": "yes",
      "status": "no-static-findings",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-PLATFORM-2",
      "category": "PLATFORM",
      "title": "The app uses WebViews securely.",
      "static": "partial",
      "status": "no-static-findings",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-PLATFORM-3",
      "category": "PLATFORM",
      "title": "The app uses the user interface securely.",
      "static": "manual",
      "status": "requires-manual-testing",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-CODE-1",
      "category": "CODE",
      "title": "The app requires an up-to-date platform version.",
      "static": "yes",
      "status": "no-static-findings",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-CODE-2",
      "category": "CODE",
      "title": "The app has a mechanism for enforcing updates.",
      "static": "manual",
      "status": "requires-manual-testing",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-CODE-3",
      "category": "CODE",
      "title": "The app only uses software components without known vulnerabilities.",
      "static": "yes",
      "status": "no-static-findings",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-CODE-4",
      "category": "CODE",
      "title": "The app validates and sanitizes all untrusted inputs and follows secure-coding practice.",
      "static": "partial",
      "status": "no-static-findings",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-RESILIENCE-1",
      "category": "RESILIENCE",
      "title": "The app validates the integrity of the platform.",
      "static": "manual",
      "status": "requires-manual-testing",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-RESILIENCE-2",
      "category": "RESILIENCE",
      "title": "The app implements anti-tampering mechanisms.",
      "static": "manual",
      "status": "requires-manual-testing",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-RESILIENCE-3",
      "category": "RESILIENCE",
      "title": "The app implements anti-static-analysis mechanisms.",
      "static": "manual",
      "status": "requires-manual-testing",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-RESILIENCE-4",
      "category": "RESILIENCE",
      "title": "The app implements anti-dynamic-analysis techniques.",
      "static": "manual",
      "status": "requires-manual-testing",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-PRIVACY-1",
      "category": "PRIVACY",
      "title": "The app minimizes access to sensitive data and resources.",
      "static": "yes",
      "status": "no-static-findings",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-PRIVACY-2",
      "category": "PRIVACY",
      "title": "The app prevents identification of the user.",
      "static": "yes",
      "status": "no-static-findings",
      "count": 0,
      "findings": []
    },
    {
      "control": "MASVS-PRIVACY-3",
      "category": "PRIVACY",
      "title": "The app is transparent about data collection and usage.",
      "static": "yes",
      "status": "gap-detected",
      "count": 1,
      "findings": [
        {
          "finding_type": 77,
          "key": "ds_underdeclare",
          "title": "Data Safety label omits Contacts",
          "severity": "low",
          "verified": false,
          "relationship": "gap-signal",
          "cwe": [
            359
          ]
        }
      ]
    },
    {
      "control": "MASVS-PRIVACY-4",
      "category": "PRIVACY",
      "title": "The app offers user control over their data.",
      "static": "manual",
      "status": "requires-manual-testing",
      "count": 0,
      "findings": []
    }
  ],
  "categories": [
    {
      "category": "STORAGE",
      "controls": 2,
      "gaps": 2,
      "verified": 0,
      "manual": 0
    },
    {
      "category": "CRYPTO",
      "controls": 2,
      "gaps": 1,
      "verified": 0,
      "manual": 0
    },
    {
      "category": "AUTH",
      "controls": 3,
      "gaps": 0,
      "verified": 0,
      "manual": 3
    },
    {
      "category": "NETWORK",
      "controls": 2,
      "gaps": 0,
      "verified": 0,
      "manual": 0
    },
    {
      "category": "PLATFORM",
      "controls": 3,
      "gaps": 0,
      "verified": 0,
      "manual": 1
    },
    {
      "category": "CODE",
      "controls": 4,
      "gaps": 0,
      "verified": 0,
      "manual": 1
    },
    {
      "category": "RESILIENCE",
      "controls": 4,
      "gaps": 0,
      "verified": 0,
      "manual": 4
    },
    {
      "category": "PRIVACY",
      "controls": 4,
      "gaps": 1,
      "verified": 0,
      "manual": 1
    }
  ]
}