registry  /  @wix/editor-react-components  /  1.2333.0

@wix/editor-react-components@1.2333.0

React components for the Wix Editor

AI Security Review

scanned 7h ago · by lpm-firewall-ai

Rendering a Lottie animation can execute expression text embedded in its animation data. Remote animation JSON may be obtained from a caller-supplied URL.

Static reason
High-risk behavior combination matched malicious policy.
Trigger
Consumer renders the Lottie component with attacker-controlled animation data or animationUrl.
Impact
Arbitrary JavaScript may run in the consuming application's browser origin.
Mechanism
Browser-context eval of Lottie expression data.
Rationale
The package is not overtly malicious, but its default-enabled eval path over animation expression data is a concrete browser-side code-execution risk when animation input is untrusted.
Evidence
package.jsondist/site/components/Lottie/component.jsdist/site/components/chunks/Tooltip.js

Decision evidence

public snapshot
AI called this Suspicious at 91.0% confidence as Critical Vulnerability with medium false-positive risk.
Evidence for warning
  • `dist/site/components/Lottie/component.js` defaults `runExpressions` to true.
  • The Lottie expression path evaluates `data.x` with `eval`.
  • The component fetches caller-provided `animationUrl` JSON before rendering.
Evidence against
  • `package.json` has no install, preinstall, or postinstall hook.
  • No shipped Node filesystem, child-process, or shell imports found.
  • No credential harvesting, persistence, or fixed exfiltration endpoint found.
  • `Tooltip.js` bidi controls are intentional date/time directionality isolates.
Behavioral surface
Source
ChildProcessEnvironmentVarsEvalNetwork
Supply chain
HighEntropyStringsUrlStrings
ManifestNo manifest risk signals triggered.
scanned 320 file(s), 6.14 MB of source, external domains: aomedia.org, api.whatsapp.com, base-ui.com, editor.wix.com, facebook.com, fb.me, files.wix.com, github.com, maps.googleapis.com, pinterest.com, static.filesuser.com, static.parastorage.com, static.wixstatic.com, twitter.com, video.wixstatic.com, vimeo.com, visgl.github.io, www.facebook.com, www.google.com, www.instagram.com, www.linkedin.com, www.snapchat.com, www.tiktok.com, www.w3.org, www.wix.com, www.youtube.com

Source & flagged code

3 flagged · loading source
dist/site/components/Lottie/component.jsView file
13712var scoped_bm_rt; L13713: var expression_function = eval("[function _expression_function(){" + val + ";scoped_bm_rt=$bm_rt}]")[0]; L13714: var numKeys = property.kf ? data.k.length : 0;
Low
Eval

Package source references a known benign dynamic code generation pattern.

dist/site/components/Lottie/component.jsView on unpkg · L13712
dist/site/components/chunks/Tooltip.jsView file
7191contains invisible/control Unicode U+2066 (left-to-right isolate) text: "<U+2066>",
Critical
Trojan Source Unicode

Source contains bidi control or invisible Unicode characters associated with Trojan Source attacks.

dist/site/components/chunks/Tooltip.jsView on unpkg · L7191
dist/site/components/chunks/constants3.jsView file
61patternName = generic_password severity = medium line = 61 matchedText = password...rd",
Medium
Secret Pattern

Hardcoded password in dist/site/components/chunks/constants3.js

dist/site/components/chunks/constants3.jsView on unpkg · L61

Findings

1 Critical4 Medium4 Low
CriticalTrojan Source Unicodedist/site/components/chunks/Tooltip.js
MediumNetwork
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
MediumSecret Patterndist/site/components/chunks/constants3.js
LowScripts Present
LowEvaldist/site/components/Lottie/component.js
LowHigh Entropy Strings
LowUrl Strings