registry  /  @newrelic/preflight  /  1.4.23

@newrelic/preflight@1.4.23

New Relic MCP server for observing AI coding assistants (Claude Code, Cursor, Windsurf, Copilot, and more)

Static Scan Results

scanned 2h ago · by rust-scanner

Static analysis flagged 12 finding(s) at 72.0% confidence. This version is warn-only unless an AI or security-team review confirms malicious behavior.

Static reason
One or more suspicious static signals were detected.

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessCryptoEnvironmentVarsFilesystemNetworkShell
Supply chain
HighEntropyStringsMinifiedUrlStrings
ManifestNo manifest risk signals triggered.
scanned 146 file(s), 2.10 MB of source, external domains: 127.0.0.1, api.eu.newrelic.com, api.newrelic.com, aws.github.io, bit.ly, docs.windsurf.com, git-scm.com, github.com, hooks.slack.com, insights-collector.newrelic.com, newrelic.com, one.newrelic.com, otlp.nr-data.net, react.dev, redux-toolkit.js.org, redux.js.org, registry.npmjs.org, www.apple.com, www.w3.org

Source & flagged code

4 flagged · loading source
dist/install/schedule.jsView file
1import { execFileSync } from 'node:child_process'; L2: import { writeFileSync, readFileSync, existsSync, statSync, accessSync, constants, unlinkSync, mkdirSync, } from 'node:fs';
High
Child Process

Package source references child process execution.

dist/install/schedule.jsView on unpkg · L1
dist/install/platform.jsView file
75} L76: // Last resort: ask cmd.exe (requires WSL interop to be enabled). L77: // Pass the full command as one string after /c so cmd.exe expands %USERPROFILE%
High
Shell

Package source references shell execution.

dist/install/platform.jsView on unpkg · L75
dist/install/setup-wizard.jsView file
23try { L24: entryPoint = realpathSync(process.argv[1] ?? process.cwd()); L25: } ... L70: function print(msg = '') { L71: process.stdout.write(msg + '\n'); L72: } ... L75: try { L76: parsed = JSON.parse(readFileSync(CONFIG_PATH, 'utf-8')); L77: } ... L171: if (mode !== 'local') { L172: const envAccountId = process.env.NEW_RELIC_ACCOUNT_ID?.trim() ?? ''; L173: const existingAccountId = typeof existing.accountId === 'string' ? existing.accountId : '';
Medium
Install Persistence

Source writes installer persistence such as shell profile or service configuration.

dist/install/setup-wizard.jsView on unpkg · L23
dist/install/cli.jsView file
396print(' To update, reinstall using your package manager, e.g.:'); L397: print(' npm install -g @newrelic/preflight@latest'); L398: print(' pnpm add -g @newrelic/preflight@latest'); ... L403: print('→ git pull'); L404: execFileSync('git', ['pull'], { cwd: repoRoot, stdio: 'inherit' }); L405: }
High
Runtime Package Install

Package source invokes a package manager install command at runtime.

dist/install/cli.jsView on unpkg · L396

Findings

3 High4 Medium5 Low
HighChild Processdist/install/schedule.js
HighShelldist/install/platform.js
HighRuntime Package Installdist/install/cli.js
MediumNetwork
MediumEnvironment Vars
MediumInstall Persistencedist/install/setup-wizard.js
MediumStructural Risk Force Deep Review
LowNon Install Lifecycle Scripts
LowScripts Present
LowFilesystem
LowHigh Entropy Strings
LowUrl Strings