AI Security Review
scanned 6d ago · by lpm-firewall-aiNo confirmed malicious attack surface. Runtime behavior is a React workflow editor/viewer that calls caller-configured backend endpoints and stores a workflow draft key in browser localStorage.
Static reason
High-risk behavior combination matched malicious policy.
Trigger
Importing and rendering WorkflowComponents or WorkflowViewerComponents, then user save/publish/view actions.
Impact
No credential exfiltration, persistence, destructive action, or install-time execution identified.
Mechanism
package-aligned workflow API client and UI state persistence
Rationale
Static inspection shows a bundled React component library with axios requests to documented workflow endpoints under user-supplied baseUrl. Scanner hits are explained by bundled dependencies and package-aligned browser behavior, with no concrete malicious endpoint or install/import-time payload.
Evidence
package.jsonREADME.mddist/workflow-components.es.jsdist/workflow-components.umd.jsdist/index.d.tslocalStorage:startNode
Network endpoints6
/bpmn/approval/action/queryUserAndRoleData/bpmn/json/getBpmnJson/bpmn/process/queryBpmnJsonAndNodeStatus/bpmn/json/bizForm/bpmn/json/saveBpmnJson/bpmn/json/bpmnJsonToXml
Decision evidence
public snapshotAI called this Clean at 90.0% confidence as Benign with low false-positive risk.
Evidence for block
Evidence against
- package.json has no install/preinstall/postinstall lifecycle hooks; main/module point to dist bundles.
- dist/workflow-components.es.js exports React WorkflowComponents/WorkflowViewerComponents only.
- Network calls are axios POSTs to workflow API paths under caller-supplied baseUrl, matching README props.
- customHeaders are merged into requests but not harvested or sent to a hardcoded endpoint.
- localStorage usage is limited to startNode workflow draft cache; no broad file/env/credential collection found.
- Trojan-source scan for bidi/invisible Unicode in dist bundles returned no matches.
Behavioral surface
ChildProcessEnvironmentVarsNetwork
HighEntropyStringsMinifiedUrlStrings
NoLicense
Source & flagged code
2 flagged · loading sourcedist/workflow-components.es.jsView file
37606contains invisible/control Unicode U+200C (zero width non-joiner)
position: relative<U+200C>;
Critical
Trojan Source Unicode
Source contains bidi control or invisible Unicode characters associated with Trojan Source attacks.
dist/workflow-components.es.jsView on unpkg · L37606dist/workflow-components.umd.jsView file
•Trigger-reachable chain: manifest.main -> dist/workflow-components.umd.js
Reachable file contains a blocking source-risk pattern.
Critical
Trigger Reachable Dangerous Capability
A package entrypoint or install-time lifecycle script reaches a source file with blocking dangerous behavior.
dist/workflow-components.umd.jsView on unpkgFindings
2 Critical3 Medium4 Low
CriticalTrojan Source Unicodedist/workflow-components.es.js
CriticalTrigger Reachable Dangerous Capabilitydist/workflow-components.umd.js
MediumNetwork
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
LowScripts Present
LowHigh Entropy Strings
LowUrl Strings
LowNo License