@antv/g2-ssr @0.4.0
Maintainers
Keywords
Dependencies (6)
| Package | Constraint | Registry Status |
|---|---|---|
| bun | ^1.3.13 | auto_approved |
| cac | ^6.7.14 | auto_approved |
| canvas | ^3 | No greenflagged match |
| @antv/g | ^6.1.14 | auto_approved |
| @antv/g2 | ^5.3.4 | auto_approved |
| @antv/g-canvas | ^2.0.43 | auto_approved |
Dev Dependencies (14)
| Package | Constraint | Registry Status |
|---|---|---|
| jest | ^29.7.0 | auto_approved |
| rimraf | ^6.0.1 | auto_approved |
| rollup | ^4.28.1 | auto_approved |
| @swc/core | ^1.10.0 | auto_approved |
| @swc/jest | ^0.2.37 | auto_approved |
| typescript | ^5.7.2 | auto_approved |
| @types/jest | ^29.5.14 | auto_approved |
| @types/node | ^16.18.121 | auto_approved |
| npm-run-all | ^4.1.5 | auto_approved |
| @rollup/plugin-terser | ^0.4.4 | auto_approved |
| @rollup/plugin-commonjs | ^25.0.8 | auto_approved |
| @rollup/plugin-typescript | ^11.1.6 | No greenflagged match |
| @rollup/plugin-node-resolve | ^15.3.0 | auto_approved |
| @antv/g-plugin-rough-canvas-renderer | ^2.0.44 | auto_approved |
Transitive Dependency Tree
Changes from v0.2.0
Dependency Changes
| Change | Package | Version |
|---|---|---|
| added | bun | ^1.3.13 |
Script Changes
+ preinstallFile Changes
Risk Dispositions (6 applicable to this version, 0 other)
Accepted rules are downgraded to INFO on future analyses; rejected rules escalate to CRITICAL.
| Rule | Source | Disposition | Author | Reason | |
|---|---|---|---|---|---|
install-script:preinstall |
install-scripts | reject | AI | AI (install-scripts): Preinstall runs obfuscated index.js — malicious payload delivery; generalizes to all versions with this script. | |
obfuscated-file:index.js |
source-diff | reject | AI | AI (source-diff): Obfuscated 498KB index.js is the malicious payload; not a legitimate build artifact for this package. | |
url-dep:@antv/setup |
npm-metadata | reject | AI | AI (npm-metadata): SHA-pinned GitHub optionalDependency matches known attack pattern; not a legitimate dependency for this package. | |
semgrep:obfuscation-while-true |
semgrep | reject | AI | AI (semgrep): Obfuscator signature in the malicious payload file. | |
semgrep:obfuscation-hex-functions |
semgrep | reject | AI | AI (semgrep): Obfuscator signature in the malicious payload file. | |
semgrep:env-spread |
semgrep | reject | AI | AI (semgrep): process.env spread in obfuscated payload — credential exfiltration indicator. |
SAST Findings (10)
Script: bun run index.js
Dependency '@antv/setup' in `optionalDependencies` points to 'github:antvis/G2#1916faa365f2788b6e193514872d51a242876569' instead of a registry version. URL dependencies bypass the registry and can be swapped at any time. A 40-character commit SHA in a dependency URL is a strong supply-chain signal — the 2026-05-11 TanStack/Mini Shai-Hulud attack used this exact shape in `optionalDependencies` to smuggle a malicious payload past lifecycle-script and OSV checks.
This version has no gitHead field linking it to a source commit, but previous versions did. This suggests the publish environment changed. Published by: atool.
Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.
while(!![]) loop is a signature of javascript-obfuscator output > 1 | const _0x192368=_0x2a3a;(function(_0x44be0e,_0x3ff020){const _0x46b694={_0x4a8b2d:0x5bf,_0x1acf94:0x3d9,_0x2ef3d3:0x527,
Hex-prefixed function names (_0x...) are generated by javascript-obfuscator > 1 | const _0x192368=_0x2a3a;(function(_0x44be0e,_0x3ff020){const _0x46b694={_0x4a8b2d:0x5bf,_0x1acf94:0x3d9,_0x2ef3d3:0x527,
Hex-prefixed function names (_0x...) are generated by javascript-obfuscator > 1 | const _0x192368=_0x2a3a;(function(_0x44be0e,_0x3ff020){const _0x46b694={_0x4a8b2d:0x5bf,_0x1acf94:0x3d9,_0x2ef3d3:0x527,
Hex-prefixed function names (_0x...) are generated by javascript-obfuscator > 1 | const _0x192368=_0x2a3a;(function(_0x44be0e,_0x3ff020){const _0x46b694={_0x4a8b2d:0x5bf,_0x1acf94:0x3d9,_0x2ef3d3:0x527,
Spreading entire process.env into an object — may capture all secrets > 1 | const _0x192368=_0x2a3a;(function(_0x44be0e,_0x3ff020){const _0x46b694={_0x4a8b2d:0x5bf,_0x1acf94:0x3d9,_0x2ef3d3:0x527,
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
Review Summary
Risk score: 100 (capped from 391). Findings: 8 critical (+320), 1 high (+25), 4 medium (+40), 2 low (+6), 1 info (+0).
Published to npm: