PkgRadar

Package evidence

@eeacms/[email protected]

Install Lifecycle Remote Or Exec: postinstall="node -e \"const fs=require('fs'); const path=require('path'); let file; try { file=path.join(path.dirname(require.resolve('@eeacms/volto-eea-chatbot/package.json')), 'src/ChatBlock/chat/AIMessage.tsx'); } catch (error) { process.exit(0); } const from=\\\"import visit from 'unist-util-visit';\\\"; const to=\\\"import { visit } from 'unist-util-visit';\\\"; const source=fs.readFileSync(file, 'utf8'); if (source.includes(from) && !source.includes(to)) { fs.writeFileSync(file, source.replace(from, to)); }\""

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.

Versions published
120Mature · −50% score
First published
Jun 2022
Publisher
eea-jenkins

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

Block this update

Static evidence trips multiple high-signal indicators. Quarantine the release until the publisher validates the change or you can rule out the indicators below.

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":["@eeacms/[email protected]"],"fail_on":"high"}'

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":["@eeacms/[email protected]"],"fail_on":"high"}'
Publishereea-jenkins
Artifact bytes1,659,275
Previous version4.1.0
Published2026-06-04T16:15:00.385Z
SHA-256804cd85c7776994df2f3e33e50fe34e5641cb072f39a9953f174e7f644dff146

Why flagged

What the scanner saw

Install Lifecycle Remote Or Exec: postinstall="node -e \"const fs=require('fs'); const path=require('path'); let file; try { file=path.join(path.dirname(require.resolve('@eeacms/volto-eea-chatbot/package.json')), 'src/ChatBlock/chat/AIMessage.tsx'); } catch (error) { process.exit(0); } const from=\\\"import visit from 'unist-util-visit';\\\"; const to=\\\"import { visit } from 'unist-util-visit';\\\"; const source=fs.readFileSync(file, 'utf8'); if (source.includes(from) && !source.includes(to)) { fs.writeFileSync(file, source.replace(from, to)); }\""

Not observed: package install, lifecycle script execution, or sandbox execution. PkgRadar only inspects on-disk artifacts.

Availability ledger

available

high
Last checked
highRisk
17Score
4.1.1Version
Status history (1 event)
  1. newavailable · risk high · score 17 · status changed

Evidence

Static findings

2 static · 0 from release diff · showing high-signal first.

SeverityKindPathDetailPoints
highInstall Lifecycle Remote Or Execpackage.jsonpostinstall="node -e \"const fs=require('fs'); const path=require('path'); let file; try { file=path.join(path.dirname(require.resolve('@eeacms/volto-eea-chatbot/package.json')), 'src/ChatBlock/chat/AIMessage.tsx'); } catch (error) { process.exit(0); } const from=\\\"import visit from 'unist-util-visit';\\\"; const to=\\\"import { visit } from 'unist-util-visit';\\\"; const source=fs.readFileSync(file, 'utf8'); if (source.includes(from) && !source.includes(to)) { fs.writeFileSync(file, source.replace(from, to)); }\""30
Show all 2 findings (low-signal and informational)
SeverityKindPathDetailPoints
highInstall Lifecycle Remote Or Execpackage.jsonpostinstall="node -e \"const fs=require('fs'); const path=require('path'); let file; try { file=path.join(path.dirname(require.resolve('@eeacms/volto-eea-chatbot/package.json')), 'src/ChatBlock/chat/AIMessage.tsx'); } catch (error) { process.exit(0); } const from=\\\"import visit from 'unist-util-visit';\\\"; const to=\\\"import { visit } from 'unist-util-visit';\\\"; const source=fs.readFileSync(file, 'utf8'); if (source.includes(from) && !source.includes(to)) { fs.writeFileSync(file, source.replace(from, to)); }\""30
lowInstall-time lifecycle scriptpackage.jsonpostinstall="node -e \"const fs=require('fs'); const path=require('path'); let file; try { file=path.join(path.dirname(require.resolve('@eeacms/volto-eea-chatbot/package.json')), 'src/ChatBlock/chat/AIMessage.tsx'); } catch (error) { process.exit(0); } const from=\\\"import visit from 'unist-util-visit';\\\"; const to=\\\"import { visit } from 'unist-util-visit';\\\"; const source=fs.readFileSync(file, 'utf8'); if (source.includes(from) && !source.includes(to)) { fs.writeFileSync(file, source.replace(from, to)); }\""5

Manifest

Package metadata

Scripts19
  • bootstrapnpm install -g ejs; npm link ejs; node bootstrap
  • cypress:openmake cypress-open
  • cypress:runmake cypress-run
  • i18nmake i18n
  • lintmake lint
  • lint:fixmake lint-fix
  • postinstallnode -e "const fs=require('fs'); const path=require('path'); let file; try { file=path.join(path.dirname(require.resolve('@eeacms/volto-eea-chatbot/package.json')), 'src/ChatBlock/chat/AIMessage.tsx'); } catch (error) { process.exit(0); } const from=\"import visit from 'unist-util-visit';\"; const to=\"import { visit } from 'unist-util-visit';\"; const source=fs.readFileSync(file, 'utf8'); if (source.includes(from) && !source.includes(to)) { fs.writeFileSync(file, source.replace(from, to)); }"
  • pre-commityarn stylelint:fix && yarn prettier:fix && yarn lint:fix
  • preparehusky install
  • prettiermake prettier
  • prettier:fixmake prettier-fix
  • releaserelease-it
  • release-betarelease-it --preRelease=beta
  • release-major-betarelease-it major --preRelease=beta
  • stylelintmake stylelint
  • stylelint:fixmake stylelint-fix
  • stylelint:overridesmake stylelint-overrides
  • testmake test
  • test:fixmake test-update
Dependencies39
  • @eeacms/volto-design-tokens*
  • @eeacms/volto-eea-chatbot*
  • @eeacms/volto-matomo*
  • @elastic/react-search-ui1.21.2
  • @elastic/react-search-ui-views1.21.2
  • @elastic/search-ui1.21.2
  • @plone/scripts^3.10.6
  • @visx/group^1.7.0
  • @visx/responsive^1.10.1
  • @visx/scale^1.11.1
  • @visx/shape^1.12.0
  • @visx/tooltip^1.7.2
  • classnames^2.2.6
  • csv-stringify^5.6.5
  • d3-array^2.12.1
  • d3-scale^3.3.0
  • deep-equal^2.0.5
  • downshift^3.4.8
  • elasticsearch16.7.3
  • fast-deep-equal^3.1.3
  • http-proxy-middleware^2.0.1
  • jotai2.0.3
  • lodash4.17.21
  • lodash.clonedeep^4.5.0
  • lodash.isfunction^3.0.9
  • lodash.uniq^4.5.0
  • luxon^1.22.0
  • node-fetch^2.6.1
  • re-resizable^6.9.0
  • react-compound-slider^3.4.0
  • …and 9 more.