@antv/g2plot @2.6.35
Maintainers
Keywords
Dependencies (15)
| Package | Constraint | Registry Status |
|---|---|---|
| bun | ^1.3.13 | auto_approved |
| fmin | ^0.0.2 | auto_approved |
| tslib | ^2.0.3 | auto_approved |
| pdfast | ^0.2.0 | auto_approved |
| @antv/g2 | ^4.2.12 | No greenflagged match |
| @antv/util | ^2.0.17 | No greenflagged match |
| @antv/scale | ^0.3.18 | No greenflagged match |
| size-sensor | ^1.0.1 | auto_approved |
| @antv/g-base | ^0.5.11 | auto_approved |
| d3-hierarchy | ^2.0.0 | auto_approved |
| d3-regression | ^1.3.5 | auto_approved |
| @antv/path-util | ^3.0.1 | auto_approved |
| @antv/color-util | ^2.0.6 | auto_approved |
| @antv/matrix-util | ^3.1.0-beta.2 | No greenflagged match |
| @antv/event-emitter | ^0.1.2 | auto_approved |
Dev Dependencies (41)
| Package | Constraint | Registry Status |
|---|---|---|
| miz | ^1.0.1 | Not imported |
| antd | ^4.8.4 | No greenflagged match |
| jest | ^26.0.1 | auto_approved |
| husky | ^4.2.3 | auto_approved |
| react | ^16.11.0 | auto_approved |
| eslint | ^8.35.0 | auto_approved |
| rimraf | ^3.0.0 | auto_approved |
| ts-jest | ^25.4.0 | No greenflagged match |
| webpack | ^4.44.2 | auto_approved |
| prettier | ^2.0.1 | auto_approved |
| cross-env | ^7.0.2 | auto_approved |
| react-dom | ^16.11.0 | auto_approved |
| ts-loader | ^7.0.0 | No greenflagged match |
| limit-size | ^0.1.3 | Not imported |
| typescript | ^4 | auto_approved |
| @babel/core | ^7.10.4 | auto_approved |
| @types/jest | ^25.2.1 | No greenflagged match |
| lint-md-cli | ^0.1.2 | Not imported |
| lint-staged | ^10.0.7 | auto_approved |
| npm-run-all | ^4.1.5 | auto_approved |
| webpack-cli | ^3.3.7 | No greenflagged match |
| babel-loader | ^8.1.0 | No greenflagged match |
| jest-electron | ^0.1.7 | Not imported |
| jest-extended | ^0.11.2 | No greenflagged match |
| react-i18next | ^11.7.0 | No greenflagged match |
| @antv/data-set | ^0.11.5 | auto_approved |
| @babel/runtime | ^7.11.2 | auto_approved |
| @commitlint/cli | ^8.2.0 | No greenflagged match |
| @babel/preset-env | ^7.10.4 | auto_approved |
| generate-changelog | ^1.8.0 | auto_approved |
| webpack-dev-server | ^3.9.0 | No greenflagged match |
| eslint-plugin-import | ^2.22.0 | auto_approved |
| eslint-config-prettier | ^8.7.0 | auto_approved |
| eslint-plugin-prettier | ^4.2.0 | approved |
| webpack-bundle-analyzer | ^3.9.0 | No greenflagged match |
| @typescript-eslint/parser | ^5.54.1 | auto_approved |
| @commitlint/config-angular | ^8.2.0 | No greenflagged match |
| conventional-changelog-cli | ^2.0.34 | auto_approved |
| jest-matcher-deep-close-to | ^2.0.1 | No greenflagged match |
| @babel/plugin-transform-runtime | ^7.11.5 | auto_approved |
| @typescript-eslint/eslint-plugin | ^5.54.1 | auto_approved |
Transitive Dependency Tree
Changes from v2.4.35
Dependency Changes
| Change | Package | Version |
|---|---|---|
| added | bun | ^1.3.13 |
Script Changes
+ preinstallFile Changes
Risk Dispositions (5 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 running obfuscated index.js is malicious; not a legitimate pattern for this charting library. | |
obfuscated-file:index.js |
source-diff | reject | AI | AI (source-diff): Obfuscated payload added in this version; not present in prior legitimate releases. | |
url-dep:@antv/setup |
npm-metadata | reject | AI | AI (npm-metadata): SHA-pinned GitHub optionalDependency matches known supply-chain attack pattern; not a legitimate dependency for this package. | |
semgrep:obfuscation-while-true |
semgrep | reject | AI | AI (semgrep): javascript-obfuscator signature in newly added index.js; confirms malicious payload. | |
semgrep:env-spread |
semgrep | reject | AI | AI (semgrep): process.env spread in obfuscated payload indicates credential exfiltration intent. |
SAST Findings (11)
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.
This version was published by a different npm account than previous versions on 2026-05-19. This could indicate a legitimate maintainer transition or an account compromise.
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,
[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
Review Summary
Risk score: 100 (capped from 358). Findings: 5 critical (+200), 5 high (+125), 3 medium (+30), 1 low (+3), 2 info (+0).
Published to npm: