github.com / affaan-m
affaan-m/ ECC
JavaScript·3716 files·commit 8321021·scanned 9h ago·cached ✓
15/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.
score capped at 15 — 256,804+ stars — findings likely false positives
verdict accurate?
256,804 stars
Crypto/Web3 project
26% 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,+4warningPython 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/taste-application/scripts/tasteforge/media/capcut.py
def duration_of(path):
result = subprocess.run(
[
"ffprobe",+4warningPython 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/taste-application/scripts/tasteforge/resolve.py
"""Count decoded video frames; never infer source length from duration."""
result = subprocess.run(
[
"ffprobe",+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...+8criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.tests/test_taste_transport.py
ns = {}
exec(
compile(
ast.Module(body=[validator], type_ignores=[]), "<validator>", "exec"+7warningSSH/credential path accessAccessing .ssh, .aws/credentials, or .env files to steal authentication credentials.ecc2/src/observability/mod.rs
"auth",
"id_rsa",
".pem",
".key",+5warningExtremely 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.
959 files scanned @ 8321021 | 9/12/2026 | heuristic scan — always review manually
risk by category
code execution25
network & exfiltration0
file system access5
obfuscation15
supply chain8
owasp / injection0
telemetry
files 959/3716rules hit 23engine v5commit 8321021
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.
256804
38431
238d
3716 files
959 scanned(26%)
8321021
architecture░▒▓
entry (0) flagged (195) pkg (94)
494 nodes · 786 edgesscroll to zoom · click node to jump to finding