PkgRadar

Package evidence

@camunda8/[email protected]

Install Lifecycle Remote Or Exec: prepare="git rev-parse --is-inside-work-tree >/dev/null 2>&1 && sh -c 'hp=$(git config --local --get core.hooksPath 2>/dev/null || true); if [ -z \"$hp\" ] || [ \"$hp\" = \".githooks\" ]; then git config --local core.hooksPath .githooks; else echo \"prepare: leaving existing core.hooksPath=$hp\"; fi' || true"

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.

Publisher
GitHub ActionsTrusted automation · −70% score

Effective trust discount applied: 70% (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":["@camunda8/[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":["@camunda8/[email protected]"],"fail_on":"high"}'
Artifact bytes649,367
Previous version3.2.0-alpha.1
Published2026-05-22T06:41:47.208Z
SHA-25610f54cff2575a7bb00c5981851c37e347742dd646036f01b8cfe8b8f17fd9afb

Why flagged

What the scanner saw

Install Lifecycle Remote Or Exec: prepare="git rev-parse --is-inside-work-tree >/dev/null 2>&1 && sh -c 'hp=$(git config --local --get core.hooksPath 2>/dev/null || true); if [ -z \"$hp\" ] || [ \"$hp\" = \".githooks\" ]; then git config --local core.hooksPath .githooks; else echo \"prepare: leaving existing core.hooksPath=$hp\"; fi' || true"

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

Availability ledger

available

high
Last checked
highRisk
103Score
3.2.0-alpha.2Version
Status history (1 event)
  1. newavailable · risk high · score 103 · status changed

Related candidates

Linked campaigns and clusters

Repeated static TTPstale

Install Lifecycle Suppresses Failure — prepare="git rev-parse --is-inside-work-tree >/dev/null 2>&1 && sh -c 'hp=$(git config --local --get core.hookspath 2>/dev/null || true); if [ -z \"$hp\" ] || [ \"$hp\" = \".githooks\" ]; then git config --local core.hookspath .githooks; else echo \"prepare: leaving existing core.hookspath=$hp\"; fi' || true"

2 members · evidence strength 70
Repeated static TTPstale

Install Lifecycle Remote Or Exec — prepare="git rev-parse --is-inside-work-tree >/dev/null 2>&1 && sh -c 'hp=$(git config --local --get core.hookspath 2>/dev/null || true); if [ -z \"$hp\" ] || [ \"$hp\" = \".githooks\" ]; then git config --local core.hookspath .githooks; else echo \"prepare: leaving existing core.hookspath=$hp\"; fi' || true"

2 members · evidence strength 70

Evidence

Static findings

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

SeverityKindPathDetailPoints
highInstall Lifecycle Remote Or Execpackage.jsonprepare="git rev-parse --is-inside-work-tree >/dev/null 2>&1 && sh -c 'hp=$(git config --local --get core.hooksPath 2>/dev/null || true); if [ -z \"$hp\" ] || [ \"$hp\" = \".githooks\" ]; then git config --local core.hooksPath .githooks; else echo \"prepare: leaving existing core.hooksPath=$hp\"; fi' || true"30
highInstall Lifecycle Suppresses Failurepackage.jsonprepare="git rev-parse --is-inside-work-tree >/dev/null 2>&1 && sh -c 'hp=$(git config --local --get core.hooksPath 2>/dev/null || true); if [ -z \"$hp\" ] || [ \"$hp\" = \".githooks\" ]; then git config --local core.hooksPath .githooks; else echo \"prepare: leaving existing core.hooksPath=$hp\"; fi' || true"20
mediumRemote Payloadpackage/dist/default-plugins/element-template/c8ctl-plugin.jsmatched "raw.githubusercontent.com"12
mediumRemote Payloadpackage/dist/default-plugins/element-template/helpers.jsmatched "raw.githubusercontent.com"12
mediumRemote Payloadpackage/dist/default-plugins/element-template/marketplace.jsmatched "raw.githubusercontent.com"12
mediumLarge Javascript Payloadpackage/dist/vendor/bpmn-element-templates.cjs2368802 bytes10
Show all 8 findings (low-signal and informational)
SeverityKindPathDetailPoints
highInstall Lifecycle Remote Or Execpackage.jsonprepare="git rev-parse --is-inside-work-tree >/dev/null 2>&1 && sh -c 'hp=$(git config --local --get core.hooksPath 2>/dev/null || true); if [ -z \"$hp\" ] || [ \"$hp\" = \".githooks\" ]; then git config --local core.hooksPath .githooks; else echo \"prepare: leaving existing core.hooksPath=$hp\"; fi' || true"30
highInstall Lifecycle Suppresses Failurepackage.jsonprepare="git rev-parse --is-inside-work-tree >/dev/null 2>&1 && sh -c 'hp=$(git config --local --get core.hooksPath 2>/dev/null || true); if [ -z \"$hp\" ] || [ \"$hp\" = \".githooks\" ]; then git config --local core.hooksPath .githooks; else echo \"prepare: leaving existing core.hooksPath=$hp\"; fi' || true"20
mediumRemote Payloadpackage/dist/default-plugins/element-template/c8ctl-plugin.jsmatched "raw.githubusercontent.com"12
mediumRemote Payloadpackage/dist/default-plugins/element-template/helpers.jsmatched "raw.githubusercontent.com"12
mediumRemote Payloadpackage/dist/default-plugins/element-template/marketplace.jsmatched "raw.githubusercontent.com"12
mediumLarge Javascript Payloadpackage/dist/vendor/bpmn-element-templates.cjs2368802 bytes10
lowInstall-time lifecycle scriptpackage.jsonprepare="git rev-parse --is-inside-work-tree >/dev/null 2>&1 && sh -c 'hp=$(git config --local --get core.hooksPath 2>/dev/null || true); if [ -z \"$hp\" ] || [ \"$hp\" = \".githooks\" ]; then git config --local core.hooksPath .githooks; else echo \"prepare: leaving existing core.hooksPath=$hp\"; fi' || true"4
lowObfuscationpackage/dist/plugin-loader.jsmatched "\\u2014"3

Manifest

Package metadata

Scripts20
  • buildnpm run lint && npm run sync:readme && npm run sync:docs && npm run clean && tsc && npm run build:plugins && npm run build:vendor && npm run copy-plugins && npm run copy-templates
  • build:pluginstsc -p tsconfig.plugins.json && node -e "require('fs').rmSync('dist/src',{recursive:true,force:true})"
  • build:vendoresbuild default-plugins/element-template/vendor-src/bundle-entry.js --bundle --format=cjs --platform=node --outfile=dist/vendor/bpmn-element-templates.cjs
  • cleannode -e "require('fs').rmSync('dist',{recursive:true,force:true})"
  • clinode src/index.ts
  • copy-pluginsnode -e "const fs=require('fs');const src='default-plugins';const dest='dist/default-plugins';if(fs.existsSync(src)){fs.cpSync(src,dest,{recursive:true,filter:(s)=>!s.endsWith('.ts')})}"
  • copy-templatesnode -e "const fs=require('fs');const src='src/templates';const dest='dist/templates';if(fs.existsSync(src)){fs.cpSync(src,dest,{recursive:true})}"
  • devnode src/index.ts
  • lintbiome check src/ tests/ scripts/ default-plugins/
  • lint:srcbiome check src/ scripts/
  • preparegit rev-parse --is-inside-work-tree >/dev/null 2>&1 && sh -c 'hp=$(git config --local --get core.hooksPath 2>/dev/null || true); if [ -z "$hp" ] || [ "$hp" = ".githooks" ]; then git config --local core.hooksPath .githooks; else echo "prepare: leaving existing core.hooksPath=$hp"; fi' || true
  • prepublishOnlynpm run build
  • sync:docsnode --experimental-strip-types scripts/sync-readme-commands.ts --docs
  • sync:docs:checknode --experimental-strip-types scripts/sync-readme-commands.ts --docs --check
  • sync:readmenode --experimental-strip-types scripts/sync-readme-commands.ts
  • sync:readme:checknode --experimental-strip-types scripts/sync-readme-commands.ts --check
  • testnpm run test:unit && npm run test:integration
  • test:integrationnpm run build:vendor && node --experimental-strip-types --experimental-test-isolation=none --test tests/integration/*.test.ts
  • test:unitnpm run build:vendor && node --experimental-strip-types --test tests/unit/*.test.ts
  • typechecktsc --noEmit -p tsconfig.check.json
Dependencies10
  • @bpmn-io/moddle-utils^0.3.0
  • @camunda8/orchestration-cluster-api^9.1.0
  • @modelcontextprotocol/sdk^1.29.0
  • bpmn-moddle^9.0.1
  • bpmnlint^11.6.1
  • bpmnlint-plugin-camunda-compat^2.43.1
  • feelin^6.2.0
  • ignore^7.0.5
  • semver^7.6.3
  • zeebe-bpmn-moddle^1.11.0