Loading npm security reports…
wind-agent-cli: AI-agent control-surface risk | LPM Firewall
Soft block: AI-agent control surface
Warn by default; block when configured. Changes Codex SDK process behavior without the consumer choosing or reviewing the modification.
wind-agent-cli A local-first web interface for AI coding agents
This report shows the evidence for wind-agent-cli@1.40.0 . 3 of 25 known versions are blocked or flagged. The newest version, 1.47.4, is allowed. See all versions .
AI Security Reviewscanned 1mo ago · by lpm-firewall-ai The package has a concrete automatic install hook that modifies a foreign AI-agent SDK. Its narrow Windows scope reduces impact but does not establish user consent for the mutation.
Static reason
High-risk behavior combination matched malicious policy.; source matched previously finalized malicious package; routed for review
Trigger
npm installation on Windows
Impact
Changes Codex SDK process behavior without the consumer choosing or reviewing the modification.
Mechanism
Post-install patching of a foreign AI-agent SDK
Policy narrative
During npm installation, the package runs its Codex SDK patch script. On Windows it opens the installed @openai/codex-sdk entry file, injects a windowsHide option into its spawn call, and writes the altered source back. This changes a foreign AI-agent dependency automatically and makes its subprocess activity less visible.
AI rationale
The package has a concrete automatic install hook that modifies a foreign AI-agent SDK. Its narrow Windows scope reduces impact but does not establish user consent for the mutation.
Evidence
package.json scripts/fix-codex-sdk-windows-hide.js node_modules/@openai/codex-sdk/dist/index.js
Decision evidencepublic snapshot AI identified this as a dangerous AI-agent capability at 91.0% confidence with low false-positive risk.
Evidence for policy risk
The install lifecycle automatically runs a script that modifies the OpenAI Codex SDK. On Windows, that script locates the SDK entry file, inserts a hidden-window option into its subprocess launch, and overwrites the foreign dependency. This is unconsented post-install mutation of an AI-agent control dependency. Evidence against
The modification is limited to Windows and a specific spawn pattern. The inspected installer contains no credential collection or network transmission. Behavioral surface
Source ChildProcess Crypto DynamicRequire EnvironmentVars Eval Filesystem Network Shell WebSocket
Supply chain HighEntropyStrings Minified PossibleObfuscation Protestware Telemetry UrlStrings
Source & flagged code38 flagged · loading source • scripts.postinstall = node scripts/fix-node-pty.js && node scripts/fix-codex-sdk-windows-hide.js
High Install Time Lifecycle Scripts
Package defines install-time lifecycle scripts.
package.json View on unpkg • scripts.postinstall = node scripts/fix-node-pty.js && node scripts/fix-codex-sdk-windows-hide.js
Medium Ambiguous Install Lifecycle Script
Install-time lifecycle script is not statically allowlisted and needs review.
package.json View on unpkg 2 patternName = github_pat
severity = critical
line = 2
Critical Critical Secret
Package contains a critical-looking secret pattern.
dist/assets/index-mM_mjquP.js View on unpkg · L2 Findings9 Critical 19 High 13 Medium 9 Low
Critical Critical Secret dist/assets/index-mM_mjquP.js
Critical Secret Pattern dist/assets/index-mM_mjquP.js
Critical Secret Pattern dist/assets/index-mM_mjquP.js
Critical Secret Pattern dist/assets/index-mM_mjquP.js
Critical Secret Pattern dist/assets/index-mM_mjquP.js
Critical Secret Pattern dist/assets/index-mM_mjquP.js
Critical Secret Pattern dist/assets/index-mM_mjquP.js
Critical Secret Pattern dist/assets/index-mM_mjquP.js
Critical Secret Pattern dist/assets/index-mM_mjquP.js
High Install Time Lifecycle Scripts package.json
High Child Process dist-server/server/shared/claude-cli-path.js
Affected versions and remediation This report applies to wind-agent-cli@1.40.0 .
The versions list below shows the verdict for each recorded version.
Avoid installing wind-agent-cli@1.40.0. Remove it from direct dependencies and check your lockfile for transitive copies. Choose an independently verified alternative or release. This report does not establish that other versions are safe. If this version ran, investigate the affected machine and build environment. Rotate credentials it could access and rebuild from a trusted environment. Evidence last updated: 2026-09-11 04:19:56.618Z (UTC) .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced .
Versions 25 known versions CopyleftLicense
scanned 654 file(s), 10.0 MB of source, external domains: 127.0.0.1, 169.254.169.254, api-gateway.cloudcli.ai, api.example.com, api.exemple.com, api.github.com, api.openai.com, bit.ly, chevrotain.io, cloudcli.ai, cloudcli.example, codex.example.com, cursor.com, data-pipeline.cloudcli.ai, developer.mozilla.org, docs.anthropic.com, docs.docker.com, en.wikipedia.org, example.com, fb.me, github.com, github.com.evil.example, global.example.com, langium.org, ml-trainer.cloudcli.ai, opencode.ai, opencode.example.com, push.example.test, radix-ui.com, reactjs.org, stuk.github.io, taskmaster.example.test, voice.example, web-frontend.cloudcli.ai, www.w3.org
2 patternName = github_pat
severity = critical
line = 2
Critical Secret Pattern
GitHub personal access token in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L2 5 patternName = github_pat
severity = critical
line = 5
Critical Secret Pattern
GitHub personal access token in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L5 8 patternName = github_pat
severity = critical
line = 8
Critical Secret Pattern
GitHub personal access token in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L8 11 patternName = github_pat
severity = critical
line = 11
Critical Secret Pattern
GitHub personal access token in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L11 14 patternName = github_pat
severity = critical
line = 14
Critical Secret Pattern
GitHub personal access token in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L14 17 patternName = github_pat
severity = critical
line = 17
Critical Secret Pattern
GitHub personal access token in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L17 20 patternName = github_pat
severity = critical
line = 20
Critical Secret Pattern
GitHub personal access token in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L20 23 patternName = github_pat
severity = critical
line = 23
Critical Secret Pattern
GitHub personal access token in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L23 2 patternName = generic_password
severity = medium
line = 2
Medium Secret Pattern
Hardcoded password in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L2 5 patternName = generic_password
severity = medium
line = 5
Medium Secret Pattern
Hardcoded password in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L5 8 patternName = generic_password
severity = medium
line = 8
Medium Secret Pattern
Hardcoded password in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L8 11 patternName = generic_password
severity = medium
line = 11
Medium Secret Pattern
Hardcoded password in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L11 17 patternName = generic_password
severity = medium
line = 17
Medium Secret Pattern
Hardcoded password in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L17 20 patternName = generic_password
severity = medium
line = 20
Medium Secret Pattern
Hardcoded password in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L20 dist-server/server/shared/claude-cli-path.js View file 1 import { execFileSync } from 'node:child_process';
L2: import fs from 'node:fs';
High Child Process
Package source references child process execution.
dist-server/server/shared/claude-cli-path.js View on unpkg · L1 3 `+gt),tt&&(gt=_e(gt)),R&&Zt?P(gt):gt},K.setConfig=function(){let X=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};xe(X),At=!0,Ft=t,Tt=x},K.clearConfig=function(){Jt=null...
L4: \0`,Y+=u(z,2),Y+=B.magic,Y+=u(v,2),Y+=u(T,2),Y+=u(it.crc32,4),Y+=u(it.compressedSize,4),Y+=u(it.uncompressedSize,4),Y+=u(W.length,2),Y+=u(P.length,2),{fileRecord:g.LOCAL_FILE_HEADE...
Low Eval
Package source references a known benign dynamic code generation pattern.
dist/assets/vendor-data-DsEZeNPr.js View on unpkg · L3 dist-server/server/modules/auth/auth.module.js View file 7 // composition root narrows its CommonJS runtime surface before injecting it.
L8: const require = createRequire(import.meta.url);
L9: const bcrypt = require('bcrypt');
Medium Dynamic Require
Package source references dynamic require/import behavior.
dist-server/server/modules/auth/auth.module.js View on unpkg · L7 dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js View file 106 try {
L107: return JSON.parse(trimmed);
L108: }
...
L172: const { default: Database } = await import('better-sqlite3');
L173: const cwdId = crypto.createHash('md5').update(projectPath || process.cwd()).digest('hex');
L174: const safeSessionId = sanitizeLeafDirectoryName(sessionId, 'cursor session id');
Low Weak Crypto
Package source references weak cryptographic algorithms.
dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js View on unpkg · L106 6 Manifest entrypoint (manifest.main) carries capability families absent from dist/build output: environment+network
L6: import os from 'os';
L7: import http from 'http';
L8: import express from 'express';
...
L37: import { configureWebPush } from './modules/notifications/index.js';
L38: const __dirname = getModuleDirectory(import.meta.url);
L39: // The server source runs from /server, while the compiled output runs from /dist-server/server.
...
L43: // Version of the code that is actually running, captured once at process
L44: // startup. This intentionally does NOT re-read package.json per request: after
L45: // an update replaces the files on disk, package.json reflects the NEW version
...
L50: try {
L51: return JSON.parse(fs.readFileSync(path.join(APP_ROOT, 'package.json'), 'utf8')).vers
High Entrypoint Build Divergence
Manifest entrypoint contains risky behavior absent from dist/build output.
dist-server/server/index.js View on unpkg · L6 1 import { app, BrowserWindow, clipboard, dialog, ipcMain, session, shell } from 'electron';
L2: import { spawn } from 'node:child_process';
L3: import path from 'node:path';
...
L11:
L12: const __dirname = path.dirname(fileURLToPath(import.meta.url));
L13:
...
L17: const CALLBACK_URL = `${CALLBACK_PROTOCOL}://auth/callback`;
L18: const CLOUDCLI_CONTROL_PLANE_URL = process.env.CLOUDCLI_CONTROL_PLANE_URL || 'https://cloudcli.ai';
L19: const REMOTE_START_TIMEOUT_MS = 30000;
...
L23:
L24: if (process.platform === 'win32') {
L25: app.setAppUserModelId(APP_USER_MODEL_ID);
High Sandbox Evasion Gated Capability
Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.
electron/main.js View on unpkg · L1 • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = electron/main.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
electron/main.js View on unpkg 1 Detached bundled service listener: electron/localServer.js spawns dist-server/server/index.js; helper exposes a broad-bound HTTP listener.
L1: import { spawn } from 'node:child_process';
L2: import fs from 'node:fs/promises';
L3: import http from 'node:http';
L4: import net from 'node:net';
...
L15: const MAX_STARTUP_LOG_LINES = 300;
L16: const SERVER_MARKER_PATH = path.join(os.homedir(), '.cloudcli', 'local-server.json');
L17: const LOCAL_SERVER_URL_ENV_KEYS = [
...
L41: ok: res.statusCode >= 200 && res.statusCode < 300,
L42: json: JSON.parse(body),
L43: });
...
L99: function getDesktopPath() {
L100: const currentPath = process.env.PATH || '';
High Spawned Bundled Service Listener
Source launches a detached bundled service that exposes a broad-bound HTTP listener.
electron/localServer.js View on unpkg · L1 • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = electron/localServer.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
electron/localServer.js View on unpkg • path = scripts/generate-pwa-icons.ps1
kind = build_helper
sizeBytes = 1294
magicHex = [redacted]
Medium Ships Build Helper
Package ships non-JavaScript build or shell helper files.
scripts/generate-pwa-icons.ps1 View on unpkg dist-server/scripts/fix-codex-sdk-windows-hide.js View file • stage = ast_semantic_analysis; reason = ast_alias_growth_limit_exceeded; limitedFiles = 18
High Semantic Analysis Limited
A bounded semantic-analysis stage reached its safety limit; remaining detectors completed, but this package requires AI review.
dist-server/scripts/fix-codex-sdk-windows-hide.js View on unpkg • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = dist-server/scripts/fix-codex-sdk-windows-hide.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist-server/scripts/fix-codex-sdk-windows-hide.js View on unpkg dist-server/server/modules/browser-use/browser-use.service.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = dist-server/server/modules/browser-use/browser-use.service.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist-server/server/modules/browser-use/browser-use.service.js View on unpkg • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = electron/serverInstaller.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
electron/serverInstaller.js View on unpkg scripts/release/build-server-bundle.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = scripts/release/build-server-bundle.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
scripts/release/build-server-bundle.js View on unpkg dist-server/server/modules/agent/agent.routes.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = dist-[redacted].routes.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist-server/server/modules/agent/agent.routes.js View on unpkg dist-server/server/modules/cli/cli.module.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = dist-server/server/modules/cli/cli.module.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist-server/server/modules/cli/cli.module.js View on unpkg scripts/fix-codex-sdk-windows-hide.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = scripts/fix-codex-sdk-windows-hide.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
scripts/fix-codex-sdk-windows-hide.js View on unpkg server/modules/agent/agent.routes.ts View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = server/modules/agent/agent.routes.ts
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
server/modules/agent/agent.routes.ts View on unpkg dist-server/server/modules/database/connection.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = dist-[redacted].js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist-server/server/modules/database/connection.js View on unpkg dist-server/server/modules/database/tests/provider-models.db.integration.test.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = dist-[redacted]-models.db.integration.test.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist-server/server/modules/database/tests/provider-models.db.integration.test.js View on unpkg High
Shell
High Entrypoint Build Divergence dist-server/server/index.js
High Sandbox Evasion Gated Capability electron/main.js
High Spawned Bundled Service Listener electron/localServer.js
High Semantic Analysis Limited dist-server/scripts/fix-codex-sdk-windows-hide.js
High Known Malware Source Similarity dist-server/server/modules/browser-use/browser-use.service.js
High Known Malware Source Similarity electron/localServer.js
High Known Malware Source Similarity electron/serverInstaller.js
High Known Malware Source Similarity electron/main.js
High Known Malware Source Similarity scripts/release/build-server-bundle.js
High Known Malware Source Similarity dist-server/scripts/fix-codex-sdk-windows-hide.js
High Known Malware Source Similarity dist-server/server/modules/agent/agent.routes.js
High Known Malware Source Similarity dist-server/server/modules/cli/cli.module.js
High Known Malware Source Similarity scripts/fix-codex-sdk-windows-hide.js
High Known Malware Source Similarity server/modules/agent/agent.routes.ts
High Known Malware Source Similarity dist-server/server/modules/database/connection.js
High Known Malware Source Similarity dist-server/server/modules/database/tests/provider-models.db.integration.test.js
Medium Ambiguous Install Lifecycle Script package.json
Medium Dynamic Require dist-server/server/modules/auth/auth.module.js
Medium Ships Build Helper scripts/generate-pwa-icons.ps1
Medium Structural Risk Force Deep Review
Medium Secret Pattern dist/assets/index-mM_mjquP.js
Medium Secret Pattern dist/assets/index-mM_mjquP.js
Medium Secret Pattern dist/assets/index-mM_mjquP.js
Medium Secret Pattern dist/assets/index-mM_mjquP.js
Medium Secret Pattern dist/assets/index-mM_mjquP.js
Medium Secret Pattern dist/assets/index-mM_mjquP.js
Low Non Install Lifecycle Scripts
Low Eval dist/assets/vendor-data-DsEZeNPr.js
Low Weak Crypto dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js
Runtime surface package.json Entrypoints main → dist-server/server/index.js bin → wacli
Runtime node >=22
Artifact 30.8 MB · 1,054 files 1 signature(s)
Install lifecycle postinstall prepare prepublishOnly
Behavioral surface ChildProcess Crypto DynamicRequire EnvironmentVars Eval Filesystem Network Shell WebSocket HighEntropyStrings Minified PossibleObfuscation Protestware Telemetry UrlStrings CopyleftLicense
Source & flagged code38 flagged Lines 44-84 json
44 "desktop:stage" : "node scripts/release/prepare-desktop-app.js" ,
45 "desktop:pack" : "npm run build && npm run desktop:stage && electron-builder --projectDir .desktop-build/desktop-app --dir" ,
46 "desktop:dist:mac" : "npm run build && npm run desktop:stage && electron-builder --projectDir .desktop-build/desktop-app --mac dmg" ,
47 "desktop:dist:win" : "npm run build && npm run desktop:stage && electron-builder --projectDir .desktop-build/desktop-app --win nsis" ,
48 "server:bundle" : "npm run build && node scripts/release/build-server-bundle.js" ,
49 "desktop:icon:mac" : "node electron/scripts/generate-macos-icon.js" ,
50 "build" : "npm run build:client && npm run build:server" ,
51 "build:client" : "node scripts/build-client.mjs && node scripts/verify-pwa-build.mjs" ,
52 "prebuild:server" : "node -e \" require('node:fs').rmSync('dist-server.next', { recursive: true, force: true }) \" " ,
53 "build:server" : "tsc -p server/tsconfig.json && tsc-alias -p server/tsconfig.json" ,
54 "postbuild:server" : "node scripts/promote-dist-server.mjs" ,
55 "preview" : "vite preview" ,
56 "typecheck" : "tsc --noEmit -p tsconfig.json && tsc --noEmit -p server/tsconfig.json" ,
57 "test" : "tsx --tsconfig server/tsconfig.json --test \" server/**/*.test.ts \" \" server/**/*.test.js \" " ,
58 "test:client" : "tsx --test \" src/**/*.test.ts \" \" src/**/*.test.tsx \" " ,
59 "lint" : "eslint src/ server/ --max-warnings=0" ,
60 "lint:fix" : "eslint src/ server/ --fix" ,
61 "start" : "npm run build && npm run server" ,
62 "release" : "./release.sh" ,
63 "prepublishOnly" : "npm run build" ,
64 "postinstall" : "node scripts/fix-node-pty.js && node scripts/fix-codex-sdk-windows-hide.js" ,
High Install Time Lifecycle Scripts
Package defines install-time lifecycle scripts.
package.json View on unpkg · L64 Medium Ambiguous Install Lifecycle Script
Install-time lifecycle script is not statically allowlisted and needs review.
package.json View on unpkg · L64 66 "update:platform" : "./update-platform.sh" ,
67 "audit:production" : "npm audit --omit=dev --audit-level=low" ,
68 "audit:all" : "npm audit --audit-level=low"
71 "appId" : "ai.cloudcli.desktop" ,
72 "productName" : "WindCli" ,
74 "artifactName" : "windcli-desktop-${version}-${os}-${arch}.${ext}" ,
76 "output" : "release/desktop"
79 "main" : "electron/main.js"
2 patternName = github_pat
severity = critical
line = 2
Critical Critical Secret
Package contains a critical-looking secret pattern.
dist/assets/index-mM_mjquP.js View on unpkg · L2 2 patternName = github_pat
severity = critical
line = 2
Critical Secret Pattern
GitHub personal access token in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L2 5 patternName = github_pat
severity = critical
line = 5
Critical Secret Pattern
GitHub personal access token in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L5 8 patternName = github_pat
severity = critical
line = 8
Critical Secret Pattern
GitHub personal access token in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L8
dist-server/server/shared/claude-cli-path.js View file Lines 1-21 javascript
1 import { execFileSync } from 'node:child_process' ;
2 import fs from 'node:fs' ;
High Child Process
Package source references child process execution.
dist-server/server/shared/claude-cli-path.js View on unpkg · L1 3 import path from 'node:path' ;
Lines 1-5 javascript
1 import {e as we,g as jr} from "./vendor-react-C2GTiUCy.js" ; function ar ( j , K ){( K == null || K > j. length ) && ( K
dist-server/server/modules/auth/auth.module.js View file Lines 1-27 javascript
1 import { createRequire } from 'node:module' ;
2 import { getConnection, userDb } from '../../modules/database/index.js' ;
3 import { authenticateToken, generateToken } from './auth.middleware.js' ;
4 import { createAuthRouter } from
dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js View file Lines 1-26 javascript
2 // Load environment variables before other imports execute.
4 import fs, { promises as fsPromises } from 'fs' ;
5 import path from 'path' ;
1 import { app, BrowserWindow, clipboard, dialog, ipcMain, session, shell } from 'electron';
L2: import { spawn } from 'node:child_process';
L3: import path from 'node:path';
...
L11:
L12: const __dirname = path.dirname(fileURLToPath(import.meta.url));
L13:
...
L17: const CALLBACK_URL = `${CALLBACK_PROTOCOL}://auth/callback`;
L18: const CLOUDCLI_CONTROL_PLANE_URL = process.env.CLOUDCLI_CONTROL_PLANE_URL || 'https://cloudcli.ai';
L19: const REMOTE_START_TIMEOUT_MS = 30000;
...
L23:
L24: if (process.platform === 'win32') {
L25: app.setAppUserModelId(APP_USER_MODEL_ID);
High Sandbox Evasion Gated Capability
Source gates dangerous network, credential, or execution behavior behind CI, host, platform, time, or geo fingerprint checks.
electron/main.js View on unpkg · L1 • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = electron/main.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
electron/main.js View on unpkg 1 Detached bundled service listener: electron/localServer.js spawns dist-server/server/index.js; helper exposes a broad-bound HTTP listener.
L1: import { spawn } from 'node:child_process';
L2: import fs from 'node:fs/promises';
L3: import http from 'node:http';
L4: import net from 'node:net';
...
L15: const MAX_STARTUP_LOG_LINES = 300;
L16: const SERVER_MARKER_PATH = path.join(os.homedir(), '.cloudcli', 'local-server.json');
L17: const LOCAL_SERVER_URL_ENV_KEYS = [
...
L41: ok: res.statusCode >= 200 && res.statusCode < 300,
L42: json: JSON.parse(body),
L43: });
...
L99: function getDesktopPath() {
L100: const currentPath = process.env.PATH || '';
High Spawned Bundled Service Listener
Source launches a detached bundled service that exposes a broad-bound HTTP listener.
electron/localServer.js View on unpkg · L1 • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = electron/localServer.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
electron/localServer.js View on unpkg • path = scripts/generate-pwa-icons.ps1
kind = build_helper
sizeBytes = 1294
magicHex = [redacted]
Medium Ships Build Helper
Package ships non-JavaScript build or shell helper files.
scripts/generate-pwa-icons.ps1 View on unpkg dist-server/scripts/fix-codex-sdk-windows-hide.js View file • stage = ast_semantic_analysis; reason = ast_alias_growth_limit_exceeded; limitedFiles = 18
High Semantic Analysis Limited
A bounded semantic-analysis stage reached its safety limit; remaining detectors completed, but this package requires AI review.
dist-server/scripts/fix-codex-sdk-windows-hide.js View on unpkg • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = dist-server/scripts/fix-codex-sdk-windows-hide.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist-server/scripts/fix-codex-sdk-windows-hide.js View on unpkg dist-server/server/modules/browser-use/browser-use.service.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = dist-server/server/modules/browser-use/browser-use.service.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist-server/server/modules/browser-use/browser-use.service.js View on unpkg • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = electron/serverInstaller.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
electron/serverInstaller.js View on unpkg scripts/release/build-server-bundle.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = scripts/release/build-server-bundle.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
scripts/release/build-server-bundle.js View on unpkg dist-server/server/modules/agent/agent.routes.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = dist-[redacted].routes.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist-server/server/modules/agent/agent.routes.js View on unpkg dist-server/server/modules/cli/cli.module.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = dist-server/server/modules/cli/cli.module.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist-server/server/modules/cli/cli.module.js View on unpkg scripts/fix-codex-sdk-windows-hide.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = scripts/fix-codex-sdk-windows-hide.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
scripts/fix-codex-sdk-windows-hide.js View on unpkg server/modules/agent/agent.routes.ts View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = server/modules/agent/agent.routes.ts
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
server/modules/agent/agent.routes.ts View on unpkg dist-server/server/modules/database/connection.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = dist-[redacted].js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist-server/server/modules/database/connection.js View on unpkg dist-server/server/modules/database/tests/provider-models.db.integration.test.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.39.5
matchedPath = dist-[redacted]-models.db.integration.test.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.39.5
similarity = 1.000
summary = normalized source hash matched finalized malicious source
High Known Malware Source Similarity
Source file is highly similar to a previously finalized malicious package; route for source-aware review.
dist-server/server/modules/database/tests/provider-models.db.integration.test.js View on unpkg 11 patternName = github_pat
severity = critical
line = 11
Critical Secret Pattern
GitHub personal access token in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L11 14 patternName = github_pat
severity = critical
line = 14
Critical Secret Pattern
GitHub personal access token in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L14 17 patternName = github_pat
severity = critical
line = 17
Critical Secret Pattern
GitHub personal access token in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L17 20 patternName = github_pat
severity = critical
line = 20
Critical Secret Pattern
GitHub personal access token in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L20 23 patternName = github_pat
severity = critical
line = 23
Critical Secret Pattern
GitHub personal access token in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L23 2 patternName = generic_password
severity = medium
line = 2
Medium Secret Pattern
Hardcoded password in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L2 5 patternName = generic_password
severity = medium
line = 5
Medium Secret Pattern
Hardcoded password in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L5 8 patternName = generic_password
severity = medium
line = 8
Medium Secret Pattern
Hardcoded password in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L8 11 patternName = generic_password
severity = medium
line = 11
Medium Secret Pattern
Hardcoded password in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L11 17 patternName = generic_password
severity = medium
line = 17
Medium Secret Pattern
Hardcoded password in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L17 20 patternName = generic_password
severity = medium
line = 20
Medium Secret Pattern
Hardcoded password in dist/assets/index-mM_mjquP.js
dist/assets/index-mM_mjquP.js View on unpkg · L20 4 const DEFAULT_CLAUDE_COMMAND = 'claude' ;
5 const CLAUDE_SCRIPT_EXTENSIONS = new Set ([ '.cjs' , '.js' , '.jsx' , '.mjs' , '.ts' , '.tsx' ]);
6 const CLAUDE_WRAPPER_SEGMENTS = [ 'node_modules' , '@anthropic-ai' , 'claude-code' , 'bin' , 'claude.exe' ];
7 function getPathApi ( platform ) {
8 return platform === 'win32' ? path.win32 : path;
10 function stripWrappingQuotes ( value ) {
11 const trimmed = value. trim ();
12 if ((trimmed. startsWith ( '"' ) && trimmed. endsWith ( '"' )) ||
13 (trimmed. startsWith ( "'" ) && trimmed. endsWith ( "'" ))) {
14 return trimmed. slice ( 1 , - 1 );
18 function isPathLike ( value ) {
19 return value. includes ( '/' ) || value. includes ( ' \\ ' );
21 function resolveClaudeWrapperBinary ( wrapperPath , deps ) {
=
j.
length
);
for
(
var
h
=
0
,
I
=
Array
(
K
);h
<
K
;h
++
)
I
[h]
=
j[h];
return
I
}
function
Wr
(
j
){
if
(Array.
isArray
(j))
return
j}
function
Hr
(
j
,
K
){
var
h
=
j
==
null
?
null
:typeof
Symbol<
"u"
&&
j
[
Symbol
.
iterator
]
||
j
[
"@@iterator"
];
if
(
h
!=
null
){
var
I
,
_
,
u
,
l
,
n
=
[],
c
=!
0
,
w
=!
1
;
try
{
if
(
u
=
(h
=
h.
call
(j)).next,
K
!==0)
for
(;!(
c
=
(
I
=
u.
call
(h)).done)&&(n.push(I.value),
n
.
length
!
==
K
);
c
=!
0
);}catch(k){w=!0,_=k}finally{try{if(!c&&h.return!=null&&(l=h.return(),Object(l)!==l))return}finally{if(w)throw _}}return n}}function Zr(){throw new TypeError(`Invalid a ...
2 In order to be iterable, non - array objects must have a [Symbol.iterator]() method.`)} function Gr ( j , K ){ return Wr ( j )|| Hr ( j , K )|| Yr ( j , K )|| Zr ()} function Yr ( j , K ){ if ( j ){ if ( typeof j == "string" ) return ar (j, K ); var h = {}.toString. call (j). slice ( 8 , - 1 ); return h === "Object" && j. constructor && (h = j. constructor .name),h === "Map" || h === "Set" ? Array. from (j) : h === "Arguments" || / ^ (?:Ui | I)nt(?:8 | 16 | 32)(?:Clamped) ? Array $ / . test (h) ? ar (j, K ) :void 0 }} const vr = Object . entries , sr = Object . setPrototypeOf , Xr = Object . isFrozen , Kr = Object . getPrototypeOf , Vr = Object . getOwnPropertyDescriptor ; let vt = Object . freeze , Et = Object . seal , te = Object . create , kr = t ...
3 `+gt),tt&&(gt=_e(gt)),R&&Zt?P(gt):gt},K.setConfig=function(){let X=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};xe(X),At=!0,Ft=t,Tt=x},K.clearConfig=function(){Jt=null,At=!1,Ft=null,Tt=null,R=rt,G=""},K.isValidAttribute=function(X,a,A){Jt||xe({});const M=bt(X),J=bt(a);return rr(M,J,A)},K.addHook=function(X,a){typeof a=="function"&&Rt(Y,X)&&oe(Y[X],a)},K.removeHook=function(X,a){if(Rt(Y,X)){if(a!==void 0){const A=qr(Y[X],a);return A===-1?void 0:$r(Y[X],A,1)[0]}return or(Y[X])}},K.removeHooks=function(X){Rt(Y,X)&&(Y[X]=[])},K.removeAllHooks=function(){Y=yr()},K}var Tn=Ar();function ...
4 \0 ` , Y += u ( z ,2), Y += B . magic , Y += u ( v ,2), Y += u ( T ,2), Y += u ( it . crc32 , 4 ), Y += u ( it . compressedSize , 4 ), Y += u ( it . uncompressedSize , 4 ), Y += u ( W . length , 2 ), Y += u ( P . length , 2 ),{ fileRecord : g . LOCAL_FILE_HEADER + Y + W + P , dirRecord : g . CENTRAL_FILE_HEADER + u ( nt ,2)+ Y + u ( rt . length , 2 )+ " \0\0\0\0 " + u ( O ,4)+ u ( f ,4)+ W + P + rt }} var n = h ( "../utils" ), c = h ( "../stream/GenericWorker" ), w = h ( "../utf8" ), k = h ( "../crc32" ), g = h ( "../signature" ); function y ( i , p , r , f ){ c . call ( this , "ZipFileWorker" ), this . bytesWritten = 0 , this . zipComment = p, this . zipPlatform = r, this . encodeFileName = f, this . streamFiles = i, this . accumulate =! 1 , this . contentBuffer = [], this . dirRecords = [], this . currentS ...
Low Eval
Package source references a known benign dynamic code generation pattern.
dist/assets/vendor-data-DsEZeNPr.js View on unpkg · L3 Long lines were clipped for display.
'./auth.routes.js'
;
5 import { createAuthService } from './auth.service.js' ;
6 // bcrypt does not ship TypeScript declarations in this project, so the
7 // composition root narrows its CommonJS runtime surface before injecting it.
8 const require = createRequire ( import . meta .url);
9 const bcrypt = require ( 'bcrypt' );
Medium Dynamic Require
Package source references dynamic require/import behavior.
dist-server/server/modules/auth/auth.module.js View on unpkg · L7 10 const databaseConnection = getConnection ();
11 const authService = createAuthService ({
13 hasUsers : () => userDb. hasUsers (),
14 createUser : ( username , passwordHash ) => userDb. createUser (username, passwordHash),
15 getUserByUsername : ( username ) => userDb. getUserByUsername (username),
16 updateLastLogin : ( userId ) => userDb. updateLastLogin (userId),
19 begin : () => databaseConnection. prepare ( 'BEGIN' ). run (),
20 commit : () => databaseConnection. prepare ( 'COMMIT' ). run (),
21 rollback : () => databaseConnection. prepare ( 'ROLLBACK' ). run (),
23 hashPassword : ( password ) => bcrypt. hash (password, 12 ),
24 comparePassword : ( password , passwordHash ) => bcrypt. compare (password, passwordHash),
27 /** Auth router assembled for the server entrypoint. */
92 if (experimentalText. trim ()) {
93 return experimentalText;
96 return typeof item.result === 'string' ? item.result : '' ;
98 function parseCursorToolInput ( rawInput ) {
99 if ( typeof rawInput !== 'string' ) {
102 const trimmed = rawInput. trim ();
107 return JSON . parse (trimmed);
108 }
Low Weak Crypto
Package source references weak cryptographic algorithms.
dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js View on unpkg · L106 113 function normalizeCursorToolInput ( toolName , rawInput ) {
114 const parsed = parseCursorToolInput (rawInput);
115 if ( ! parsed || typeof parsed !== 'object' || Array. isArray (parsed)) {
118 const input = parsed;
119 const normalized = { ... input };
120 const filePath = input.file_path
125 if ( typeof filePath === 'string' && filePath. trim ()) {
126 normalized.file_path = filePath;
os
from
'os'
;
7 import http from 'http' ;
8 import express from 'express' ;
High Entrypoint Build Divergence
Manifest entrypoint contains risky behavior absent from dist/build output.
dist-server/server/index.js View on unpkg · L6 9 import cors from 'cors' ;
10 import { AppError, findApplicationRoot, getModuleDirectory, IS_PLATFORM, terminalTextStyles } from './shared/utils.js' ;
11 import { closeSessionsWatcher, initializeSessionsWatcher, providerRuntimeService, } from './modules/providers/index.js' ;
12 import { createWebSocketServer } from './modules/websocket/index.js' ;
13 import { getConnectableHost } from '../shared/networkHosts.js' ;
14 import { createGitModule } from './modules/git/index.js' ;
15 import { authenticateToken, authenticateWebSocket, authRoutes, validateApiKey, } from './modules/auth/index.js' ;
16 import { taskmasterRoutes } from './modules/taskmaster/index.js' ;
17 import { commandsRoutes } from './modules/commands/index.js' ;
18 import { settingsRoutes } from './modules/settings/index.js' ;
19 import { createSystemModule } from './modules/system/index.js' ;
20 import { createAgentModule } from './modules/agent/index.js' ;
21 import projectModuleRoutes from './modules/projects/projects.routes.js' ;
22 import notificationRoutes from './modules/notifications/notifications.routes.js' ;
23 import { userRoutes } from './modules/user/index.js' ;
24 import { getPluginPort, pluginsRoutes, startEnabledPluginServers, stopAllPlugins, } from './modules/plugins/index.js' ;
25 import providerRoutes from './modules/providers/provider.routes.js' ;
26 import { voiceRoutes } from './modules/voice/index.js' ;