registry  /  react-semaphor  /  0.1.424

react-semaphor@0.1.424

Fully interactive and customizable dashboards for your apps.

AI Security Review

scanned 3h ago · by lpm-firewall-ai

Review flagged AI-agent configuration or capability changes. This remains warn-only unless evidence shows foreign-agent hijack through preinstall/install/postinstall, hidden persistence, exfiltration, remote code execution, or other concrete malicious behavior.

Static reason
No blocking static signals were detected.
Trigger
Host application renders the Data App Builder in bridge mode while a local bridge is reachable.
Impact
A reachable trusted local bridge could receive credentials and perform workspace operations requested through the builder; the bridge implementation is not packaged here.
Mechanism
Browser POSTs authenticated project context and workspace instructions to a localhost bridge.
Rationale
Source inspection found no concrete malware, persistence, credential harvesting, or install-time mutation. The package nevertheless ships an enabled local-bridge and dynamic-code authoring capability, so it warrants a warning as dangerous dual-use functionality rather than a block.
Evidence
package.jsondist/data-app-builder/index.jsdist/chunks/index-Dzz6jXSY.jsdist/chunks/switch-DMT7qf_R.js
Network endpoints2
semaphor-data-app.localhost:8088localhost:8787

Decision evidence

public snapshot
AI called this Suspicious at 86.0% confidence as Dangerous Capability with medium false-positive risk.
Evidence for warning
  • `dist/data-app-builder/index.js` defaults to a local bridge at `http://localhost:8787` and a workspace path.
  • Rendering the builder POSTs access token and project context to `/runtime-context`.
  • Builder invokes local-bridge operations including source restore and `/publish-build`.
  • Dynamic visual/component loading uses `new Function` and URL-based `import()` in runtime chunks.
Evidence against
  • `package.json` has no preinstall, install, postinstall, prepare, or bin entry.
  • No Node child-process, filesystem, shell, or native-module imports were found in `dist`.
  • Network calls target configured Semaphor APIs or the explicit local bridge; no covert external endpoint was found.
  • Dynamic-code paths are dashboard/data-app authoring features, not install-time behavior.
Behavioral surface
Source
ChildProcessCryptoDynamicRequireEnvironmentVarsEvalNetwork
Supply chain
HighEntropyStringsMinifiedTelemetryUrlStrings
ManifestNo manifest risk signals triggered.
scanned 92 file(s), 4.61 MB of source, external domains: 127.0.0.1, bit.ly, docs.semaphor.cloud, drafts.csswg.org, github.com, semaphor-data-app.localhost, stackoverflow.com, tanstack.com, unpkg.com, www.chartjs.org, www.w3.org
Oversized source lightweight scan
dist/chunks/index-Dzz6jXSY.js4.79 MB file, sampled 256 KB
NetworkChildProcessEnvironmentVarsHighEntropyStringsUrlStringstanstack.com
dist/chunks/index-S1CGUcSz.js3.28 MB file, sampled 256 KB
NetworkChildProcessEnvironmentVarsHighEntropyStringsUrlStringstanstack.comwww.w3.org

Source & flagged code

5 flagged · loading source
dist/chunks/switch-DMT7qf_R.jsView file
136*/var t=function(n){var o=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,i=0,a={},s={manual:n.Prism&&n.Prism.manual,disableWorkerMessageHandler:n.Prism&&n.Prism.disableWorkerMessageHand... L137: `),b.hasAttribute("data-start")||b.setAttribute("data-start",String(T+1))}S.textContent=I,t.highlightElement(S)},function(I){b.setAttribute(s,u),S.textContent=I})}}),t.plugins.file... L138: `).length,[e]),b=Math.max(2,String(m).length),S=le.useId(),g=h??S,y=u??c;return x.jsxs("div",{className:`code-editor relative h-full min-h-0 overflow-auto font-mono text-[12px] lea...
High
Child Process

Package source references child process execution.

dist/chunks/switch-DMT7qf_R.jsView on unpkg · L136
1"use strict";const ve=require("./x-B6ghREd2.js"),x=require("react/jsx-runtime"),le=require("react");require("./analyze-result-contract-DpDcImgk.js");const pl=require("react-dom"),u... L2: `),o=n.findIndex(a=>a.includes("api.setState"));if(o<0)return;const i=((r=n[o+1])==null?void 0:r.trim())||"";return(t=/.+ (.+) .+/.exec(i))==null?void 0:t[1]},Gp=(e,r={})=>(t,n,o)=... ... L6: `);const g=S.state[s];if(g==null)return;JSON.stringify(o.getState())!==JSON.stringify(g)&&h(g);return}o.dispatchFromDevtools&&typeof o.dispatch=="function"&&o.dispatch(S)});case"DI... L7: `;)t+=1;return t}function pc(e,r){let t=r+2;for(;t<e.length-1;){if(e[t]==="*"&&e[t+1]==="/")return t+1;t+=1}return e.length-1}function mc(e,r,t,n){let o=1,i=r+1;for(;i<e.length;){c... L8: * @license lucide-react v0.453.0 - ISC
High
Same File Env Network Execution

A single source file combines environment access, network access, and code or shell execution; review context before blocking.

dist/chunks/switch-DMT7qf_R.jsView on unpkg · L1
6`);const g=S.state[s];if(g==null)return;JSON.stringify(o.getState())!==JSON.stringify(g)&&h(g);return}o.dispatchFromDevtools&&typeof o.dispatch=="function"&&o.dispatch(S)});case"DI... L7: `;)t+=1;return t}function pc(e,r){let t=r+2;for(;t<e.length-1;){if(e[t]==="*"&&e[t+1]==="/")return t+1;t+=1}return e.length-1}function mc(e,r,t,n){let o=1,i=r+1;for(;i<e.length;){c... L8: * @license lucide-react v0.453.0 - ISC
Low
Eval

Package source references a known benign dynamic code generation pattern.

dist/chunks/switch-DMT7qf_R.jsView on unpkg · L6
dist/types/index.cjsView file
1"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../chunks/common-types-C73-Ud1-.js"),a={mode:"all"},E={tz:"UTC",weekStart:1,anchor:...
Medium
Dynamic Require

Package source references dynamic require/import behavior.

dist/types/index.cjsView on unpkg · L1
dist/chunks/index-Dzz6jXSY.jsView file
path = dist/chunks/index-Dzz6jXSY.js kind = oversized_source_file sizeBytes = 5021897 magicHex = [redacted]
High
Oversized Source File

Package contains source files above the static scanner size ceiling.

dist/chunks/index-Dzz6jXSY.jsView on unpkg

Findings

3 High4 Medium5 Low
HighChild Processdist/chunks/switch-DMT7qf_R.js
HighSame File Env Network Executiondist/chunks/switch-DMT7qf_R.js
HighOversized Source Filedist/chunks/index-Dzz6jXSY.js
MediumDynamic Requiredist/types/index.cjs
MediumNetwork
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
LowScripts Present
LowEvaldist/chunks/switch-DMT7qf_R.js
LowHigh Entropy Strings
LowTelemetry
LowUrl Strings