Package evidence
@mablhq/[email protected]
Js Decode Then Exec: base64 / atob / fromCharCode decode paired with eval / new Function in the same file — canonical obfuscated-loader pattern.
Trust signals
Why this verdict
PkgRadar discounts a release’s score when public reputation argues against novel malware. The verdict above already reflects these — the panel just explains what was applied.
- Weekly downloads
- 770
- Versions published
- 135Mature · −50% score
- First published
- Oct 2024
- Publisher
- mablhq-bot
Effective trust discount applied: −50% (max across signals — discounts don’t stack). New install-lifecycle deltas vs the previous release would clear the discount.
Recommended action
Review before promotingMixed signals: the package has indicators worth reading before allowing the update in automated dependency flows.
Block this release in CIcurl · GitHub Actions
Fail the build when this package version is added or upgraded. Replace $PKGRADAR_TOKEN with a Pro / Team API key from your dashboard.
curl -fsS https://pkgradar.com/gate/npm \
-H "Authorization: Bearer $PKGRADAR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"specs":["@mablhq/[email protected]"],"fail_on":"review"}'GitHub Actions step:
- name: PkgRadar gate
run: |
curl -fsS https://pkgradar.com/gate/npm \
-H "Authorization: Bearer ${{ secrets.PKGRADAR_TOKEN }}" \
-H "Content-Type: application/json" \
-d '{"specs":["@mablhq/[email protected]"],"fail_on":"review"}'Why flagged
What the scanner saw
Js Decode Then Exec: base64 / atob / fromCharCode decode paired with eval / new Function in the same file — canonical obfuscated-loader pattern.
Not observed: package install, lifecycle script execution, or sandbox execution. PkgRadar only inspects on-disk artifacts.
Availability ledger
available
Status history (1 event)
- new → available · risk review · score 25 · status changed
Evidence
Static findings
15 static · 0 from release diff · showing high-signal first.
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| high | Js Decode Then Exec | package/_bundled/@mablhq-internal/runtime/observers/BrowserScreenshotObserver.js | base64 / atob / fromCharCode decode paired with eval / new Function in the same file — canonical obfuscated-loader pattern. | 45 |
| high | Js Decode Then Exec | package/observers/BrowserScreenshotObserver.js | base64 / atob / fromCharCode decode paired with eval / new Function in the same file — canonical obfuscated-loader pattern. | 45 |
| high | Js Decode Then Exec | package/_bundled/@mablhq-internal/runtime/browserLauncher/index.js | base64 / atob / fromCharCode decode paired with eval / new Function in the same file — canonical obfuscated-loader pattern. | 45 |
| high | Js Decode Then Exec | package/_bundled/@mablhq-internal/runtime/resources/pdf-viewer/index.js | base64 / atob / fromCharCode decode paired with eval / new Function in the same file — canonical obfuscated-loader pattern. | 45 |
| high | Js Decode Then Exec | package/browserLauncher/index.js | base64 / atob / fromCharCode decode paired with eval / new Function in the same file — canonical obfuscated-loader pattern. | 45 |
| high | Js Decode Then Exec | package/resources/pdf-viewer/index.js | base64 / atob / fromCharCode decode paired with eval / new Function in the same file — canonical obfuscated-loader pattern. | 45 |
| high | Js Decode Then Exec | package/_bundled/@mablhq-internal/runtime/resources/pdf-viewer/libmablPdfViewer.js | base64 / atob / fromCharCode decode paired with eval / new Function in the same file — canonical obfuscated-loader pattern. | 45 |
| high | Js Decode Then Exec | package/resources/pdf-viewer/libmablPdfViewer.js | base64 / atob / fromCharCode decode paired with eval / new Function in the same file — canonical obfuscated-loader pattern. | 45 |
Show all 15 findings (low-signal and informational)
| Severity | Kind | Path | Detail | Points |
|---|---|---|---|---|
| high | Js Decode Then Exec | package/_bundled/@mablhq-internal/runtime/observers/BrowserScreenshotObserver.js | base64 / atob / fromCharCode decode paired with eval / new Function in the same file — canonical obfuscated-loader pattern. | 45 |
| high | Js Decode Then Exec | package/observers/BrowserScreenshotObserver.js | base64 / atob / fromCharCode decode paired with eval / new Function in the same file — canonical obfuscated-loader pattern. | 45 |
| high | Js Decode Then Exec | package/_bundled/@mablhq-internal/runtime/browserLauncher/index.js | base64 / atob / fromCharCode decode paired with eval / new Function in the same file — canonical obfuscated-loader pattern. | 45 |
| high | Js Decode Then Exec | package/_bundled/@mablhq-internal/runtime/resources/pdf-viewer/index.js | base64 / atob / fromCharCode decode paired with eval / new Function in the same file — canonical obfuscated-loader pattern. | 45 |
| high | Js Decode Then Exec | package/browserLauncher/index.js | base64 / atob / fromCharCode decode paired with eval / new Function in the same file — canonical obfuscated-loader pattern. | 45 |
| high | Js Decode Then Exec | package/resources/pdf-viewer/index.js | base64 / atob / fromCharCode decode paired with eval / new Function in the same file — canonical obfuscated-loader pattern. | 45 |
| high | Js Decode Then Exec | package/_bundled/@mablhq-internal/runtime/resources/pdf-viewer/libmablPdfViewer.js | base64 / atob / fromCharCode decode paired with eval / new Function in the same file — canonical obfuscated-loader pattern. | 45 |
| high | Js Decode Then Exec | package/resources/pdf-viewer/libmablPdfViewer.js | base64 / atob / fromCharCode decode paired with eval / new Function in the same file — canonical obfuscated-loader pattern. | 45 |
| low | Large Javascript Payload | package/_bundled/@mablhq-internal/runtime/execution/index.js | 9611266 bytes | 0 |
| low | Large Javascript Payload | package/_bundled/@mablhq-internal/runtime/mablApi/index.js | 2451541 bytes | 0 |
| low | Large Javascript Payload | package/_bundled/@mablhq-internal/runtime/upload/index.js | 4263313 bytes | 0 |
| low | Large Javascript Payload | package/_bundled/@mablhq-internal/typescript-api-client/index.js | 2451541 bytes | 0 |
| low | Large Javascript Payload | package/execution/index.js | 9611266 bytes | 0 |
| low | Large Javascript Payload | package/mablApi/index.js | 2451541 bytes | 0 |
| low | Large Javascript Payload | package/upload/index.js | 4263313 bytes | 0 |
Manifest
Package metadata
Dependencies93
@appium/types1.2.0@aws-crypto/crc32c5.1.0@devicefarmer/adbkit-apkreader3.2.4@google-cloud/storage7.17.0@mablhq/newman-reporter-mabl-console0.4.2@mablhq/playwright-reporter0.5.15@modelcontextprotocol/sdk1.17.5@plist/common1.1.0@plist/parse1.1.0@segment/analytics-node3.0.0@types/adm-zip0.5.5@types/estree1.0.5@types/finalhandler1.2.4@wdio/protocols9.23.2@wdio/types9.23.2@xmldom/xmldom0.8.10adm-zip0.5.10agent-base6.0.2appium3.3.0async-mutex0.3.1async-retry1.3.3axe-core4.8.3axios1.15.2cachedir2.4.0cd0.3.3chalk2.4.2change-case4.1.1cheerio1.2.0chrome-launcher0.14.2cli-table30.6.1- …and 63 more.