AI Security Review
scanned 2d ago · by lpm-firewall-aiNo confirmed malicious attack surface. The package is a headless Elyx editor client that contacts Elyx service endpoints when users instantiate/setup the editor or run export/test helper CLIs.
Static reason
One or more suspicious static signals were detected.
Trigger
Runtime use of Editor methods or explicit export/create-test CLI execution with project credentials.
Impact
Authenticated project data may be fetched/exported to a user-selected local path by intended commands; no unconsented install-time behavior found.
Mechanism
package-aligned API/websocket client and explicit file export helpers
Rationale
Static inspection found suspicious-looking network, token, and key patterns, but they are consistent with an authenticated editor SDK and explicit export tooling, with no lifecycle hooks or covert execution path. No credential harvesting, exfiltration to unrelated hosts, persistence, destructive behavior, or AI-agent control mutation was found.
Evidence
package.jsondist/config.jsdist/index.jsdist/export-project.jsdist/export-project-cli.jsdist/create-test-cli.jsdist/modules/uuid.jsdist/test-instance.jsdist/export-project.js writes exported JSON to options.outDir/default repo rootdist/create-test-cli.js writes generated test boilerplate to options.outDir/default project-logic-tree path
Network endpoints10
api.dev.elyx.techws.dev.elyx.techapi.staging.elyx.techwss://ws.staging.elyx.techapi.elyx.techwss://ws.elyx.techintegrations.dev.elyx.techconnect.dev.elyx.techintegrations.elyx.techconnect.elyx.tech
Decision evidence
public snapshotAI called this Clean at 91.0% confidence as Benign with low false-positive risk.
Evidence for block
- dist/config.js embeds public service configuration including Stripe publishable keys, Cognito client IDs, and a Google Picker API key.
- dist/export-project.js and dist/create-test-cli.js can write exported project/test files when explicitly invoked with credentials.
Evidence against
- package.json has no preinstall/install/postinstall hooks and no bin entries.
- dist/index.js exports Editor/ProjectFetch classes; network calls occur from constructors/setup/methods for the declared headless editor client.
- Network use is package-aligned: Elyx API/websocket/publishing endpoints and configured S3/Stripe/Nango URLs in dist/config.js.
- No child_process, eval/vm/Function, native binary loading, persistence, destructive filesystem actions, or AI-agent control-surface writes found.
- Environment variables are limited to APP_ENV and explicit JWT/user/npm config inputs for user-run export/test tooling.
- Filesystem writes are explicit CLI outputs via fs.writeFileSync/mkdirSync, not install-time or import-time behavior.
Behavioral surface
EnvironmentVarsFilesystemNetwork
HighEntropyStringsUrlStrings
Source & flagged code
4 flagged · loading sourcedist/config.jsView file
40patternName = google_api_key
severity = high
line = 40
matchedText = GOOGLE_P...EA',
High
40patternName = google_api_key
severity = high
line = 40
matchedText = GOOGLE_P...EA',
High
76patternName = google_api_key
severity = high
line = 76
matchedText = GOOGLE_P...EA',
High
111patternName = google_api_key
severity = high
line = 111
matchedText = GOOGLE_P...EA',
High
Findings
4 High2 Medium4 Low
HighHigh Secretdist/config.js
HighSecret Patterndist/config.js
HighSecret Patterndist/config.js
HighSecret Patterndist/config.js
MediumNetwork
MediumEnvironment Vars
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings