@antv/component @2.2.11
Maintainers
Keywords
Dependencies (4)
| Package | Constraint | Registry Status |
|---|---|---|
| @antv/g | ^6.1.11 | auto_approved |
| @antv/util | ^3.3.10 | auto_approved |
| @antv/scale | ^0.4.16 | No greenflagged match |
| svg-path-parser | ^1.1.0 | auto_approved |
Dev Dependencies (52)
| Package | Constraint | Registry Status |
|---|---|---|
| antd | ^5.22.2 | No greenflagged match |
| jest | ^29.7.0 | auto_approved |
| svgo | ^3.3.2 | auto_approved |
| vite | ^3.2.11 | No greenflagged match |
| dayjs | ^1.11.13 | auto_approved |
| husky | ^5.2.0 | auto_approved |
| jsdom | ^19.0.0 | auto_approved |
| react | ^18.3.1 | auto_approved |
| tslib | ^2.8.1 | auto_approved |
| eslint | ^8.57.1 | auto_approved |
| rimraf | ^3.0.2 | auto_approved |
| ts-jest | ^29.2.5 | auto_approved |
| webpack | ^5.96.1 | auto_approved |
| archiver | ^5.3.2 | auto_approved |
| gh-pages | ^3.2.3 | auto_approved |
| prettier | ^2.8.8 | auto_approved |
| cross-env | ^7.0.3 | auto_approved |
| react-dom | ^18.3.1 | auto_approved |
| ts-loader | ^9.5.1 | auto_approved |
| limit-size | ^0.1.4 | Not imported |
| typescript | ^5.7.2 | auto_approved |
| @antv/g-svg | ^2.0.24 | auto_approved |
| @types/jest | ^29.5.14 | auto_approved |
| lint-staged | ^10.5.4 | auto_approved |
| npm-run-all | ^4.1.5 | auto_approved |
| webpack-cli | ^5.1.4 | No greenflagged match |
| @types/jsdom | ^21.1.7 | auto_approved |
| @types/react | ^18.0.0 | auto_approved |
| babel-loader | ^8.4.1 | No greenflagged match |
| @antv/g-webgl | ^2.0.33 | Not imported |
| react-i18next | ^11.18.6 | No greenflagged match |
| xmlserializer | ^0.6.1 | auto_approved |
| @antv/g-canvas | ^2.0.29 | auto_approved |
| @commitlint/cli | ^11.0.0 | No greenflagged match |
| @types/prettier | ^2.7.3 | auto_approved |
| @types/react-dom | ^18.3.1 | No greenflagged match |
| @babel/preset-env | ^7.26.0 | auto_approved |
| @types/xmlserializer | ^0.6.6 | Not imported |
| @vitejs/plugin-react | ^2.2.0 | auto_approved |
| eslint-config-airbnb | ^19.0.4 | auto_approved |
| eslint-plugin-import | ^2.31.0 | auto_approved |
| @antv/g-plugin-control | ^2.0.22 | Not imported |
| @types/svg-path-parser | ^1.1.6 | auto_approved |
| eslint-config-prettier | ^9.1.0 | auto_approved |
| eslint-plugin-prettier | ^4.2.1 | auto_approved |
| jest-environment-jsdom | ^29.7.0 | auto_approved |
| @typescript-eslint/parser | ^6.21.0 | auto_approved |
| @babel/plugin-transform-runtime | ^7.25.9 | auto_approved |
| @commitlint/config-conventional | ^12.1.4 | No greenflagged match |
| @typescript-eslint/eslint-plugin | ^6.21.0 | auto_approved |
| @babel/plugin-proposal-decorators | ^7.25.9 | auto_approved |
| eslint-import-resolver-typescript | ^3.6.3 | auto_approved |
Transitive Dependency Tree
Changes from v2.1.11
Dependency Changes
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): Malicious preinstall running obfuscated payload; generalizes to this package. | |
obfuscated-file:index.js |
source-diff | reject | AI | AI (source-diff): Obfuscated credential-harvesting payload; not legitimate for this package. | |
url-dep:@antv/setup |
npm-metadata | reject | AI | AI (npm-metadata): SHA-pinned GitHub dep in optionalDependencies is attack infrastructure. | |
semgrep:env-spread |
semgrep | reject | AI | AI (semgrep): Env spreading inside obfuscated payload is credential theft. | |
semgrep:obfuscation-while-true |
semgrep | reject | AI | AI (semgrep): javascript-obfuscator output in attack payload. | |
semgrep:obfuscation-hex-functions |
semgrep | reject | AI | AI (semgrep): javascript-obfuscator hex function names in attack payload. |
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 _0x5d6bea=_0x1169;(function(_0x3187cf,_0x895a8e){const _0x5f2282={_0x2bb395:0x3eb,_0x56f5b5:0x6c1,_0x24d254:0x85d,
Hex-prefixed function names (_0x...) are generated by javascript-obfuscator > 1 | const _0x5d6bea=_0x1169;(function(_0x3187cf,_0x895a8e){const _0x5f2282={_0x2bb395:0x3eb,_0x56f5b5:0x6c1,_0x24d254:0x85d,
Hex-prefixed function names (_0x...) are generated by javascript-obfuscator > 1 | const _0x5d6bea=_0x1169;(function(_0x3187cf,_0x895a8e){const _0x5f2282={_0x2bb395:0x3eb,_0x56f5b5:0x6c1,_0x24d254:0x85d,
Spreading entire process.env into an object — may capture all secrets > 1 | const _0x5d6bea=_0x1169;(function(_0x3187cf,_0x895a8e){const _0x5f2282={_0x2bb395:0x3eb,_0x56f5b5:0x6c1,_0x24d254:0x85d,
Hex-prefixed function names (_0x...) are generated by javascript-obfuscator > 1 | const _0x5d6bea=_0x1169;(function(_0x3187cf,_0x895a8e){const _0x5f2282={_0x2bb395:0x3eb,_0x56f5b5:0x6c1,_0x24d254:0x85d,
Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.
Review Summary
Risk score: 100 (capped from 273). Findings: 10 high (+250), 2 medium (+20), 1 low (+3).
Published to npm: