github.com / affaan-m
affaan-m/ ECC
JavaScript·3493 files·commit d8409a4·scanned 4d ago·cached ✓
15/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.
score capped at 15 — 243,048+ stars — findings likely false positives
verdict accurate?
243,048 stars
Crypto/Web3 project
22% file coverage
Partial architecture graph
threat-state: lowlive
FINDINGS ░▒▓
criticalRust process Command usagestd::process::Command can execute arbitrary shell commands. Malware uses it to drop payloads, exfiltrate data, or establish persistence.ecc2/src/notifications.rs
fn run_notification_command(program: &str, args: &[String]) -> Result<()> {
let status = std::process::Command::new(program)
.args(args)
.status()+8warningRust unsafe blockunsafe blocks bypass Rust's memory safety guarantees. Malware uses them for raw pointer manipulation, shellcode injection, or calling dangerous foreign functions.ecc2/src/session/daemon.rs
// SAFETY: kill(pid, 0) probes process existence without delivering a signal.
let result = unsafe { libc::kill(pid as libc::pid_t, 0) };
if result == 0 {
return true;+3criticalRust process Command usagestd::process::Command can execute arbitrary shell commands. Malware uses it to drop payloads, exfiltrate data, or establish persistence.ecc2/src/session/runtime.rs
let mut rx = output_store.subscribe();
let mut command = Command::new("/bin/sh");
command
.arg("-c")+8criticalRust process Command usagestd::process::Command can execute arbitrary shell commands. Malware uses it to drop payloads, exfiltrate data, or establish persistence.ecc2/src/worktree/mod.rs
let output = Command::new("git")
.arg("-C")
.arg(repo_root)+8warningPython subprocess / os.system usageos.system() or subprocess with shell=True / suspicious commands can execute arbitrary shell commands. Plain pip/package installs are usually benign.skills/skill-comply/scripts/runner.py
result = subprocess.run(
[
"claude", "-p", scenario.prompt,+4criticaleval() usage detectedeval() executes arbitrary code and is commonly used in malware to run obfuscated payloads fetched from remote servers..opencode/tools/security-audit.ts
const securityPatterns = [
{ pattern: /\beval\s*\(/g, name: "eval() usage - potential code injection" },
{ pattern: /innerHTML\s*=/g, name: "innerHTML assignment - potential XSS" },
{ pa...+8warningPython subprocess / os.system usageos.system() or subprocess with shell=True / suspicious commands can execute arbitrary shell commands. Plain pip/package installs are usually benign.tests/test_invariant_runner.py
(
("python -c \"import os; os.system('touch /tmp/runner_test_pwned_marker')\"",),
"python_interpreter",
),+4warningSSH/credential path accessAccessing .ssh, .aws/credentials, or .env files to steal authentication credentials.ecc2/src/observability/mod.rs
"auth",
"id_rsa",
".pem",
".key",+5warningSSH/credential path accessAccessing .ssh, .aws/credentials, or .env files to steal authentication credentials.scripts/hooks/governance-capture.js
/\.key$/, /id_rsa/, ];+5
warningExtremely long lines (>1000 chars)Very long lines in source files (not minified bundles) can hide malicious code..claude/workflows/ecc-pro-security-roadmap.js+4
warningExtremely long lines (>1000 chars)Very long lines in source files (not minified bundles) can hide malicious code..kiro/agents/architect.json+4
warningExtremely long lines (>1000 chars)Very long lines in source files (not minified bundles) can hide malicious code..kiro/agents/build-error-resolver.json+4
warningHigh-entropy string literalsFound 6 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode..pi/extensions/index.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.scripts/lib/agent-proximity/index.js+3
warningHigh-entropy string literalsFound 4 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.scripts/lib/plan-canvas/server.js+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.scripts/ci/catalog.js+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.scripts/ci/scan-supply-chain-iocs.js+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.scripts/ci/validate-workflow-security.js+3
infoSuspicious file in repoExecutable file (install_hook_wrapper.ps1) in repositorydocs/fixes/install_hook_wrapper.ps1+2
infoSuspicious file in repoExecutable file (patch_settings_cl_v2_simple.ps1) in repositorydocs/fixes/patch_settings_cl_v2_simple.ps1+2
infoSuspicious file in repoVery large source file (528KB) — could contain obfuscated payloadecc2/src/tui/dashboard.rs+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.
771 files scanned @ d8409a4 | 8/25/2026 | heuristic scan — always review manually
risk by category
code execution25
network & exfiltration0
file system access10
obfuscation15
supply chain8
owasp / injection0
telemetry
files 771/3493rules hit 22engine v5commit d8409a4
github
affaan-m/ECC
The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
243048
36769
224d
3493 files
771 scanned(22%)
d8409a4
architecture░▒▓
entry (0) flagged (155) pkg (101)
501 nodes · 701 edgesscroll to zoom · click node to jump to finding