Loading npm security reports…
wind-agent-cli@1.44.3: Agent extension lifecycle risk – flagged | LPM Firewall
Flagged as agent extension risk
Allowed by default with warning: install-time first-party agent extension setup was detected.
AI Security Reviewscanned 15d ago · by lpm-firewall-ai Inspected source shows an explicit plugin setup and execution capability with plugin-specific secret forwarding, so a warning is appropriate under the agent extension policy. The npm postinstall hook is limited to platform fixes and does not perform this plugin setup.
Static reason
High-risk behavior combination matched malicious policy.; source matched previously finalized malicious package; routed for review
Trigger
A user invokes the plugin install route and later enables or uses the installed plugin.
Impact
Selected plugin code can execute with the app user's privileges and access secrets configured for that plugin; no malicious behavior by this package was established.
Mechanism
The app clones the supplied repository, may run its build script, and can spawn its declared Node server. RPC handling forwards configured plugin secrets to that local server.
AI rationale
Inspected source shows an explicit plugin setup and execution capability with plugin-specific secret forwarding, so a warning is appropriate under the agent extension policy. The npm postinstall hook is limited to platform fixes and does not perform this plugin setup.
Evidence
dist-server/server/modules/plugins/plugins.routes.js dist-server/server/modules/plugins/plugins.service.js dist-server/server/modules/plugins/plugin-registry.service.js dist-server/server/modules/plugins/plugin-process.service.js package.json
Decision evidencepublic snapshot AI called this Suspicious at 88.0% confidence as Dangerous Capability with medium false-positive risk.
Evidence for warning
A user-triggered plugin install route accepts a repository URL, then clones the repository into the app's plugin directory. Dependencies install with lifecycle scripts disabled, but a plugin's declared build script is run with npm. Plugins can launch a Node server subprocess; plugin RPC requests forward that plugin's configured secrets to the local process. The package postinstall hook only runs platform-specific node-pty permission and Codex SDK console fixes. Evidence against
The package postinstall hook does not install plugins or alter broad agent configuration. Plugin installation is initiated through an explicit management route; dependency lifecycle scripts are disabled. Behavioral surface
Source ChildProcess Crypto DynamicRequire EnvironmentVars Eval Filesystem Network Shell WebSocket
Supply chain HighEntropyStrings
Source & flagged code39 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 dist/assets/feature-workspace-EgYIprTh.js View file 39 patternName = github_pat
severity = critical
line = 39
Critical Critical Secret
Package contains a critical-looking secret pattern.
dist/assets/feature-workspace-EgYIprTh.js View on unpkg · L39 Findings8 Critical 20 High 12 Medium 10 Low
Critical Critical Secret dist/assets/feature-workspace-EgYIprTh.js
Critical Secret Pattern dist/assets/feature-workspace-EgYIprTh.js
Critical Secret Pattern dist/assets/index-6dqOgBUd.js
Critical Secret Pattern dist/assets/index-6dqOgBUd.js
Critical Secret Pattern dist/assets/index-6dqOgBUd.js
Critical Secret Pattern dist/assets/index-6dqOgBUd.js
Critical Secret Pattern dist/assets/index-6dqOgBUd.js
Critical Secret Pattern dist/assets/index-6dqOgBUd.js
High Install Time Lifecycle Scripts package.json
High Child Process dist-server/server/shared/claude-cli-path.js
High Shell
High
Affected versions and remediation This report applies to wind-agent-cli@1.44.3 .
See all versions of wind-agent-cli for other recorded verdicts.
Review the evidence and your use of wind-agent-cli@1.44.3 before allowing it. Restrict the permissions described in this report. Choose an independently verified alternative or release. This report does not establish that other versions are safe. Evidence last updated: 2026-10-08 17:09:44.052Z (UTC) .
Think this verdict is wrong? Dispute it on GitHub or read how reports are produced .
88% Suspicious
AI assessment confidence
Package metadata npm Author WindCli contributors
Maintainers caine.luo
Version 1.44.3
Latest on npm 1.47.4
Published Sep 18, 2026
License AGPL-3.0-or-later
Dependencies 66
Integrity verified
Package size 9.65 MB
Files 1,147
Keywords claude code claude-code claude-code-ui cloudcli codex cursor cursor-cli anthropic
Minified
PossibleObfuscation
Telemetry
UrlStrings
scanned 720 file(s), 10.9 MB of source, external domains: 10.0.0.7, 127.0.0.1, 169.254.169.254, 172.16.2.9, 192.168.1.9, another-project.test, api-gateway.cloudcli.ai, api.example.com, api.exemple.com, api.github.com, api.openai.com, app.example.test, bit.ly, browser-restarted.test, chevrotain.io, cloudcli.ai, cloudcli.example, codex.example.com, cursor.com, data-pipeline.cloudcli.ai, desktop.test, developer.mozilla.org, docs.anthropic.com, docs.docker.com, en.wikipedia.org, example.com, example.org, example.test, extension.test, fb.me, github.com, github.com.evil.example, global.example.com, langium.org, legacy.test, localhost.example.com, ml-trainer.cloudcli.ai, mobile.test, new-project.test, new.test, old.test, opencode.ai, opencode.example.com, other-window.test, other.example.test, other.test, private.test, push.example.test, radix-ui.com, reactjs.org
39 patternName = github_pat
severity = critical
line = 39
Critical Secret Pattern
GitHub personal access token in dist/assets/feature-workspace-EgYIprTh.js
dist/assets/feature-workspace-EgYIprTh.js View on unpkg · L39 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 1 import{r as Y,j as X}from"./vendor-react-C2GTiUCy.js";import{ac as mt,ab as St,ag as at,g as $e}from"./feature-workspace-EgYIprTh.js";import{L as Ve,v as ht,X as lt,bF as Ct,aw as ...
L2: layout (location = 0) in vec2 a_unitquad;
Low Eval
Package source references a known benign dynamic code generation pattern.
dist/assets/Shell-DrL3MLsm.js View on unpkg · L1 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 scripts/tests/browser-extension-connection.test.mjs View file 54 return new Response(JSON.stringify(connectError ? { error: connectError } : {
L55: success: true, data: { protocolVersion: 2, sessionId: 'bound-chrome', token: 'fixture-credential', scope: 'browser', name: 'Work Chrome', controller: 'agent' },
L56: }), { status: connectError ? 400 : 200 });
...
L69: async function openPopup() {
L70: const dom = new JSDOM(html, { url: 'https://extension.test/popup.html' });
L71: let disposed = false;
Medium Unsafe Vm Context
Package source executes code through a VM context API.
scripts/tests/browser-extension-connection.test.mjs View on unpkg · L54 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';
...
L35: import { configureWebPush } from './modules/notifications/index.js';
L36: const __dirname = getModuleDirectory(import.meta.url);
L37: // The server source runs from /server, while the compiled output runs from /dist-server/server.
...
L41: // Version of the code that is actually running, captured once at process
L42: // startup. This intentionally does NOT re-read package.json per request: after
L43: // an update replaces the files on disk, package.json reflects the NEW version
...
L48: try {
L49: 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, webContents } from 'electron';
L2: import { spawn } from 'node:child_process';
L3: import path from 'node:path';
...
L12:
L13: const __dirname = path.dirname(fileURLToPath(import.meta.url));
L14:
...
L18: const CALLBACK_URL = `${CALLBACK_PROTOCOL}://auth/callback`;
L19: const CLOUDCLI_CONTROL_PLANE_URL = process.env.CLOUDCLI_CONTROL_PLANE_URL || 'https://cloudcli.ai';
L20: const REMOTE_START_TIMEOUT_MS = 30000;
...
L24:
L25: if (process.platform === 'win32') {
L26: 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 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.40.0
matchedPath = electron/localServer.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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 = 71
magicHex = [redacted]
Medium Ships Build Helper
Package ships non-JavaScript build or shell helper files.
scripts/generate-pwa-icons.ps1 View on unpkg • path = dist/windcli-browser-bridge.zip
kind = high_entropy_blob
sizeBytes = 82542
magicHex = [redacted]
High Ships High Entropy Blob
Package ships high-entropy non-source blobs.
dist/windcli-browser-bridge.zip View on unpkg • path = dist/windcli-browser-bridge.zip
kind = compressed_blob
sizeBytes = 82542
magicHex = [redacted]
Medium Ships Compressed Blob
Package ships compressed or archive-like blobs.
dist/windcli-browser-bridge.zip View on unpkg • path = dist/windcli-browser-bridge.zip
kind = nested_archive_needs_inspection
sizeBytes = 82542
magicHex = [redacted]
Low Nested Archive Needs Inspection
Package ships a nested archive or MCP bundle that was inventoried but not recursively analyzed.
dist/windcli-browser-bridge.zip 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.40.0
matchedPath = dist-server/scripts/fix-codex-sdk-windows-hide.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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 scripts/fix-codex-sdk-windows-hide.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.40.0
matchedPath = scripts/fix-codex-sdk-windows-hide.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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 dist-server/server/modules/database/connection.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.40.0
matchedPath = dist-[redacted].js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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.40.0
matchedPath = dist-[redacted]-models.db.integration.test.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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 dist-server/server/modules/plugins/plugin-process.service.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.40.0
matchedPath = dist-[redacted]-process.service.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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/plugins/plugin-process.service.js View on unpkg dist-server/server/modules/plugins/plugin-registry.service.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.40.0
matchedPath = dist-[redacted]-registry.service.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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/plugins/plugin-registry.service.js View on unpkg dist-server/server/modules/providers/list/claude/claude-auth.provider.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.40.0
matchedPath = dist-[redacted]-auth.provider.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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/providers/list/claude/claude-auth.provider.js View on unpkg dist-server/server/modules/providers/list/opencode/opencode-auth.provider.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.40.0
matchedPath = dist-[redacted]-auth.provider.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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/providers/list/opencode/opencode-auth.provider.js View on unpkg dist-server/server/modules/cli/sandbox.service.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.40.0
matchedPath = dist-[redacted].service.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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/sandbox.service.js View on unpkg dist-server/server/modules/projects/services/project-clone.service.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.40.0
matchedPath = dist-[redacted]-clone.service.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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/projects/services/project-clone.service.js View on unpkg dist-server/server/modules/providers/tests/opencode-sessions.test.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.40.0
matchedPath = dist-[redacted]-sessions.test.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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/providers/tests/opencode-sessions.test.js View on unpkg 2 patternName = github_pat
severity = critical
line = 2
Critical Secret Pattern
GitHub personal access token in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L2 5 patternName = github_pat
severity = critical
line = 5
Critical Secret Pattern
GitHub personal access token in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L5 8 patternName = github_pat
severity = critical
line = 8
Critical Secret Pattern
GitHub personal access token in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L8 11 patternName = github_pat
severity = critical
line = 11
Critical Secret Pattern
GitHub personal access token in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L11 14 patternName = github_pat
severity = critical
line = 14
Critical Secret Pattern
GitHub personal access token in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L14 17 patternName = github_pat
severity = critical
line = 17
Critical Secret Pattern
GitHub personal access token in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L17 2 patternName = generic_password
severity = medium
line = 2
Medium Secret Pattern
Hardcoded password in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L2 5 patternName = generic_password
severity = medium
line = 5
Medium Secret Pattern
Hardcoded password in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L5 8 patternName = generic_password
severity = medium
line = 8
Medium Secret Pattern
Hardcoded password in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L8 11 patternName = generic_password
severity = medium
line = 11
Medium Secret Pattern
Hardcoded password in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L11 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 Ships High Entropy Blob dist/windcli-browser-bridge.zip
High Semantic Analysis Limited dist-server/scripts/fix-codex-sdk-windows-hide.js
High Known Malware Source Similarity electron/localServer.js
High Known Malware Source Similarity dist-server/scripts/fix-codex-sdk-windows-hide.js
High Known Malware Source Similarity scripts/fix-codex-sdk-windows-hide.js
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
High Known Malware Source Similarity dist-server/server/modules/plugins/plugin-process.service.js
High Known Malware Source Similarity dist-server/server/modules/plugins/plugin-registry.service.js
High Known Malware Source Similarity dist-server/server/modules/providers/list/claude/claude-auth.provider.js
High Known Malware Source Similarity dist-server/server/modules/providers/list/opencode/opencode-auth.provider.js
High Known Malware Source Similarity dist-server/server/modules/cli/sandbox.service.js
High Known Malware Source Similarity dist-server/server/modules/projects/services/project-clone.service.js
High Known Malware Source Similarity dist-server/server/modules/providers/tests/opencode-sessions.test.js
Medium Ambiguous Install Lifecycle Script package.json
Medium Dynamic Require dist-server/server/modules/auth/auth.module.js
Medium Unsafe Vm Context scripts/tests/browser-extension-connection.test.mjs
Medium Ships Build Helper scripts/generate-pwa-icons.ps1
Medium Ships Compressed Blob dist/windcli-browser-bridge.zip
Medium Structural Risk Force Deep Review
Medium Secret Pattern dist/assets/index-6dqOgBUd.js
Medium Secret Pattern dist/assets/index-6dqOgBUd.js
Medium Secret Pattern dist/assets/index-6dqOgBUd.js
Medium Secret Pattern dist/assets/index-6dqOgBUd.js
Low Non Install Lifecycle Scripts
Low Eval dist/assets/Shell-DrL3MLsm.js
Low Weak Crypto dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js
Low Nested Archive Needs Inspection dist/windcli-browser-bridge.zip
Runtime surface package.json Entrypoints main → dist-server/server/index.js bin → wacli
Runtime node >=22
Artifact 19.8 MB · 1,147 files 2 signature(s)
Install lifecycle postinstall prepare prepublishOnly
Behavioral surface ChildProcess Crypto DynamicRequire EnvironmentVars Eval Filesystem Network Shell WebSocket HighEntropyStrings Minified PossibleObfuscation Telemetry UrlStrings CopyleftLicense
Source & flagged code39 flagged Lines 48-88 json
48 "desktop:dist:win" : "npm run build && npm run desktop:stage && electron-builder --projectDir .desktop-build/desktop-app --win nsis" ,
49 "server:bundle" : "npm run build && node scripts/release/build-server-bundle.js" ,
50 "desktop:icon:mac" : "node electron/scripts/generate-macos-icon.js" ,
51 "assets:brand" : "node scripts/generate-brand-assets.mjs" ,
52 "build" : "npm run build:client && npm run build:server" ,
53 "build:client" : "node scripts/package-browser-extension.mjs && node scripts/build-client.mjs && node scripts/verify-pwa-build.mjs" ,
54 "prebuild:server" : "node -e \" require('node:fs').rmSync('dist-server.next', { recursive: true, force: true }) \" " ,
55 "build:server" : "tsc -p server/tsconfig.json && tsc-alias -p server/tsconfig.json" ,
56 "postbuild:server" : "node scripts/promote-dist-server.mjs" ,
57 "preview" : "vite preview" ,
58 "typecheck" : "tsc --noEmit -p tsconfig.json && tsc --noEmit -p server/tsconfig.json" ,
59 "test" : "tsx --tsconfig server/tsconfig.json --test \" server/**/*.test.ts \" \" server/**/*.test.js \" " ,
60 "test:client" : "tsx --test \" src/**/*.test.ts \" \" src/**/*.test.tsx \" && npm run test:browser-extension" ,
61 "test:browser-extension" : "node --test scripts/tests/browser-extension-*.test.mjs" ,
62 "test:desktop-updater" : "node --test scripts/tests/desktop-updater.test.mjs scripts/tests/desktop-package.test.mjs" ,
63 "lint" : "eslint src/ server/ --max-warnings=0" ,
64 "lint:fix" : "eslint src/ server/ --fix" ,
65 "start" : "npm run build && npm run server" ,
66 "release" : "./release.sh" ,
67 "prepublishOnly" : "npm run build" ,
68 "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 · L68 Medium Ambiguous Install Lifecycle Script
Install-time lifecycle script is not statically allowlisted and needs review.
package.json View on unpkg · L68 70 "update:platform" : "./update-platform.sh" ,
71 "audit:production" : "npm audit --omit=dev --audit-level=low" ,
72 "audit:all" : "npm audit --audit-level=low"
75 "appId" : "ai.cloudcli.desktop" ,
76 "productName" : "WindCli" ,
78 "artifactName" : "windcli-desktop-${version}-${os}-${arch}.${ext}" ,
80 "output" : "release/desktop"
83 "main" : "electron/main.js"
dist/assets/feature-workspace-EgYIprTh.js View file Lines 19-40 javascript
19 after :rounded - full after :bg - white after :shadow - sm after :transition - transform after :duration - 200
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-21 javascript
1 import {r as Y,j as X} from "./vendor-react-C2GTiUCy.js" ; import {ac as mt,ab as St,ag as at,g as $e} from "./feature-workspace-EgYIprTh.js" ; import {L as Ve,v as ht,X
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
scripts/tests/browser-extension-connection.test.mjs View file Lines 34-74 javascript
35 id : 'windcli-test' , getManifest : () => ({ version: '2.0.0' }),
36 onMessage : { addListener : ( listener ) => { onMessage =
dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js View file 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';
...
L35: import { configureWebPush } from './modules/notifications/index.js';
L36: const __dirname = getModuleDirectory(import.meta.url);
L37: // The server source runs from /server, while the compiled output runs from /dist-server/server.
...
L41: // Version of the code that is actually running, captured once at process
L42: // startup. This intentionally does NOT re-read package.json per request: after
L43: // an update replaces the files on disk, package.json reflects the NEW version
...
L48: try {
L49: 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, webContents } from 'electron';
L2: import { spawn } from 'node:child_process';
L3: import path from 'node:path';
...
L12:
L13: const __dirname = path.dirname(fileURLToPath(import.meta.url));
L14:
...
L18: const CALLBACK_URL = `${CALLBACK_PROTOCOL}://auth/callback`;
L19: const CLOUDCLI_CONTROL_PLANE_URL = process.env.CLOUDCLI_CONTROL_PLANE_URL || 'https://cloudcli.ai';
L20: const REMOTE_START_TIMEOUT_MS = 30000;
...
L24:
L25: if (process.platform === 'win32') {
L26: 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 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.40.0
matchedPath = electron/localServer.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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 = 71
magicHex = [redacted]
Medium Ships Build Helper
Package ships non-JavaScript build or shell helper files.
scripts/generate-pwa-icons.ps1 View on unpkg • path = dist/windcli-browser-bridge.zip
kind = high_entropy_blob
sizeBytes = 82542
magicHex = [redacted]
High Ships High Entropy Blob
Package ships high-entropy non-source blobs.
dist/windcli-browser-bridge.zip View on unpkg • path = dist/windcli-browser-bridge.zip
kind = compressed_blob
sizeBytes = 82542
magicHex = [redacted]
Medium Ships Compressed Blob
Package ships compressed or archive-like blobs.
dist/windcli-browser-bridge.zip View on unpkg • path = dist/windcli-browser-bridge.zip
kind = nested_archive_needs_inspection
sizeBytes = 82542
magicHex = [redacted]
Low Nested Archive Needs Inspection
Package ships a nested archive or MCP bundle that was inventoried but not recursively analyzed.
dist/windcli-browser-bridge.zip 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.40.0
matchedPath = dist-server/scripts/fix-codex-sdk-windows-hide.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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 scripts/fix-codex-sdk-windows-hide.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.40.0
matchedPath = scripts/fix-codex-sdk-windows-hide.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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 dist-server/server/modules/database/connection.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.40.0
matchedPath = dist-[redacted].js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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.40.0
matchedPath = dist-[redacted]-models.db.integration.test.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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 dist-server/server/modules/plugins/plugin-process.service.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.40.0
matchedPath = dist-[redacted]-process.service.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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/plugins/plugin-process.service.js View on unpkg dist-server/server/modules/plugins/plugin-registry.service.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.40.0
matchedPath = dist-[redacted]-registry.service.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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/plugins/plugin-registry.service.js View on unpkg dist-server/server/modules/providers/list/claude/claude-auth.provider.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.40.0
matchedPath = dist-[redacted]-auth.provider.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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/providers/list/claude/claude-auth.provider.js View on unpkg dist-server/server/modules/providers/list/opencode/opencode-auth.provider.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.40.0
matchedPath = dist-[redacted]-auth.provider.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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/providers/list/opencode/opencode-auth.provider.js View on unpkg dist-server/server/modules/cli/sandbox.service.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.40.0
matchedPath = dist-[redacted].service.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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/sandbox.service.js View on unpkg dist-server/server/modules/projects/services/project-clone.service.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.40.0
matchedPath = dist-[redacted]-clone.service.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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/projects/services/project-clone.service.js View on unpkg dist-server/server/modules/providers/tests/opencode-sessions.test.js View file • matchType = normalized_sha256
matchedPackage = wind-agent-cli@1.40.0
matchedPath = dist-[redacted]-sessions.test.js
matchedIdentity = npm:d2luZC1hZ2VudC1jbGk:1.40.0
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/providers/tests/opencode-sessions.test.js View on unpkg 2 patternName = github_pat
severity = critical
line = 2
Critical Secret Pattern
GitHub personal access token in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L2 5 patternName = github_pat
severity = critical
line = 5
Critical Secret Pattern
GitHub personal access token in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L5 8 patternName = github_pat
severity = critical
line = 8
Critical Secret Pattern
GitHub personal access token in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L8 11 patternName = github_pat
severity = critical
line = 11
Critical Secret Pattern
GitHub personal access token in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L11 ''
] peer
-
checked
:bg
-
emerald
-
500
21 peer - checked : after :translate - x - 4
22 `})]})}function Vu({running:t,t:s}){return t?e.jsxs("span",{className:"relative flex items-center gap-1.5",children:[e.jsxs("span",{className:"relative flex h-1.5 w-1.5",children:[e.jsx("span",{className:"absolute inline-flex h-full w-full animate-ping rounded-full bg-emerald-400 opacity-75"}),e.jsx("span",{className:"relative inline-flex h-1.5 w-1.5 rounded-full bg-emerald-500"})]}),e.jsx("span",{className:"font-mono text-[10px] uppercase tracking-wide text-emerald-600 dark:text-emerald-400",children:s("pluginSettings.runningStatus")})]}):null}function Gu({plugin:t,index:s,onToggle:r, ...
23 ` ), T (ge ? am : null ), P ( "" ); try { const w =await U ( "/api/system/update" ,{method: "POST" }), C =await w. text (); let z = null ; try {z = JSON . parse ( C )} catch {z = null } if ( ! z){ if (ge) v ( V => V + `
24 Update started. The server appears to be restarting to apply it.
25 ` ); else { T ( null ); const V = `The update endpoint returned an unexpected response (HTTP ${ w . status }). Update manually with the command below.` ; P ( V ), v ( O => O + `
27 ` )} return } if (w.ok){ if ( v ( V => V + (z.output || "" ) + `
29 ✅ Update completed successfully!
30 ` ), ! ge){ const V = z.targetVersion || o; v ( O => O + `${ p ( "versionUpdate.status.restarting" ) }
31 ` ), V &&await S ( V )}} else T ( null ), P (z.error || "Update failed" ), v ( V => V + `
32 ❌ Update failed: ` + (z.error || "Unknown error" ) + `
33 ` )} catch (w){ge ? v ( C => C + `
34 Connection to the server was interrupted — it is likely restarting to apply the update.
35 ` ) : ( T ( null ), P (w.message), v ( C => C + `
36 ❌ Update failed: ` + w.message + `
37 ` ))} finally { b ( ! 1 )}},[ R ,o,g,m,p,l, S ]); return t ? e. jsxs ( "div" ,{className: "fixed inset-0 z-50 flex items-center justify-center" ,children:[e. jsx ( "button" ,{className: "fixed inset-0 bg-black/50 backdrop-blur-sm" ,onClick:f ?void 0 : s,disabled:f, "aria-label" : p ( "versionUpdate.ariaLabels.closeModal" )}),e. jsxs ( "div" ,{className: "relative mx-4 max-h-[90vh] w-full max-w-2xl space-y-4 overflow-y-auto rounded-lg border border-gray-200 bg-white p-6 shadow-xl dark:border-gray-700 dark:bg-gray-800" ,children:[e. jsxs ( "div" ,{className: "flex items-center justify-between" ,children:[e. jsxs ( "div" ,{className: "flex items-ce .. .
39 `).trim():"";function lm({message:t}){return e.jsxs("div",{className:"flex items-start gap-3 rounded-lg border border-red-200 bg-red-50 p-4 dark:border-red-800 dark:bg-red-900/20",children:[e.jsx(Ba,{className:"mt-0.5 h-5 w-5 flex-shrink-0 text-red-600 dark:text-red-400"}),e.jsx("p",{className:"text-sm text-red-800 dark:text-red-200",children:t})]})}const cm=["git@","ssh://"],dm=/^[A-Za-z]: \\ ?$/,fo=t=>{const s=t.trim();return cm.some(r=>s.startsWith(r))},go=t=>t.trim().length>0&&!fo(t),Ka=t=>t.trim().length>0,um=t=>{const s=t.trim(),r=Math.max(s.lastIndexOf("/"),s.lastIndexOf(" \\ "));return r== ...
Critical Critical Secret
Package contains a critical-looking secret pattern.
dist/assets/feature-workspace-EgYIprTh.js View on unpkg · L39 Long lines were clipped for display.
39 patternName = github_pat
severity = critical
line = 39
Critical Secret Pattern
GitHub personal access token in dist/assets/feature-workspace-EgYIprTh.js
dist/assets/feature-workspace-EgYIprTh.js View on unpkg · L39 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 ) {
as
lt,bF
as
Ct,aw
as
bt,aC
as
wt,a_
as
yt,aR
as
xt,bG
as
Et,o
as
Lt}
from
"./vendor-ui-4sdyF8gh.js"
;
import
{u
as
ct}
from
"./vendor-i18n-B6HjLCnN.js"
;
const
Rt
=
200
,
ut
=
100
,
Tt
=
50
,
Dt
=
768
,
At
=
480
,
Mt
=
9
,
kt
=
12
,
Me
=
'"JetBrainsMono Nerd Font Mono", monospace'
,
Bt
=
"
\x1B
[?1002h
\x1B
[?1006h"
,
Pt
=
500
,
Ot
=
20
,
It
=
15
,
Ft
=
5
,
Ht
=
2
,
ye
=
{cursorBlink:
!
0
,fontSize:
14
,fontFamily:
'Menlo, Monaco, "Courier New", monospace'
,allowProposedApi:
!
0
,allowTransparency:
!
1
,convertEol:
!
0
,sc
...
2 layout (location = 0 ) in vec2 a_unitquad;
Low Eval
Package source references a known benign dynamic code generation pattern.
dist/assets/Shell-DrL3MLsm.js View on unpkg · L1 3 layout (location = 1 ) in vec2 a_cellpos;
4 layout (location = 2 ) in vec2 a_offset;
5 layout (location = 3 ) in vec2 a_size;
6 layout (location = 4 ) in float a_texpage;
7 layout (location = 5 ) in vec2 a_texcoord;
8 layout (location = 6 ) in vec2 a_texsize;
10 uniform mat4 u_projection;
11 uniform vec2 u_resolution;
14 flat out int v_texpage;
17 vec2 zeroToOne = (a_offset / u_resolution) + a_cellpos + (a_unitquad * a_size);
18 gl_Position = u_projection * vec4 (zeroToOne, 0.0 , 1.0 );
19 v_texpage = int (a_texpage);
20 v_texcoord = a_texcoord + a_unitquad * a_texsize;
21 } `,(function(P){let I="";for(let B=1;B<P;B++)I+=` else if (v_texpage == ${B}) { outColor = texture (u_texture[${B}], v_texcoord); } `;return` #version 300 es
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. */
listener; } },
37 onStartup : { addListener () {} }, onInstalled : { addListener () {} },
39 storage : { local : storage (local), session : storage (session) },
41 contains : async () => granted,
42 onAdded : { addListener : ( listener ) => permissionEvents. push (listener) },
43 onRemoved : { addListener () {} },
45 alarms : { create : async () => undefined , onAlarm : { addListener () {} } },
46 action : { setBadgeText : async () => undefined , setIcon : async () => undefined },
47 debugger : { onDetach: { addListener () {} }, onEvent: { addListener () {} } },
48 tabs : { onCreated : { addListener () {} } },
50 const timers = { setTimeout : () => 1 , clearTimeout () {} };
51 const fetch = async ( url ) => {
53 if (url. endsWith ( '/connect' )) {
54 return new Response ( JSON . stringify (connectError ? { error: connectError } : {
55 success: true , data: { protocolVersion: 2 , sessionId: 'bound-chrome' , token: 'fixture-credential' , scope: 'browser' , name: 'Work Chrome' , controller: 'agent' },
56 }), { status: connectError ? 400 : 200 });
58 if (url. endsWith ( '/poll' )) return new Promise (() => {});
59 return new Response ( JSON . stringify ({ success: true , data: {} }));
61 // Page-action helpers are unused by pairing; retain all production connection code.
62 const workerSource = backgroundCode. replace ( / ^ import . * \r ? \n / gm , '' );
63 vm. runInNewContext (workerSource, { createMobileEmulation, chrome, fetch, URL, AbortSignal, console, ... timers }, { filename: 'background.js' });
65 const sendMessage = ( message ) => {
66 messages. push (message.action);
67 return new Promise (( resolve ) => onMessage (message, { id: chrome.runtime.id }, resolve));
69 async function openPopup () {
70 const dom = new JSDOM (html, { url: 'https://extension.test/popup.html' });
71 let disposed = false ;
Medium Unsafe Vm Context
Package source executes code through a VM context API.
scripts/tests/browser-extension-connection.test.mjs View on unpkg · L54 72 const close = dom.window.close. bind (dom.window);
73 dom.window. close = () => { disposed = true ; close (); };
74 const popupSendMessage = ( message ) => new Promise (( resolve , reject ) => {
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;
14 patternName = github_pat
severity = critical
line = 14
Critical Secret Pattern
GitHub personal access token in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L14 17 patternName = github_pat
severity = critical
line = 17
Critical Secret Pattern
GitHub personal access token in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L17 2 patternName = generic_password
severity = medium
line = 2
Medium Secret Pattern
Hardcoded password in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L2 5 patternName = generic_password
severity = medium
line = 5
Medium Secret Pattern
Hardcoded password in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L5 8 patternName = generic_password
severity = medium
line = 8
Medium Secret Pattern
Hardcoded password in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L8 11 patternName = generic_password
severity = medium
line = 11
Medium Secret Pattern
Hardcoded password in dist/assets/index-6dqOgBUd.js
dist/assets/index-6dqOgBUd.js View on unpkg · L11