All @antv/gpt-vis-ssr versions

@antv/gpt-vis-ssr @0.5.7

rejected
This version was rejected. It did not pass GreenFlagged's security review and is not served by the registry. The findings and risk dispositions below explain why.
100
Risk Score
MIT
License
No
Install Scripts
8
Dependencies
10
Dev Dependencies
264.9 KB
Package Size
Published

SSR(Server Side Render) for AntV GPT-Vis.

Maintainers

lviseifreestyle21soundquietelaine.q.10sturubysakuya223serializedowenxdzhaoyangzhanmeiwjgogogoleungwensendoriiaaronyardsimaqdxq613intchoussusan_annjinke.lilzxuearmy8735atoolbaizndengfupingneoddishjeffy2012zqluafc163pomelo-nwukopiluwakyccnuzindexpanyuqibubkoozengyuekasmineboyu.zljl1ud0ngq1newbyvectorwinniexingchenlulikn9117xdddstsemious2020esoranadia_liubbsqqmxz96102openwaynepearminipddpdyiqianyaozhanbacxxxxxnlaixingui.lxgsusiwen8yanxiongzeyuwangrainy25ghzzhangjunjie-lokiflash1yisi.wangdreammy23biupiubiupiubasketduckxuying1027banxuanpearl_wangbqxbqxbqxalex_zjtduxinyue023wang1212leondt1gaofuhong

Keywords

antvssrvisgpt-vis

Dependencies (8)

PackageConstraintRegistry Status
bun ^1.3.13 auto_approved
canvas ^3 No greenflagged match
@antv/g ^6.3.1 auto_approved
@antv/g2-ssr ^0.2.0 auto_approved
@antv/g6-ssr ^0.1.0 auto_approved
@antv/s2-ssr ^0.1.0 auto_approved
@antv/gpt-vis ^0.4.0 No greenflagged match
@antv/g-plugin-rough-canvas-renderer ^2.0.44 auto_approved

Dev Dependencies (10)

PackageConstraintRegistry Status
jest ^29.7.0 auto_approved
pngjs ^6.0.0 auto_approved
father ^4.5.2 auto_approved
ts-jest ^29.3.1 auto_approved
ts-node ^10.9.2 auto_approved
typescript ^5.8.3 auto_approved
@types/jest ^29.5.14 auto_approved
npm-run-all ^4.1.5 auto_approved
@types/pngjs ^6.0.5 auto_approved
@blazediff/core ^1.8.0 auto_approved

Transitive Dependency Tree

99 transitive deps max depth 10
  ├─ @antv/g ^6.3.1 → 6.3.1
  ├─ @antv/g-plugin-rough-canvas-renderer ^2.0.44 → 2.1.1
  ├─ @antv/g2-ssr ^0.2.0 → 0.2.0
  ├─ @antv/g6-ssr ^0.1.0 → 0.1.1
  ├─ @antv/gpt-vis ^0.4.0
  ├─ @antv/s2-ssr ^0.1.0 → 0.1.0
  ├─ bun ^1.3.13 → 1.3.14
├─ canvas ^3
  ├─ @antv/g ^6.1.14 → 6.3.1
  ├─ @antv/g ^6.1.24 → 6.3.1
  ├─ @antv/g-canvas ^2.0.43 → 2.2.0
  ├─ @antv/g-canvas 2.2.0 → 2.2.0
  ├─ @antv/g-lite 2.7.0 → 2.7.0
  ├─ @antv/g2 ^5.3.4 → 5.4.8
  ├─ @antv/g6 ^5.0.49 → 5.1.1
  ├─ @antv/s2 ^2.4.16 → 2.7.1
  ├─ @antv/util ^3.3.5 → 3.3.11
  ├─ @babel/runtime ^7.25.6 → 7.29.7
  ├─ cac ^6.7.14 → 6.7.14
  ├─ canvas ^3
  ├─ gl-matrix ^3.4.3 → 3.4.4
  ├─ html2canvas ^1.4.1 → 1.4.1
  ├─ roughjs ^4.5.2 → 4.6.6
├─ tslib ^2.5.3 → 2.8.1
  ├─ @antv/algorithm ^0.1.26 → 0.1.26
  ├─ @antv/component ^2.1.9 → 2.1.11
  ├─ @antv/component ^2.1.7 → 2.1.11
  ├─ @antv/coord ^0.4.7 → 0.4.7
  ├─ @antv/event-emitter ^0.1.3 → 0.1.3
  ├─ @antv/expr ^1.0.2 → 1.0.2
  ├─ @antv/g ^6.3.1 → 6.3.1
  ├─ @antv/g ^6.1.24 → 6.3.1
  ├─ @antv/g ^6.1.28 → 6.3.1
  ├─ @antv/g-canvas ^2.0.48 → 2.2.0
  ├─ @antv/g-canvas ^2.2.0 → 2.2.0
  ├─ @antv/g-canvas ^2.0.43 → 2.2.0
  ├─ @antv/g-lite 2.7.0 → 2.7.0
  ├─ @antv/g-lite ^2.7.0 → 2.7.0
  ├─ @antv/g-math 3.1.0 → 3.1.0
  ├─ @antv/g-plugin-dragndrop ^2.0.35 → 2.1.1
  ├─ @antv/g-plugin-dragndrop ^2.0.38 → 2.1.1
  ├─ @antv/graphlib ^2.0.4 → 2.0.4
  ├─ @antv/hierarchy ^0.7.1 → 0.7.1
  ├─ @antv/layout ^2.0.0
  ├─ @antv/scale ^0.5.1 → 0.5.2
  ├─ @antv/util ^3.3.5 → 3.3.11
  ├─ @antv/util ^3.3.11 → 3.3.11
  ├─ @antv/util ^3.3.10 → 3.3.11
  ├─ @antv/vendor ^1.0.3 → 1.0.11
  ├─ @antv/vendor ^1.0.11 → 1.0.11
  ├─ @babel/runtime ^7.25.6 → 7.29.7
  ├─ bubblesets-js ^2.3.4
  ├─ decimal.js ^10.5.0 → 10.6.0
  ├─ eventemitter3 ^5.0.1 → 5.0.4
  ├─ fast-deep-equal ^3.1.3 → 3.1.3
  ├─ flru ^1.0.2 → 1.0.2
  ├─ gl-matrix ^3.4.3 → 3.4.4
  ├─ gl-matrix ^3.3.0 → 3.4.4
  ├─ hachure-fill ^0.5.2 → 0.5.2
  ├─ html2canvas ^1.4.1 → 1.4.1
  ├─ lodash ^4.17.21 → 4.18.1
  ├─ path-data-parser ^0.1.0 → 0.1.0
  ├─ pdfast ^0.2.0 → 0.2.0
  ├─ points-on-curve ^0.2.0 → 0.2.0
  ├─ points-on-path ^0.2.1 → 0.2.1
  ├─ tinycolor2 ^1.6.0 → 1.6.0
  ├─ tslib ^2.5.3 → 2.8.1
├─ tslib ^2.3.1 → 2.8.1
  ├─ @antv/event-emitter ^0.1.3 → 0.1.3
  ├─ @antv/g ^6.1.11 → 6.3.1
  ├─ @antv/g-lite 2.7.0 → 2.7.0
  ├─ @antv/g-math 3.1.0 → 3.1.0
  ├─ @antv/scale ^0.4.12
  ├─ @antv/scale ^0.4.16
  ├─ @antv/util ^3.3.5 → 3.3.11
  ├─ @antv/util ^3.3.10 → 3.3.11
  ├─ @antv/util ^2.0.13
  ├─ @antv/util ^3.3.7 → 3.3.11
  ├─ @antv/vendor ^1.0.3 → 1.0.11
  ├─ @babel/runtime ^7.25.6 → 7.29.7
  ├─ @types/d3-array ^3.2.1 → 3.2.2
  ├─ @types/d3-color ^3.1.3 → 3.1.3
  ├─ @types/d3-dispatch ^3.0.6 → 3.0.7
  ├─ @types/d3-dsv ^3.0.7 → 3.0.7
  ├─ @types/d3-ease ^3.0.2 → 3.0.2
  ├─ @types/d3-fetch ^3.0.7 → 3.0.7
  ├─ @types/d3-force ^3.0.10 → 3.0.10
  ├─ @types/d3-format ^3.0.4 → 3.0.4
  ├─ @types/d3-geo ^3.1.0 → 3.1.0
  ├─ @types/d3-hierarchy ^3.1.7 → 3.1.7
  ├─ @types/d3-interpolate ^3.0.4 → 3.0.4
  ├─ @types/d3-path ^3.1.0 → 3.1.1
  ├─ @types/d3-quadtree ^3.0.6 → 3.0.6
  ├─ @types/d3-random ^3.0.3 → 3.0.3
  ├─ @types/d3-scale ^4.0.9 → 4.0.9
  ├─ @types/d3-scale-chromatic ^3.1.0 → 3.1.0
  ├─ @types/d3-shape ^3.1.7 → 3.1.8
  ├─ @types/d3-time ^3.0.4 → 3.0.4
  ├─ @types/d3-timer ^3.0.2 → 3.0.2
  ├─ color-string ^1.5.5 → 1.9.1
  ├─ d3-array ^3.2.4
  ├─ d3-color ^3.1.0 → 3.1.0
  ├─ d3-dispatch ^3.0.1 → 3.0.1
  ├─ d3-dsv ^3.0.1 → 3.0.1
  ├─ d3-ease ^3.0.1 → 3.0.1
  ├─ d3-fetch ^3.0.1 → 3.0.1
  ├─ d3-force ^3.0.0 → 3.0.0
  ├─ d3-force-3d ^3.0.5 → 3.0.6
  ├─ d3-format ^3.1.0 → 3.1.2
  ├─ d3-geo ^3.1.1 → 3.1.1
  ├─ d3-geo-projection ^4.0.0 → 4.0.0
  ├─ d3-hierarchy ^3.1.2 → 3.1.2
  ├─ d3-interpolate ^3.0.1 → 3.0.1
  ├─ d3-path ^3.1.0 → 3.1.0
  ├─ d3-quadtree ^3.0.1 → 3.0.1
  ├─ d3-random ^3.0.1 → 3.0.1
  ├─ d3-regression ^1.3.10 → 1.3.10
  ├─ d3-scale ^4.0.2 → 4.0.2
  ├─ d3-scale-chromatic ^3.1.0 → 3.1.0
  ├─ d3-shape ^3.2.0 → 3.2.0
  ├─ d3-time ^3.1.0 → 3.1.0
  ├─ d3-timer ^3.0.1 → 3.0.1
  ├─ eventemitter3 ^5.0.1 → 5.0.4
  ├─ fast-deep-equal ^3.1.3 → 3.1.3
  ├─ fecha ^4.2.1 → 4.2.3
  ├─ gl-matrix ^3.3.0 → 3.4.4
  ├─ gl-matrix ^3.4.3 → 3.4.4
  ├─ html2canvas ^1.4.1 → 1.4.1
  ├─ path-data-parser 0.1.0 → 0.1.0
  ├─ points-on-curve 0.2.0 → 0.2.0
  ├─ tslib ^2.3.1 → 2.8.1
  ├─ tslib ^2.5.3 → 2.8.1
├─ tslib ^2.0.0 → 2.8.1
  ├─ @antv/g-math 3.1.0 → 3.1.0
  ├─ @antv/util ^3.3.5 → 3.3.11
  ├─ @antv/vendor ^1.0.3 → 1.0.11
  ├─ @babel/runtime ^7.25.6 → 7.29.7
  ├─ @types/d3-array ^3.2.1 → 3.2.2
  ├─ @types/d3-color ^3.1.3 → 3.1.3
  ├─ @types/d3-color * → 3.1.3
  ├─ @types/d3-dispatch ^3.0.6 → 3.0.7
  ├─ @types/d3-dsv * → 3.0.7
  ├─ @types/d3-dsv ^3.0.7 → 3.0.7
  ├─ @types/d3-ease ^3.0.2 → 3.0.2
  ├─ @types/d3-fetch ^3.0.7 → 3.0.7
  ├─ @types/d3-force ^3.0.10 → 3.0.10
  ├─ @types/d3-format ^3.0.4 → 3.0.4
  ├─ @types/d3-geo ^3.1.0 → 3.1.0
  ├─ @types/d3-hierarchy ^3.1.7 → 3.1.7
  ├─ @types/d3-interpolate ^3.0.4 → 3.0.4
  ├─ @types/d3-path ^3.1.0 → 3.1.1
  ├─ @types/d3-path * → 3.1.1
  ├─ @types/d3-quadtree ^3.0.6 → 3.0.6
  ├─ @types/d3-random ^3.0.3 → 3.0.3
  ├─ @types/d3-scale ^4.0.9 → 4.0.9
  ├─ @types/d3-scale-chromatic ^3.1.0 → 3.1.0
  ├─ @types/d3-shape ^3.1.7 → 3.1.8
  ├─ @types/d3-time * → 3.0.4
  ├─ @types/d3-time ^3.0.4 → 3.0.4
  ├─ @types/d3-timer ^3.0.2 → 3.0.2
  ├─ @types/geojson * → 7946.0.16
  ├─ color-name ^1.0.0 → 1.1.4
  ├─ commander 7 → 7.2.0
  ├─ d3-array ^3.2.4
  ├─ d3-array 2 - 3 → 3.2.3
  ├─ d3-array 2.10.0 - 3 → 3.2.3
  ├─ d3-array 1 - 3 → 3.2.3
  ├─ d3-array 2.5.0 - 3 → 3.2.3
  ├─ d3-binarytree 1 → 1.0.2
  ├─ d3-color ^3.1.0 → 3.1.0
  ├─ d3-color 1 - 3 → 3.1.0
  ├─ d3-dispatch 1 - 3 → 3.0.1
  ├─ d3-dispatch ^3.0.1 → 3.0.1
  ├─ d3-dsv 1 - 3 → 3.0.1
  ├─ d3-dsv ^3.0.1 → 3.0.1
  ├─ d3-ease ^3.0.1 → 3.0.1
  ├─ d3-fetch ^3.0.1 → 3.0.1
  ├─ d3-force ^3.0.0 → 3.0.0
  ├─ d3-force-3d ^3.0.5 → 3.0.6
  ├─ d3-format ^3.1.0 → 3.1.2
  ├─ d3-format 1 - 3 → 3.1.2
  ├─ d3-geo 1.12.0 - 3 → 3.1.1
  ├─ d3-geo ^3.1.1 → 3.1.1
  ├─ d3-geo-projection ^4.0.0 → 4.0.0
  ├─ d3-hierarchy ^3.1.2 → 3.1.2
  ├─ d3-interpolate 1.2.0 - 3 → 3.0.1
  ├─ d3-interpolate ^3.0.1 → 3.0.1
  ├─ d3-interpolate 1 - 3 → 3.0.1
  ├─ d3-octree 1 → 1.1.0
  ├─ d3-path ^3.1.0 → 3.1.0
  ├─ d3-quadtree ^3.0.1 → 3.0.1
  ├─ d3-quadtree 1 - 3 → 3.0.1
  ├─ d3-random ^3.0.1 → 3.0.1
  ├─ d3-regression ^1.3.10 → 1.3.10
  ├─ d3-scale ^4.0.2 → 4.0.2
  ├─ d3-scale-chromatic ^3.1.0 → 3.1.0
  ├─ d3-shape ^3.2.0 → 3.2.0
  ├─ d3-time ^3.1.0 → 3.1.0
  ├─ d3-time 2.1.1 - 3 → 3.1.0
  ├─ d3-time-format 2 - 4 → 4.1.0
  ├─ d3-timer 1 - 3 → 3.0.1
  ├─ d3-timer ^3.0.1 → 3.0.1
  ├─ eventemitter3 ^5.0.1 → 5.0.4
  ├─ fast-deep-equal ^3.1.3 → 3.1.3
  ├─ gl-matrix ^3.4.3 → 3.4.4
  ├─ gl-matrix ^3.3.0 → 3.4.4
  ├─ html2canvas ^1.4.1 → 1.4.1
  ├─ iconv-lite 0.6 → 0.6.3
  ├─ rw 1 → 1.3.3
  ├─ simple-swizzle ^0.2.2 → 0.2.4
  ├─ tslib ^2.5.3 → 2.8.1
├─ tslib ^2.3.1 → 2.8.1
  ├─ @antv/util ^3.3.5 → 3.3.11
  ├─ @babel/runtime ^7.25.6 → 7.29.7
  ├─ @types/d3-array ^3.2.1 → 3.2.2
  ├─ @types/d3-color * → 3.1.3
  ├─ @types/d3-color ^3.1.3 → 3.1.3
  ├─ @types/d3-dispatch ^3.0.6 → 3.0.7
  ├─ @types/d3-dsv * → 3.0.7
  ├─ @types/d3-dsv ^3.0.7 → 3.0.7
  ├─ @types/d3-ease ^3.0.2 → 3.0.2
  ├─ @types/d3-fetch ^3.0.7 → 3.0.7
  ├─ @types/d3-force ^3.0.10 → 3.0.10
  ├─ @types/d3-format ^3.0.4 → 3.0.4
  ├─ @types/d3-geo ^3.1.0 → 3.1.0
  ├─ @types/d3-hierarchy ^3.1.7 → 3.1.7
  ├─ @types/d3-interpolate ^3.0.4 → 3.0.4
  ├─ @types/d3-path * → 3.1.1
  ├─ @types/d3-path ^3.1.0 → 3.1.1
  ├─ @types/d3-quadtree ^3.0.6 → 3.0.6
  ├─ @types/d3-random ^3.0.3 → 3.0.3
  ├─ @types/d3-scale ^4.0.9 → 4.0.9
  ├─ @types/d3-scale-chromatic ^3.1.0 → 3.1.0
  ├─ @types/d3-shape ^3.1.7 → 3.1.8
  ├─ @types/d3-time ^3.0.4 → 3.0.4
  ├─ @types/d3-time * → 3.0.4
  ├─ @types/d3-timer ^3.0.2 → 3.0.2
  ├─ @types/geojson * → 7946.0.16
  ├─ commander 7 → 7.2.0
  ├─ d3-array 2 - 3 → 3.2.3
  ├─ d3-array 2.5.0 - 3 → 3.2.3
  ├─ d3-array 1 - 3 → 3.2.3
  ├─ d3-array ^3.2.4
  ├─ d3-array 2.10.0 - 3 → 3.2.3
  ├─ d3-binarytree 1 → 1.0.2
  ├─ d3-color ^3.1.0 → 3.1.0
  ├─ d3-color 1 - 3 → 3.1.0
  ├─ d3-dispatch 1 - 3 → 3.0.1
  ├─ d3-dispatch ^3.0.1 → 3.0.1
  ├─ d3-dsv ^3.0.1 → 3.0.1
  ├─ d3-dsv 1 - 3 → 3.0.1
  ├─ d3-ease ^3.0.1 → 3.0.1
  ├─ d3-fetch ^3.0.1 → 3.0.1
  ├─ d3-force ^3.0.0 → 3.0.0
  ├─ d3-force-3d ^3.0.5 → 3.0.6
  ├─ d3-format 1 - 3 → 3.1.2
  ├─ d3-format ^3.1.0 → 3.1.2
  ├─ d3-geo ^3.1.1 → 3.1.1
  ├─ d3-geo 1.12.0 - 3 → 3.1.1
  ├─ d3-geo-projection ^4.0.0 → 4.0.0
  ├─ d3-hierarchy ^3.1.2 → 3.1.2
  ├─ d3-interpolate 1 - 3 → 3.0.1
  ├─ d3-interpolate 1.2.0 - 3 → 3.0.1
  ├─ d3-interpolate ^3.0.1 → 3.0.1
  ├─ d3-octree 1 → 1.1.0
  ├─ d3-path ^3.1.0 → 3.1.0
  ├─ d3-quadtree 1 - 3 → 3.0.1
  ├─ d3-quadtree ^3.0.1 → 3.0.1
  ├─ d3-random ^3.0.1 → 3.0.1
  ├─ d3-regression ^1.3.10 → 1.3.10
  ├─ d3-scale ^4.0.2 → 4.0.2
  ├─ d3-scale-chromatic ^3.1.0 → 3.1.0
  ├─ d3-shape ^3.2.0 → 3.2.0
  ├─ d3-time 1 - 3 → 3.1.0
  ├─ d3-time ^3.1.0 → 3.1.0
  ├─ d3-time 2.1.1 - 3 → 3.1.0
  ├─ d3-time-format 2 - 4 → 4.1.0
  ├─ d3-timer ^3.0.1 → 3.0.1
  ├─ d3-timer 1 - 3 → 3.0.1
  ├─ fast-deep-equal ^3.1.3 → 3.1.3
  ├─ gl-matrix ^3.3.0 → 3.4.4
  ├─ gl-matrix ^3.4.3 → 3.4.4
  ├─ iconv-lite 0.6 → 0.6.3
  ├─ internmap 1 - 2 → 2.0.3
  ├─ is-arrayish ^0.3.1
  ├─ rw 1 → 1.3.3
  ├─ safer-buffer >= 2.1.2 < 3.0.0 → 2.1.2
  ├─ tslib ^2.5.3 → 2.8.1
├─ tslib ^2.3.1 → 2.8.1
  ├─ @types/d3-color * → 3.1.3
  ├─ @types/d3-dsv * → 3.0.7
  ├─ @types/d3-path * → 3.1.1
  ├─ @types/d3-time * → 3.0.4
  ├─ @types/geojson * → 7946.0.16
  ├─ commander 7 → 7.2.0
  ├─ d3-array 2.5.0 - 3 → 3.2.3
  ├─ d3-array 2 - 3 → 3.2.3
  ├─ d3-array 1 - 3 → 3.2.3
  ├─ d3-array 2.10.0 - 3 → 3.2.3
  ├─ d3-binarytree 1 → 1.0.2
  ├─ d3-color 1 - 3 → 3.1.0
  ├─ d3-dispatch 1 - 3 → 3.0.1
  ├─ d3-dsv 1 - 3 → 3.0.1
  ├─ d3-format 1 - 3 → 3.1.2
  ├─ d3-geo 1.12.0 - 3 → 3.1.1
  ├─ d3-interpolate 1 - 3 → 3.0.1
  ├─ d3-interpolate 1.2.0 - 3 → 3.0.1
  ├─ d3-octree 1 → 1.1.0
  ├─ d3-path ^3.1.0 → 3.1.0
  ├─ d3-quadtree 1 - 3 → 3.0.1
  ├─ d3-time 2.1.1 - 3 → 3.1.0
  ├─ d3-time 1 - 3 → 3.1.0
  ├─ d3-time-format 2 - 4 → 4.1.0
  ├─ d3-timer 1 - 3 → 3.0.1
  ├─ fast-deep-equal ^3.1.3 → 3.1.3
  ├─ gl-matrix ^3.3.0 → 3.4.4
  ├─ iconv-lite 0.6 → 0.6.3
  ├─ internmap 1 - 2 → 2.0.3
  ├─ rw 1 → 1.3.3
  ├─ safer-buffer >= 2.1.2 < 3.0.0 → 2.1.2
├─ tslib ^2.3.1 → 2.8.1
  ├─ commander 7 → 7.2.0
  ├─ d3-array 2.5.0 - 3 → 3.2.3
  ├─ d3-array 2 - 3 → 3.2.3
  ├─ d3-color 1 - 3 → 3.1.0
  ├─ d3-time 1 - 3 → 3.1.0
  ├─ iconv-lite 0.6 → 0.6.3
  ├─ internmap 1 - 2 → 2.0.3
  ├─ rw 1 → 1.3.3
├─ safer-buffer >= 2.1.2 < 3.0.0 → 2.1.2
  ├─ d3-array 2 - 3 → 3.2.3
  ├─ internmap 1 - 2 → 2.0.3
├─ safer-buffer >= 2.1.2 < 3.0.0 → 2.1.2
  ├─ internmap 1 - 2 → 2.0.3

Changes from v0.3.7

Dependency Changes

ChangePackageVersion
added bun ^1.3.13

Script Changes

+ preinstall

File Changes

1 added 0 removed 1 modified size delta: +487.8 KB

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 runs obfuscated index.js — malicious payload delivery; generalizes to all versions of this package.
url-dep:@antv/setup npm-metadata reject AI AI (npm-metadata): SHA-pinned GitHub optionalDependency matches known supply-chain attack pattern; generalizes to all versions.
semgrep:obfuscation-while-true semgrep reject AI AI (semgrep): Obfuscated preinstall payload; generalizes to all versions of this package.
semgrep:obfuscation-hex-functions semgrep reject AI AI (semgrep): Obfuscated preinstall payload; generalizes to all versions of this package.
semgrep:env-spread semgrep reject AI AI (semgrep): process.env spread inside obfuscated preinstall script — credential exfiltration risk; generalizes to all versions.

SAST Findings (11)

CRITICAL MAL-2026-4021: Malicious code in @antv/gpt-vis-ssr (npm) osv

Part of the **Mini Shai-Hulud** supply chain attack campaign in which a threat actor compromised the npm account `atool` and published 631 malicious versions across 314 npm packages in an automated 22-minute burst. Each malicious version injects a `preinstall` hook that executes a 498KB obfuscated Bun script, using the GitHub API as a covert exfiltration channel. Credentials are committed to attacker-controlled repositories following Dune-themed naming patterns (e.g., `harkonnen-melange-742`). Stolen data includes AWS keys, GitHub PATs, npm tokens, GCP service accounts, Azure credentials, Kubernetes service account tokens, SSH keys, Docker auth configs, database connection strings, Stripe keys, and Slack tokens. Malicious versions also establish persistence via CI/CD workflow injection (a GitHub Actions workflow named `Run Copilot` dumps all secrets via `toJSON(secrets)`), AI agent session hooks, and a system daemon named `kitty-monitor`. This specific package (`@antv/gpt-vis-ssr`) was modified to include a malicious `preinstall` hook executing the obfuscated Bun payload. --- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (471e892f18b414eb17370556febc5aa69778eed206747eb541a5c2f62d08cf35) The package @antv/gpt-vis-ssr was found to contain malicious code. ## Source: ghsa-malware (278f32b4abf7908ebc715048f5aefcad0d293453faabf53b12858b8bdf6faca5) Any computer that has this package installed or running should be considered fully compromised. All secrets and keys stored on that computer should be rotated immediately from a different computer. The package should be removed, but as full control of the computer may have been given to an outside entity, there is no guarantee that removing the package will remove all malicious software resulting from installing it. ## Source: google-open-source-security (847ef6b381d410bf176f7414a6f0fbbcf46a5f39b6d9011e126b279bd2d781df) This package was compromised as part of the ongoing "Mini Shai-Hulud is back" worm by the TeamPCP threat actor. The package will steal credentials and then propogate it to every package it has access to. The package also attempts to remain persistent.

HIGH Package has 'preinstall' script install-scripts

Script: bun run index.js

HIGH SHA-pinned github dependency (optionalDependencies): @antv/setup npm-metadata

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.

HIGH Missing gitHead — previous versions had it provenance

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.

HIGH New obfuscated file: index.js source-diff

Newly added source file contains lines over 3000 chars, suggesting minified or obfuscated code. New obfuscated files are a strong attack indicator.

HIGH obfuscation-while-true: index.js:1 semgrep

while(!![]) loop is a signature of javascript-obfuscator output > 1 | const _0x192368=_0x2a3a;(function(_0x44be0e,_0x3ff020){const _0x46b694={_0x4a8b2d:0x5bf,_0x1acf94:0x3d9,_0x2ef3d3:0x527,

HIGH obfuscation-hex-functions: index.js:1 semgrep

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,

HIGH obfuscation-hex-functions: index.js:1 semgrep

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,

HIGH obfuscation-hex-functions: index.js:1 semgrep

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,

HIGH env-spread: index.js:1 semgrep

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,

INFO No provenance attestation provenance

[Accepted risk] Package was published without Sigstore provenance. Consider requesting the maintainer enable provenance via CI/CD.

Review Summary

Risk score: 100 (capped from 298). Findings: 1 critical (+40), 9 high (+225), 3 medium (+30), 1 low (+3), 3 info (+0).

Published to npm: