Skip to main content
Scans/npm/chromatic

chromatic

npm

Share

Summary

chromatic v15.3.1 was classified as CRITICAL RISK with a risk score of 4070. Sigil detected 270 findings across 28 files, covering phases including code patterns, obfuscation, install hooks, credential access. Review the findings below before installing this package.

CRITICAL RISK(4070)

v15.3.1

23 March 2026, 16:18 UTC

by Sigil Bot

Risk Score

4070

Findings

270

Files Scanned

28

Provenance

Findings by Phase

Phase Ordering

Phases are ordered by criticality, with the most dangerous at the top. Click any phase header to expand or collapse its findings. Critical phases are expanded by default.

install-pip-setup-exec

CRITICAL

setup.py executes code at install time

package/dist/chunk-GSFOH2OF.js:301

$1`).replace(/^│\n/,"")),i>=2)for(let A=0;A<2;++A)o=o.replace(/^([│ ].{2}[├│ ].{2}[^\n]+\n)(([│ ]).{2}[├└].{2}[^\n]*\n[│ ].{2}[│ ].{2}[├└]─)/gm,`$1$3  \u2502
$2`).replace(/^│\n/,"");if(i>=3)throw new Error("Only the first two levels are accepted by treeUtils.emitTree");r.write(o);}Xa.emitTree=Rme;});var Ome=chunkTKGT252T_js.c(JD=>{Object.defineProperty(JD,"__esModule",{value:!0});JD.Cache=void 0;var $D=(Gr(),chunkTKGT252T_js.f(Yr)),qD=Sn(),gi=Sn(),Evt=U_(),Nme=$D.__importDefault(chunkTKGT252T_js
Why was this flagged?

This setup.py calls subprocess, os.system, exec, or eval during package installation. Legitimate packages rarely need to execute arbitrary commands at install time. This pattern is commonly used by malicious packages to download and run payloads, exfiltrate environment variables, or establish persistence. Rated CRITICAL because it runs with the installer's full permissions.

install-pip-setup-exec

CRITICAL

setup.py executes code at install time

package/dist/chunk-GSFOH2OF.js:312

`)+`
`}function wSt(e,t,r,n,i,s){return g0e(e,e,t,r,n,i,s)}function QSt(e,t){return e.length!==t.length?!1:cH(e,t)}function cH(e,t){if(t.length>e.length)return !1;for(var r=0;r<t.length;r++)if(t[r]!==e[r])return !1;return !0}function vSt(e){var t=uH(e.lines),r=t.oldLines,n=t.newLines;r!==void 0?e.oldLines=r:delete e.oldLines,n!==void 0?e.newLines=n:delete e.newLines;}function SSt(e,t,r){e=Zme(e,r),t=Zme(t,r);var n={};(e.index||t.index)&&(n.index=e.index||t.index),(e.newFileName||t.newFileName)&&
Why was this flagged?

This setup.py calls subprocess, os.system, exec, or eval during package installation. Legitimate packages rarely need to execute arbitrary commands at install time. This pattern is commonly used by malicious packages to download and run payloads, exfiltrate environment variables, or establish persistence. Rated CRITICAL because it runs with the installer's full permissions.

install-pip-setup-exec

CRITICAL

setup.py executes code at install time

package/dist/chunk-YUS5X2KU.js:336

  ${l.join(`
  `)}`);}function n0(e){if(!Tt)return;let{description:t="< unknown name >",op:r="< unknown op >"}=Ht(e),{spanId:n}=e.spanContext(),s=_n(e)===e,a=`[Tracing] Finishing "${r}" ${s?"root ":""}span "${t}" with ID ${n}`;ce.log(a);}function gP(e){if(typeof e=="boolean")return Number(e);let t=typeof e=="string"?parseFloat(e):e;if(typeof t!="number"||isNaN(t)||t<0||t>1){Tt&&ce.warn(`[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.
Why was this flagged?

This setup.py calls subprocess, os.system, exec, or eval during package installation. Legitimate packages rarely need to execute arbitrary commands at install time. This pattern is commonly used by malicious packages to download and run payloads, exfiltrate environment variables, or establish persistence. Rated CRITICAL because it runs with the installer's full permissions.

install-pip-setup-exec

CRITICAL

setup.py executes code at install time

package/dist/chunk-YUS5X2KU.js:345

Event: ${Fl(e)}.
Url: ${xP(e)}`),!0)}function Ntt(e,t){return e.type||!t||!t.length?!1:ktt(e).some(r=>bp(r,t))}function Rtt(e,t){if(e.type!=="transaction"||!t||!t.length)return !1;let r=e.transaction;return r?bp(r,t):!1}function Mtt(e,t){if(!t||!t.length)return !1;let r=xP(e);return r?bp(r,t):!1}function Ltt(e,t){if(!t||!t.length)return !0;let r=xP(e);return r?bp(r,t):!0}function ktt(e){let t=[];e.message&&t.push(e.message);let r;try{r=e.exception.values[e.exception.values.length-1];}catch{}retu
Why was this flagged?

This setup.py calls subprocess, os.system, exec, or eval during package installation. Legitimate packages rarely need to execute arbitrary commands at install time. This pattern is commonly used by malicious packages to download and run payloads, exfiltrate environment variables, or establish persistence. Rated CRITICAL because it runs with the installer's full permissions.

Badge

Sigil scan badge for npm/chromatic

Markdown

[![Sigil Scan](https://sigilsec.ai/badge/npm/chromatic)](https://sigilsec.ai/scans/D929FC50-EAE2-4122-AD36-B3AE68DDBDAD)

HTML

<a href="https://sigilsec.ai/scans/D929FC50-EAE2-4122-AD36-B3AE68DDBDAD"><img src="https://sigilsec.ai/badge/npm/chromatic" alt="Sigil Scan"></a>

Run This Scan Yourself

Scan your own packages

Run Sigil locally to audit any package before it touches your codebase.

curl -sSL https://sigilsec.ai/install.sh | sh
Read the docs →Free. Apache 2.0.

Early Access

Get cloud scanning, threat intel, and CI/CD integration.

Join 150+ developers on the waitlist.

Get threat intelligence and product updates

Security research, new threat signatures, and product updates. No spam.

Other npm scans

Believe this result is incorrect? Request a review or see our Terms of Service and Methodology.

Scanned bySigil Bot