live · scanning repos
Scanrepo
github.com
github.com / MemPalace

MemPalace/mempalace

Python·837 files·commit f41e8e7·scanned 5d ago·cached ✓
15/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.

score capped at 15 — 59,697+ stars — findings likely false positives

verdict accurate?
59,697 stars
Partial architecture graph
threat-state: lowlive

FINDINGS ░▒▓

warningRust unsafe blockunsafe blocks bypass Rust's memory safety guarantees. Malware uses them for raw pointer manipulation, shellcode injection, or calling dangerous foreign functions.benchmarks/lean_mempalace/rust/src/main.rs
fn get_rss_mb() -> f64 {
    unsafe {
        let handle = GetCurrentProcess();
        let mut counters: PROCESS_MEMORY_COUNTERS = std::mem::zeroed();
+3
criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.mempalace/mcp_server/__init__.py
    source = path.read_text(encoding="utf-8")
    exec(compile(source, str(path), "exec"), globals())

+7
warningGo unsafe package usageunsafe package bypasses Go's type safety. Malware uses it for memory tricks, pointer casts, and hiding behavior.benchmarks/lean_mempalace/go/main.go
	"time"
	"unsafe"

	_ "modernc.org/sqlite"
+3
warningGo unsafe package usageunsafe package bypasses Go's type safety. Malware uses it for memory tricks, pointer casts, and hiding behavior.benchmarks/lean_mempalace/go/test_db.go
	"syscall"
	"unsafe"

	_ "modernc.org/sqlite"
+3
warningGo unsafe package usageunsafe package bypasses Go's type safety. Malware uses it for memory tricks, pointer casts, and hiding behavior.benchmarks/lean_mempalace/go/test_gc.go
	"time"
	"unsafe"

	_ "modernc.org/sqlite"
+3
criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.mempalace/cli/__init__.py
    source = path.read_text(encoding="utf-8")
    exec(compile(source, str(path), "exec"), globals())

+7
criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.mempalace/palace/__init__.py
    source = path.read_text(encoding="utf-8")
    exec(compile(source, str(path), "exec"), globals())

+7
warningPython 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_antigravity_hooks_install.py
    ]
    return subprocess.run(
        cmd,
        capture_output=True,
+4
warningPython 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_antigravity_hooks_shell.py
        env.update(extra_env)
    return subprocess.run(
        ["bash", str(script)],
        input=stdin,
+4
warningPython 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_claude_plugin_hook_wrappers.py

    return subprocess.run(
        [BASH, _shell_path(PLUGIN_HOOKS_DIR / script_name)],
        input=payload,
+4
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
infoSuspicious file in repoVery large source file (909KB) — could contain obfuscated payloadbenchmarks/results_locomo_hybrid_session_top10_20260414_1649.json+2
infoSuspicious file in repoVery large source file (909KB) — could contain obfuscated payloadbenchmarks/results_locomo_raw_session_top10_20260414_1634.json+2
infoSuspicious file in repoVery large source file (4026KB) — could contain obfuscated payloadbenchmarks/results_membench_hybrid_all_movie_top5_20260414_1656.json+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.

571 files scanned @ f41e8e7 | 10/22/2026 | heuristic scan — always review manually

risk by category
code execution25
network & exfiltration0
file system access0
obfuscation0
supply chain6
owasp / injection0
telemetry
files 571/837rules hit 14engine v7commit f41e8e7

github

MemPalace/mempalace

The best-benchmarked open-source AI memory system. And it's free.

Python
59697
7573
206d
837 files
571 scanned(68%)
f41e8e7

architecture░▒▓

entry (0) flagged (18) pkg (249)
649 nodes · 2545 edgesscroll to zoom · click node to jump to finding
LOW (15/100) — MemPalace/mempalace — ScanRepo