live · scanning repos
Scanrepo
github.com
DANGER
malware detected
github.com / noah-thing

noah-thing/open-cursor

TypeScript·16750 files·commit 1944aa6·scanned 3h ago·cached ✓
79/100
DANGEROUS
Sensitive capability combinations reachable from entry points. Do not run without review.

scored by engine v9: rules have changed since, rescan for the current result

This repository contains patterns associated with malware. Do NOT run this code.

verdict accurate?
Created 2 days ago
Created in the last 7 days
18% file coverage
Partial architecture graph
threat-state: dangerouslive

FINDINGS ░▒▓

criticalRust process Command usagestd::process::Command can execute arbitrary shell commands. Malware uses it to drop payloads, exfiltrate data, or establish persistence.cli/src/commands/agent_host.rs
	let exe = std::env::current_exe().map_err(|e| wrap(e, "could not resolve current_exe"))?;
	let mut cmd = tokio::process::Command::new(&exe);
	// Forward our argv unchanged so the supervisor child see...
+8
criticalRust process Command usagestd::process::Command can execute arbitrary shell commands. Malware uses it to drop payloads, exfiltrate data, or establish persistence.cli/src/commands/output.rs

	match Command::new(program)
		.args(&pager_args)
		.stdin(Stdio::piped())
+8
criticalRust process Command usagestd::process::Command can execute arbitrary shell commands. Malware uses it to drop payloads, exfiltrate data, or establish persistence.cli/src/tunnels/agent_host.rs
		if let Ok(pid) = std::fs::read_to_string(&lingering_pid_file) {
			let _ = std::process::Command::new("kill").arg(pid.trim()).status();
		}
		assert_eq!(
+8
warningRust unsafe blockunsafe blocks bypass Rust's memory safety guarantees. Malware uses them for raw pointer manipulation, shellcode injection, or calling dangerous foreign functions.copilot_shim/src/setup/windows.rs
	let source = wide(value);
	let required = unsafe { ExpandEnvironmentStringsW(source.as_ptr(), null_mut(), 0) };
	if required == 0 {
		return value.to_os_string();
+3
criticaleval() usage detectedeval() executes arbitrary code and is commonly used in malware to run obfuscated payloads fetched from remote servers.extensions/php-language-features/src/features/phpGlobals.ts
	eval: {
		description: 'Evaluates the string given in code_str as PHP code. Among other things, this can be useful for storing code in a database text field for later execution.\r\nThere are some fac...
+8
criticalFunction() constructor detectednew Function() is equivalent to eval() and can execute arbitrary code strings.extensions/vscode-api-tests/src/singlefolder-tests/module.test.ts

			const asyncImport = new Function('url', 'return import(url)');
			const m = await asyncImport(vscode.Uri.file(testFile).toString(true));
			assert.strictEqual(m.runTest(), true);
+5
infoSuspicious files are not reachable from entry pointsFlagged files exist but are not imported by any entry point. They may be dead code, tests, or attack payloads triggered by another mechanism.+2
warningRust wallet/crypto code with network activityCode handling private keys or signing and also making network requests may be exfiltrating secrets or sending funds to an attacker.cli/src/commands/serve_web.rs
	let hash = hash[..SECRET_KEY_BYTES].to_vec();
	response::secret_key(hash)
}
+5
warningSSH/credential path accessAccessing .ssh, .aws/credentials, or .env files to steal authentication credentials.extensions/git/src/askpass.ts
			// Commit signing - Enter passphrase:
			// Commit signing - Enter passphrase for '/c/Users/<username>/.ssh/id_ed25519':
			// Git operation  - Enter passphrase for key '/c/Users/<username>/.ssh/id...
+5
warningSSH/credential path accessAccessing .ssh, .aws/credentials, or .env files to steal authentication credentials.extensions/terminal-suggest/src/completions/upstream/ssh.ts
			// eslint-disable-next-line @withfig/fig-linter/no-useless-arrays
			args: [`${context.environmentVariables["HOME"]}/.ssh/known_hosts`],
		});
+5
warningExtremely long lines (>1000 chars)Very long lines in source files (not minified bundles) can hide malicious code.extensions/markdown-language-features/src/slugify.ts+4
warningExtremely long lines (>1000 chars)Very long lines in source files (not minified bundles) can hide malicious code.src/vs/base/common/semver/semver.js+4
warningExtremely long lines (>1000 chars)Very long lines in source files (not minified bundles) can hide malicious code.src/vs/editor/browser/viewParts/indentGuides/indentGuides.ts+4
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.extensions/git/src/commands.ts+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.extensions/git/src/historyProvider.ts+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.extensions/git/src/statusbar.ts+3
warningHigh-entropy string literalsFound 4 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.src/vs/base/common/marked/marked.js+3
warningLarge base64-encoded blobA 1536-character base64 blob was found. May hide a remote payload or encoded executable code.src/vs/editor/browser/viewParts/minimap/minimapPreBaked.ts
000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC82...
+3
warningLarge hex-encoded blobA 1536-character hex blob was found. Often used to hide shellcode or C2 addresses.src/vs/editor/browser/viewParts/minimap/minimapPreBaked.ts
000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC82...
+3
infoSuspicious file in repoExecutable file (bootstrap-profile.ps1) in repository.agents/skills/launch/scripts/bootstrap/bootstrap-profile.ps1+2
infoSuspicious file in repoExecutable file (windows-process-tree-monitor.ps1) in repository.agents/skills/launch/scripts/bootstrap/windows-process-tree-monitor.ps1+2
infoSuspicious file in repoExecutable file (cleanup.ps1) in repository.agents/skills/launch/scripts/cleanup/cleanup.ps1+2

Scores are heuristics. A “safe” verdict means no known-malicious patterns were found — clever malware can look boring. Wrong verdict? Flag it above; confirmed false positives become regression tests.

2956 files scanned @ 1944aa6 | 10/29/2026 | heuristic scan — always review manually

risk by category
code execution25
network & exfiltration5
file system access10
obfuscation15
supply chain15
owasp / injection0
telemetry
files 2956/16750rules hit 22engine v9commit 1944aa6

github

noah-thing/open-cursor

The free, open source Cursor alternative. An AI code editor that runs on your own API key, your Claude Code or Codex plan, local models, or free models.

TypeScript
5
0
2d
16750 files
2956 scanned(18%)
1944aa6

architecture░▒▓

entry (1) flagged (26) pkg (215)
615 nodes · 1180 edgesscroll to zoom · click node to jump to finding
noah-thing/open-cursor — ScanRepo