{
  "capsule": {
    "schema": "apk-scanner.proof/v2",
    "issuer": "apk-scanner.com",
    "issued_at": "2026-10-14T12:44:47.992Z",
    "app": {
      "app_id": "link.zhidou.btranslator",
      "title": "One-Click Translate",
      "version": "1.7.9"
    },
    "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": 22781.917,
        "harvest": 10312.586000000003,
        "detectors": 11339.58700000002
      },
      "bytes_total": 248640679,
      "bytes_scanned": 248640679,
      "bytes_skipped": 0,
      "files_processed": 1786,
      "coverage_version": 2,
      "string_encodings": [
        "ascii",
        "utf16le"
      ],
      "signature_validation": "not_performed"
    },
    "provenance": {
      "mode": "static",
      "artifacts": [
        {
          "name": "base.apk",
          "sha256": "ad74209841b586d3e1c96672ab5d21ceb08d26bea9ffaf5d042566d7c2f81e3d"
        },
        {
          "name": "config.arm64_v8a.apk",
          "sha256": "abaa592a776c373af043fd059455557366f674d14a13df5c4b7f523aa5ee2a04"
        },
        {
          "name": "config.en.apk",
          "sha256": "afa52cd59c56d6100ad6e798926224e24e77300c5a45755f2edf244d72a60a8e"
        },
        {
          "name": "config.xxhdpi.apk",
          "sha256": "6fec55fcfb8b529e5e543a1d591193502f4563fe7c773af2552251128835705b"
        }
      ],
      "ruleset_sha256": "69544396ce47de08b97fb3d04080662e1cbb38c704bd5aa3d4b7e5489cde22e8"
    },
    "apk_sha256": "ad74209841b586d3e1c96672ab5d21ceb08d26bea9ffaf5d042566d7c2f81e3d",
    "scan": {
      "scan_id": "1df8502a-3851-4126-b959-94c5acb1b108",
      "scanned_at": "2026-09-29T17:37:05.573Z",
      "grade": "B",
      "score": 86
    },
    "apk_signer": {
      "scheme": "v3",
      "subject_o": null,
      "subject_cn": "zd",
      "sha256": "3bc36db32784330ed371c1519b3b3efb13af08e0d1de31a9caef6862b1273e86",
      "not_after": "2042-10-29T05:53:33+00:00"
    },
    "counts": {
      "critical": 0,
      "high": 0,
      "medium": 2,
      "low": 7
    },
    "findings": [
      {
        "finding_type": 6,
        "severity": "low",
        "title": "Private key material (third-party library artifact, shared across 38 unrelated developers)",
        "redacted_display": "-----BEGIN PRIVATE KEY----- (redacted)",
        "fingerprint": "3189648d5bf63b56f1e623ad34abfd31b5aafb8386cd0e339f686035f6b89661",
        "verified": false,
        "cwe": [
          "CWE-321"
        ],
        "masvs": [
          "MASVS-CRYPTO-2"
        ],
        "remediation": "Never ship private-key material in a client. Revoke/rotate the compromised key and hold it server-side or in a hardware-backed store."
      },
      {
        "finding_type": 6,
        "severity": "low",
        "title": "Private key material (third-party library artifact, shared across 4 unrelated developers)",
        "redacted_display": "-----BEGIN PRIVATE KEY----- (redacted)",
        "fingerprint": "1a7ccf1707ce7d28aac53cc06811e330fc74d7a930af2630fb89ef36d2b77913",
        "verified": false,
        "cwe": [
          "CWE-321"
        ],
        "masvs": [
          "MASVS-CRYPTO-2"
        ],
        "remediation": "Never ship private-key material in a client. Revoke/rotate the compromised key and hold it server-side or in a hardware-backed store."
      },
      {
        "finding_type": 6,
        "severity": "low",
        "title": "Private key material (third-party library artifact, shared across 35 unrelated developers)",
        "redacted_display": "-----BEGIN PRIVATE KEY----- (redacted)",
        "fingerprint": "c1a462d35e9d998542f260b9f5a31118a3bd6ff10f693669e49e3ed5ab96b879",
        "verified": false,
        "cwe": [
          "CWE-321"
        ],
        "masvs": [
          "MASVS-CRYPTO-2"
        ],
        "remediation": "Never ship private-key material in a client. Revoke/rotate the compromised key and hold it server-side or in a hardware-backed store."
      },
      {
        "finding_type": 6,
        "severity": "low",
        "title": "Private key material (third-party library artifact, shared across 35 unrelated developers)",
        "redacted_display": "-----BEGIN PRIVATE KEY----- (redacted)",
        "fingerprint": "bf16f96c797ac5c41b335521fd3988134b858c59b7e729bc85ffb51435e0567a",
        "verified": false,
        "cwe": [
          "CWE-321"
        ],
        "masvs": [
          "MASVS-CRYPTO-2"
        ],
        "remediation": "Never ship private-key material in a client. Revoke/rotate the compromised key and hold it server-side or in a hardware-backed store."
      },
      {
        "finding_type": 6,
        "severity": "low",
        "title": "Private key material (third-party library artifact, shared across 35 unrelated developers)",
        "redacted_display": "-----BEGIN PRIVATE KEY----- (redacted)",
        "fingerprint": "f2a88cfd724792cb46afa0446f6159bc9e1d9a0f797bd2ed033792a0d2126c50",
        "verified": false,
        "cwe": [
          "CWE-321"
        ],
        "masvs": [
          "MASVS-CRYPTO-2"
        ],
        "remediation": "Never ship private-key material in a client. Revoke/rotate the compromised key and hold it server-side or in a hardware-backed store."
      },
      {
        "finding_type": 53,
        "severity": "low",
        "title": "Firebase Storage bucket reference",
        "redacted_display": "████████████",
        "fingerprint": "6da605c01a32d6178ae1e6876876e3de02277efaeb0bf30b781056b6efdcc7a8",
        "verified": false,
        "cwe": [
          "CWE-200",
          "CWE-284"
        ],
        "masvs": [
          "MASVS-STORAGE-2"
        ],
        "remediation": "Confirm the bucket/database denies anonymous read (enable auth / storage rules / RLS), then audit its contents for data already exposed while it was open."
      },
      {
        "finding_type": 53,
        "severity": "low",
        "title": "Firebase Storage bucket reference",
        "redacted_display": "████████████",
        "fingerprint": "b6e2cb8eb4bf3d0a7bcb1c02e7aaa6b80181f3fefcd2655ab608c7c76f9d6977",
        "verified": false,
        "cwe": [
          "CWE-200",
          "CWE-284"
        ],
        "masvs": [
          "MASVS-STORAGE-2"
        ],
        "remediation": "Confirm the bucket/database denies anonymous read (enable auth / storage rules / RLS), then audit its contents for data already exposed while it was open."
      },
      {
        "finding_type": 34,
        "severity": "medium",
        "title": "Cleartext (HTTP) traffic permitted",
        "redacted_display": "android:usesCleartextTraffic=\"true\"",
        "fingerprint": "94025ca91177232efea2d52d976e37f967866402c6e01f481a8de610b8e478e7",
        "verified": false,
        "cwe": [
          "CWE-319"
        ],
        "masvs": [
          "MASVS-NETWORK-1"
        ],
        "remediation": "Set android:usesCleartextTraffic=false and/or a networkSecurityConfig that forbids cleartext; serve all endpoints over HTTPS."
      },
      {
        "finding_type": 62,
        "severity": "medium",
        "title": "com.squareup.okhttp3:okhttp 4.9.1 — CVE-2021-0341",
        "redacted_display": "CVE-2021-0341 (fixed in 4.9.2)",
        "fingerprint": "b35496237e28b68c8e0d69cddebe93abcbdeb329cec963569542cc48edb144a4",
        "verified": false,
        "cwe": [
          "CWE-937",
          "CWE-1104"
        ],
        "masvs": [
          "MASVS-CODE-3"
        ],
        "remediation": "Confirm the bundled version, then upgrade the dependency to a patched release; track third-party components in an SBOM."
      }
    ],
    "live_verification": {
      "verified_count": 0,
      "items": []
    },
    "trackers_count": 0,
    "pii": {
      "sources": 4,
      "identifiers": [
        "Android ID",
        "Device ID / IMEI",
        "Subscriber ID (IMSI)"
      ],
      "destinations": 0
    },
    "sbom": {
      "component_count": 51,
      "vuln_count": 1,
      "components": [
        {
          "name": "androidx.activity:activity",
          "version": "1.7.2",
          "cves": []
        },
        {
          "name": "androidx.annotation:annotation-experimental",
          "version": "1.3.0",
          "cves": []
        },
        {
          "name": "androidx.appcompat:appcompat",
          "version": "1.6.1",
          "cves": []
        },
        {
          "name": "androidx.appcompat:appcompat-resources",
          "version": "1.6.1",
          "cves": []
        },
        {
          "name": "androidx.asynclayoutinflater:asynclayoutinflater",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.cardview:cardview",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.constraintlayout:constraintlayout",
          "version": "2.2.0",
          "cves": []
        },
        {
          "name": "androidx.coordinatorlayout:coordinatorlayout",
          "version": "1.1.0",
          "cves": []
        },
        {
          "name": "androidx.core:core",
          "version": "1.9.0",
          "cves": []
        },
        {
          "name": "androidx.core:core-ktx",
          "version": "1.9.0",
          "cves": []
        },
        {
          "name": "androidx.cursoradapter:cursoradapter",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.customview:customview",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.databinding:baseAdapters",
          "version": "8.13.1",
          "cves": []
        },
        {
          "name": "androidx.databinding:library",
          "version": "8.13.1",
          "cves": []
        },
        {
          "name": "androidx.databinding:viewbinding",
          "version": "8.13.1",
          "cves": []
        },
        {
          "name": "androidx.documentfile:documentfile",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.drawerlayout:drawerlayout",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.emoji2:emoji2",
          "version": "1.2.0",
          "cves": []
        },
        {
          "name": "androidx.emoji2:emoji2-views-helper",
          "version": "1.2.0",
          "cves": []
        },
        {
          "name": "androidx.exifinterface:exifinterface",
          "version": "1.3.6",
          "cves": []
        },
        {
          "name": "androidx.fragment:fragment",
          "version": "1.6.1",
          "cves": []
        },
        {
          "name": "androidx.interpolator:interpolator",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.legacy:legacy-support-core-ui",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.legacy:legacy-support-core-utils",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.legacy:legacy-support-v4",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.loader:loader",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.localbroadcastmanager:localbroadcastmanager",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.media:media",
          "version": "1.4.0",
          "cves": []
        },
        {
          "name": "androidx.print:print",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.profileinstaller:profileinstaller",
          "version": "1.4.0",
          "cves": []
        },
        {
          "name": "androidx.recyclerview:recyclerview",
          "version": "1.1.0",
          "cves": []
        },
        {
          "name": "androidx.room:room-runtime",
          "version": "2.2.5",
          "cves": []
        },
        {
          "name": "androidx.savedstate:savedstate",
          "version": "1.2.1",
          "cves": []
        },
        {
          "name": "androidx.slidingpanelayout:slidingpanelayout",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.sqlite:sqlite",
          "version": "2.1.0",
          "cves": []
        },
        {
          "name": "androidx.sqlite:sqlite-framework",
          "version": "2.1.0",
          "cves": []
        },
        {
          "name": "androidx.startup:startup-runtime",
          "version": "1.1.1",
          "cves": []
        },
        {
          "name": "androidx.swiperefreshlayout:swiperefreshlayout",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.tracing:tracing",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.transition:transition",
          "version": "1.2.0",
          "cves": []
        },
        {
          "name": "androidx.vectordrawable:vectordrawable",
          "version": "1.1.0",
          "cves": []
        },
        {
          "name": "androidx.vectordrawable:vectordrawable-animated",
          "version": "1.1.0",
          "cves": []
        },
        {
          "name": "androidx.versionedparcelable:versionedparcelable",
          "version": "1.1.1",
          "cves": []
        },
        {
          "name": "androidx.viewpager2:viewpager2",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.viewpager:viewpager",
          "version": "1.0.0",
          "cves": []
        },
        {
          "name": "androidx.work:work-runtime",
          "version": "2.7.0",
          "cves": []
        },
        {
          "name": "androidx.work:work-runtime-ktx",
          "version": "2.7.0",
          "cves": []
        },
        {
          "name": "com.google.android.material:material",
          "version": "1.2.1",
          "cves": []
        },
        {
          "name": "com.squareup.okhttp3:okhttp",
          "version": "4.9.1",
          "cves": [
            "CVE-2021-0341"
          ]
        },
        {
          "name": "kotlinx:coroutines_android",
          "version": "1.6.4",
          "cves": []
        },
        {
          "name": "kotlinx:coroutines_core",
          "version": "1.6.4",
          "cves": []
        }
      ]
    },
    "control_coverage": {
      "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": "no-static-findings",
          "count": 0,
          "findings": []
        },
        {
          "control": "MASVS-STORAGE-2",
          "category": "STORAGE",
          "title": "The app prevents leakage of sensitive data.",
          "static": "partial",
          "status": "gap-detected",
          "count": 2,
          "findings": [
            {
              "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": 5,
          "findings": [
            {
              "finding_type": 6,
              "key": "private_key",
              "title": "Private key material (third-party library artifact, shared across 38 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 4 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 35 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 35 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 35 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": "gap-detected",
          "count": 1,
          "findings": [
            {
              "finding_type": 34,
              "key": "cleartext_traffic",
              "title": "Cleartext (HTTP) traffic permitted",
              "severity": "medium",
              "verified": false,
              "relationship": "gap-confirmed",
              "cwe": [
                319
              ]
            }
          ]
        },
        {
          "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": "gap-detected",
          "count": 1,
          "findings": [
            {
              "finding_type": 62,
              "key": "sbom_cve",
              "title": "com.squareup.okhttp3:okhttp 4.9.1 — CVE-2021-0341",
              "severity": "medium",
              "verified": false,
              "relationship": "gap-signal",
              "cwe": [
                937,
                1104
              ]
            }
          ]
        },
        {
          "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": "no-static-findings",
          "count": 0,
          "findings": []
        },
        {
          "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": 1,
          "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": 1,
          "verified": 0,
          "manual": 0
        },
        {
          "category": "PLATFORM",
          "controls": 3,
          "gaps": 0,
          "verified": 0,
          "manual": 1
        },
        {
          "category": "CODE",
          "controls": 4,
          "gaps": 1,
          "verified": 0,
          "manual": 1
        },
        {
          "category": "RESILIENCE",
          "controls": 4,
          "gaps": 0,
          "verified": 0,
          "manual": 4
        },
        {
          "category": "PRIVACY",
          "controls": 4,
          "gaps": 0,
          "verified": 0,
          "manual": 1
        }
      ]
    }
  },
  "proof": {
    "alg": "ed25519",
    "key_id": "IE6LeZNX4dAAPLGr",
    "digest_sha256": "1e0612a070fce347bfede598c4da27254401a665caa0b25b8b9761bb65eaf7e6",
    "signature": "5oO6RDrfpvRGbIU51UQh0M6tOW0ypV5TiMd6j66fdCHxrpWq4p5zHeX2zk+H1fQk+bF74q6zll4x4pB8rB3lAg==",
    "public_key_pem": "-----BEGIN PUBLIC KEY-----\nMCowBQYDK2VwAyEAwH2fYdYB5nD0CQslDtG3FgafcJBoOX2OGoT80Woksrk=\n-----END PUBLIC KEY-----\n",
    "verify_url": "https://apk-scanner.com/verify"
  }
}