{
  "llm": {
    "conf": 0.41979665,
    "grade": "benign",
    "model": "Qwen/Qwen3.8-27B",
    "before": {
      "lvl": -1,
      "prob": 0.6265622,
      "class": "benign"
    },
    "outcome": "benign",
    "interpretation": "Legitimate commercial Cordova plugin"
  },
  "ml": {
    "v": "7",
    "eng": "2.8.0",
    "lvl": -1,
    "conf": 0,
    "mods": [
      {
        "cls": 0,
        "raw": 0.6265622,
        "rte": "az",
        "prob": 0.6265622
      },
      {
        "cls": 0,
        "raw": 0.30362597,
        "rte": "az/npm",
        "prob": 0.30362597
      }
    ],
    "prob": 0.6265622,
    "files": [
      {
        "id": 0,
        "lvl": -1,
        "conf": 0,
        "prob": 0.6265621781349182,
        "type": "npm"
      },
      {
        "id": 2,
        "lvl": -1,
        "conf": 0,
        "prob": 0.00001700719258224126,
        "type": "package.json"
      },
      {
        "id": 3,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000012894471183244605,
        "type": "markdown"
      },
      {
        "id": 5,
        "lvl": -1,
        "conf": 0,
        "prob": 0.000013689200386579614,
        "type": "registry"
      }
    ],
    "version": "v18.18",
    "analyzed_at": "2026-09-06T14:50:25Z"
  },
  "path": "@regulaforensics-cordova-plugin-document-reader-core-rfid-9.5.2735.tgz",
  "raw": {
    "files": [
      {
        "id": 0,
        "ctx": [
          {
            "b": "abZy8000000@}Ta*J8t.!VX7oOg[\u0026[?z6fyhc3+Mt$J[K]#XueN(6f[xDVkf.KpRq04q78C=5m6?%lRJ0fT}Fp7#lIw}Q%[2F^[g*#Kdn8-2jmr\u003cZ8Ee%=^$*-N{.=:UD\u0026+hJs-TB/QyhUEQ\u003ce7J}zvpZJsd+iwh.WpiVhEo^/*7pU?Sxt/{plsG7%h^(B(}W:.LcYf[\u003cQ\u003c0L6K.P/FC\u003cXMB@fLXCEh\u003ebW/n#KG]asmnx1DzxaB$+cl\u003cl2xs?4RFJ\u003e$r^y12Fzi+\u003eC^UJMOQ0Ps{5%WEE(I",
            "ln": 0
          }
        ],
        "mol": "O(S₂)Md(Pa₃)",
        "sha": "fa7d9f2a3b644376fcdbd0f846c276c2f7618bbb4d19b0fc9ce60fabf41d7cd9",
        "path": "@regulaforensics-cordova-plugin-document-reader-core-rfid-9.5.2735.tgz",
        "refs": [
          {
            "to": "pkg:github/regulaforensics/documentreader-cordova-plugin",
            "off": 0,
            "kind": "repository"
          }
        ],
        "risk": 38,
        "size": 2535,
        "type": "npm",
        "facts": {
          "metrics": {
            "file": {
              "size": 2535,
              "entropy": 7.92
            },
            "parse": {
              "error_count": 1
            },
            "binary": {
              "peak_region_bytes": 2535,
              "peak_region_entropy": 7.82
            },
            "consistency": {
              "name_repo_mismatch": 1
            }
          }
        },
        "ident": {
          "name": {
            "value": "@regulaforensics/cordova-plugin-document-reader-core-rfid",
            "source": "npm.name",
            "verified": false
          },
          "urls": [
            {
              "url": "https://github.com/regulaforensics/DocumentReader-Cordova-Plugin.git",
              "kind": "repository",
              "source": "npm.repository.url"
            },
            {
              "url": "https://mobile.regulaforensics.com",
              "kind": "homepage",
              "source": "npm.homepage"
            }
          ],
          "trust": "unsigned",
          "authors": [
            {
              "name": "RegulaForensics",
              "role": "author",
              "source": "npm.author"
            }
          ],
          "version": {
            "value": "9.5.2735",
            "source": "npm.version",
            "verified": false
          },
          "identifier": {
            "value": "@regulaforensics/cordova-plugin-document-reader-core-rfid",
            "source": "npm.name",
            "verified": false
          }
        },
        "traits": [
          {
            "id": "metadata/package/manifest/repository::repo-url-git-host",
            "conf": 0.9,
            "crit": 3,
            "desc": "Repository identifies major Git host"
          },
          {
            "id": "metadata/package/manifest/publishing::npm-public-publish-access",
            "conf": 0.9,
            "crit": 3,
            "desc": "npm package is configured for public publishing"
          },
          {
            "id": "metadata/package/manifest/name::npm-name-excessive-hyphens",
            "atk": "T1195.002",
            "conf": 0.7,
            "crit": 3,
            "desc": "npm package name has excessive hyphens"
          },
          {
            "id": "metadata/package/manifest/repository::has-repository-url",
            "conf": 0.85,
            "crit": 2,
            "desc": "package.json declares a repository URL"
          },
          {
            "id": "metadata/package/manifest/repository::has-repository-field",
            "conf": 0.9,
            "crit": 2,
            "desc": "package.json declares repository metadata"
          },
          {
            "id": "metadata/package/documentation::readme-heading-name-differs",
            "conf": 0.93,
            "crit": 2,
            "desc": "README heading differs from package name"
          },
          {
            "id": "metadata/package/manifest/repository::npm-name-repo-mismatch",
            "conf": 0.8,
            "crit": 3,
            "desc": "Package name disagrees with its repository",
            "spans": [
              [
                0,
                37
              ]
            ]
          },
          {
            "id": "objectives/supply-chain/impersonation/readme-clone::readme-npm-links-name-only-foreign-packages",
            "atk": "T1036",
            "conf": 0.9,
            "crit": 3,
            "desc": "README npm links name only different packages"
          },
          {
            "id": "objectives/supply-chain/impersonation/clone-and-rename::readme-clone-foreign-npm-links",
            "atk": "T1195.002",
            "conf": 0.9,
            "crit": 4,
            "desc": "Repository mismatch with foreign-only README links",
            "uses": [
              5,
              6,
              7
            ],
            "spans": [
              [
                0,
                37
              ]
            ]
          }
        ]
      },
      {
        "ctx": [
          {
            "b": "DKp(rb5Q?awG\u003ceTb0ZfWxlw30w]zZ3zGxJ4B1.3wA+69ivj=CmB.tAaeO5^fB.$YcBs?JAvpS}\u0026eN@ZtwI4}mx\u003eezs3lQDnC4CYnx(v(kiV]Rbe\u0026tmph-0rned9Hxb4Lnav@=p5BzkVhb03?\u003clVm0Qz*2LiAboVfx(k59z/M$vwNPa-zF782zE:(kvqGT*vruj4zxJ\u003efazCv$zGGP8x\u003e7N[x(v(iwn+$2zdNQbB08\u003e#z/Pziw].r%wP@6kyBHCU3lQDnv@Dx#z*2LkiV@+RarR^Hb57NiiV]RiA+e)ay**{]A+fcfx\u003e8iqv@Dx#z*2LvAboVfx(kIkz!0{bwO#PwA+eV\u0026wPxwjz/L",
            "ln": 0,
            "col": 1,
            "line": 1
          },
          {
            "b": "x\u003eey{arR^Ht).X%EjLZFar\u003eVhCWB]#wo?K6x)KtmiV]R3fFCg$vJ)ugarR^Hb5p+nCw?IjB0rT/tm8F}arR\u003erz/PxbC3#NCar\u003eumv%8T1zGG]gvpS}\u0026a$K\u0026XA+eV\u0026wPw$Car\u003e(pvqY%]AW04Sb64mcB.\u003eFg3lQD%ed9Hxb4kRoxM4]niV]RAwOld4vmCfQwO#N6v@\u0026?B3lQDny?Wx\u003czGxwkiV]RRz/6u5A:@/(y:7zqarR\u003eGwPhNex([olC{ko(DKp(rarR\u003eID2NssiV]RVx(\u003eKI3lQDlar\u003e@Gy:7[.b4#7uAc15[fk20vxMW=pv@DiqA+e)ay**{]A+fcfx\u003e8iql#MNTzdNQbqE%oEwPxv\u0026z/PxbC3#$0y\u0026%x8zz2NoBrR5maBL^FarR\u003ewz/668vp%c}iV]RWBAzFyiXJd6z^)A%wIe1mxlw30w]zZ3zGxJ4B1Q%vz6yIrarR\u003eEBZ/f3B7^{VzF0P}b03\u0026[3lQDlar\u003el7v}x.5b03?\u003cAckSax\u003e5s]arV7tEf]",
            "ln": 335,
            "col": 13,
            "line": 9
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 749,
              "entropy": 4.72
            },
            "binary": {
              "peak_region_bytes": 749,
              "peak_region_entropy": 4.72
            },
            "consistency": {
              "name_repo_mismatch": 1
            }
          }
        },
        "id": 2,
        "mol": "Md(Pa₃)",
        "path": "@regulaforensics-cordova-plugin-document-reader-core-rfid-9.5.2735.tgz!!package/package.json",
        "pid": 0,
        "refs": [
          {
            "to": "pkg:github/regulaforensics/documentreader-cordova-plugin",
            "off": 572,
            "kind": "repository"
          }
        ],
        "risk": 1,
        "sha": "4c76f7648cb9c4fabfab51de67f4ff0595f747f2449ea412062843024cce9396",
        "size": 749,
        "traits": [
          {
            "id": "metadata/package/manifest/name::npm-name-excessive-hyphens",
            "atk": "T1195.002",
            "conf": 0.7,
            "crit": 3,
            "desc": "npm package name has excessive hyphens",
            "spans": [
              [
                4,
                57
              ]
            ]
          },
          {
            "id": "metadata/package/manifest/repository::has-repository-field",
            "conf": 0.9,
            "crit": 2,
            "desc": "package.json declares repository metadata",
            "spans": [
              [
                525,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/manifest/repository::has-repository-url",
            "conf": 0.85,
            "crit": 2,
            "desc": "package.json declares a repository URL",
            "spans": [
              [
                564,
                0
              ]
            ]
          },
          {
            "id": "metadata/package/manifest/repository::repo-url-git-host",
            "conf": 0.9,
            "crit": 3,
            "desc": "Repository identifies major Git host",
            "spans": [
              [
                564,
                68
              ]
            ]
          },
          {
            "id": "metadata/package/manifest/publishing::npm-public-publish-access",
            "conf": 0.9,
            "crit": 3,
            "desc": "npm package is configured for public publishing",
            "spans": [
              [
                724,
                6
              ]
            ]
          }
        ],
        "type": "package.json"
      },
      {
        "ctx": [
          {
            "b": "boPx=Ab]J1vru6\u003e3jovxBAhqgBZ[#[ayMygwP]ntzFrY%wN(]/peBUcAa9l(vp%dSc$)ZAAc15[fl.R:e]CSByi81qz/4dDvpK7YxjS.YA+e)ay**{]A+fcfx\u003e8iqwn+$2zdNQbePLAhwmY^gaARp9BrCTEAbY-oBAnN5wNP7\u003cefEJ5zFrPiayPd#avy6/wn=T1aA}\u003cmAbYxeB0bgmayMylx(mN1wGUI$B98CpvS=^bz/dfIra]?=x(mD}C4\u003eGfvqE69vpK7YxjVcbw]zYjwNP7ZaA}\u003cmAbYxeayPq4az#away]55A+e-?By!#9vqYP#Cwg(faA8dlC{3NcaAIWAAbP=swN(]}z/M$eazbheaA.Tkz/6iaxcqkay?m3@wPF#6wOb\u003e3wGUC[x(mMaA+f9aC4Chbx(k59B-.+DwGVecA=U@kzGvAMs7QxwNquWZAb](ux\u003eg=$vpTK\u0026zEWl2zF%Shv}u^4A+PDjaARJABzbl1AV/ylzeTPay+u\u00261z!%ldCoz0vwGTYYxl4B5x(v(im%eJRwGUP6AV![7Byw)1wN({8By/AjaARJABAg/cB7]-gz/cXtzY\u003cdnwGU(4Coz3Cx\u003ez6\u003cwft\u00261v@2H=wIaq%boPx)v%8T1zGE10wNPaXAV^./A+cvwlVm0Qz*2Lr3joWxxlw30avHcTB.$YcBrBE)vpS}\u0026ax7W3ayP85z*cmBD2E*FBz\u0026pxwNP9(C42A9z/{azyIvV%B0bykazCv$zGGP8x\u003e7N[x(v(iwn+$2zdNQbB1wCMvrlHez/P@vefFFzx)aidxcq28v}xL0wPGyBnKKXhvrb[1efFICv\u003eF(\u0026y?$kkA=kD0B8#5kxcp]faAg[jw]zZbwN(][z/6DfwPRH1C{1kpdK]vGw]8g0wHYfparUPuaBd)FAV![7C4\u003eC$e*9]cayPekay[]5vixw$vrMv5xcqFrB-FQnwP?=$wIaq%bo[s0z!0{bwO#P#BzkVh3jo:CwGUJ4v%8T1zGGrex(v(iv{%l$vR3V]z/]@dax@I\u003cA+eJ8xMOunB2\u003e%cwn+$0e]\u003eJoB.\u003eF#z/PAbB7]c9e[n*pfjXTqwO=p7fjY0hePLAhwmY^kB7x5tzeS($y?knfz/PxbC3#*L3jn15avG^TzY\u0026FcAbok#vruj4zvfuRwGUI{zeQL9AbYScv{%E[z/cXcvqWh%wGUP6B-7.jxK#i}iV}TuBAzFyiXJd0x([3hvLheez7/{vxlw30w]zZ3zGxJ4B1Y}1v%8T1zGF=/vpS}\u0026eKKC%wn=T1eL{naxk8l?c$)ZAAc15[fk20vxMW=pv@DiqA+e)ay**{]A+fcfx\u003e8iql#MNTzdNQbqE%oEwPxv\u0026z/PxbC3#$0y\u0026%x8zyEgB",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 1088,
              "entropy": 4.74
            },
            "text": {
              "lines": 14,
              "top_char": 101,
              "space_count": 118,
              "char_entropy": 4.74,
              "unique_chars": 55,
              "top_char_null": 0,
              "lines_over_200": 2,
              "top_char_ratio": 0.1,
              "avg_line_length": 76.71,
              "max_line_length": 476,
              "non_ascii_ratio": 0,
              "empty_line_ratio": 0.43,
              "last_line_length": 173,
              "long_token_count": 1,
              "whitespace_ratio": 0.12,
              "line_length_stddev": 131.93,
              "max_whitespace_run": 2
            },
            "binary": {
              "peak_region_bytes": 1088,
              "peak_region_entropy": 4.72
            }
          }
        },
        "id": 3,
        "mol": "H(Cm)Md",
        "path": "@regulaforensics-cordova-plugin-document-reader-core-rfid-9.5.2735.tgz!!package/README.md",
        "pid": 0,
        "risk": 2,
        "sha": "eb3419cee6dff8b13071c93c4c08bd06f5bed8b63d13b2bddc31f20e026c8b99",
        "size": 1088,
        "traits": [
          {
            "id": "metadata/file/naming::uppercase-readme-md-basename",
            "conf": 1.0,
            "crit": 3,
            "desc": "Basename is uppercase README.md"
          },
          {
            "id": "micro-behaviors/communications/http/url/forge::public-code-forge-url",
            "conf": 0.9,
            "crit": 3,
            "desc": "References a public code-forge URL",
            "spans": [
              [
                955,
                19
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-1",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"the\"",
            "spans": [
              [
                192,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-2",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"and\"",
            "spans": [
              [
                145,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-3",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"that\"",
            "spans": [
              [
                117,
                0
              ]
            ]
          },
          {
            "id": "metadata/lang/natural/vocabulary/function-word::lang-english--atom-5",
            "conf": 0.8,
            "crit": 1,
            "desc": "English function-word token \"for\"",
            "spans": [
              [
                216,
                0
              ]
            ]
          }
        ],
        "type": "markdown"
      },
      {
        "ctx": [
          {
            "b": "DM)3hz/ZhBBy/qkiWeDXz6yIPzEEx[b03]kA+e)ay**{]A+fcfx\u003e8iqv@Dx#z*2LvAboVfx(kIkz!0{bwO#PwA+eV\u0026wPxwjz/PzvA+o2@a$K{YwPz\u003caz/c:Wa#]",
            "ln": 0,
            "col": 1,
            "line": 1
          }
        ],
        "depth": 1,
        "facts": {
          "metrics": {
            "file": {
              "size": 1013,
              "entropy": 4.88
            },
            "binary": {
              "peak_region_bytes": 1013,
              "peak_region_entropy": 4.88
            },
            "registry": {
              "age_days": 90,
              "file_count": 7,
              "maintainers": 2,
              "published_at": 1780512885,
              "releases_24h": 0,
              "releases_48h": 1,
              "is_deprecated": 0,
              "release_count": 151,
              "security_hold": 0,
              "unpacked_size": 6258,
              "version_removed": 0,
              "downloads_recent": 2144,
              "package_age_days": 482,
              "first_published_at": 1746630100,
              "has_install_script": 0,
              "previous_published_at": 1780460245,
              "publisher_in_maintainers": 1,
              "days_since_previous_release": 0
            }
          }
        },
        "id": 5,
        "path": "@regulaforensics_cordova-plugin-document-reader-core-rfid@9.5.2735.registry.json",
        "pid": 0,
        "rel": "registry",
        "role": "sidecar",
        "sha": "2616d83c5698692580e2c41112d77d95bca7bec64567cbfa52415a38d769c86d",
        "size": 1013,
        "traits": [
          {
            "id": "metadata/registry::established-package",
            "conf": 1.0,
            "crit": 1,
            "desc": "Package is at least one year old",
            "spans": [
              [
                0,
                0
              ]
            ]
          },
          {
            "id": "metadata/registry::many-releases",
            "conf": 1.0,
            "crit": 1,
            "desc": "Twenty or more releases",
            "spans": [
              [
                0,
                0
              ]
            ]
          }
        ],
        "type": "registry"
      }
    ],
    "rev": "479f3",
    "v": "8"
  }
}