github.com / Ar9av
Ar9av/ obsidian-wiki
Python·489 files·commit 2f10142·scanned 1h ago·cached ✓
25/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.
score capped at 25 — 3,488 stars — findings likely legitimate code patterns
verdict accurate?
22% file coverage
threat-state: lowlive
FINDINGS ░▒▓
criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.extensions/brain/host/brain_fill_host.py
form schema -> obsidian-wiki context-pack --json (deterministic, no LLM)
-> claude -p / codex exec (subscription-billed)
-> {field_id: value, c...+7warningPython 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_session_recap_hook.py
}
return subprocess.run(
["bash", str(HOOK)], cwd=str(cwd), env=environment,
capture_output=True, text=True, timeout=60,+4criticalPython dynamic code executioneval(), exec() or compile() on untrusted input can execute arbitrary code. Common in Python malware for running obfuscated payloads.tests/test_stop_hook_behavior.py
def test_python_exec_counts_as_mutating(self):
entries = [_bash_entry("python3 -c \"exec(open('payload.py').read())\"")] * 4
self.assertEqual(self._run(entries).returncode, 2)
+7warningPython 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_stop_hook_behavior.py
# Isolated TMPDIR so sentinel state never leaks between tests.
return subprocess.run(
["bash", str(HOOK)],
input=json.dumps(payload),+4criticalBrowser credential store accessAccessing Chrome, Firefox, Edge, or Brave profile directories to steal cookies, passwords, and session tokens.extensions/brain/host/install.sh
TARGETS=(
"$HOME/Library/Application Support/Google/Chrome/NativeMessagingHosts"
"$HOME/Library/Application Support/Google/Chrome Canary/NativeMessagingHosts"
"$HOME/Library/Appl...+10warningHigh-entropy string literalsFound 6 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.extensions/brain/host/brain_fill_host.py+3
warningHigh-entropy string literalsFound 8 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.extensions/brain/popup.js+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.extensions/brain/popup.js+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.obsidian_wiki/ast_extractor.py+3
warningHigh-entropy string literalsFound 27 long strings with high Shannon entropy. This is common in obfuscated payloads that hide URLs, keys, or bytecode.obsidian_wiki/cli.py+3
warningFlattened or dead control flowDetected switch(true), dead if branches, or deeply nested ternaries — patterns used by obfuscators to hide execution order.obsidian_wiki/graphrag.py+3
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.
110 files scanned @ 2f10142 | 9/25/2026 | heuristic scan — always review manually
risk by category
code execution24
network & exfiltration0
file system access10
obfuscation15
supply chain0
owasp / injection0
telemetry
files 110/489rules hit 12engine v6commit 2f10142
github
Ar9av/obsidian-wiki
Framework for AI agents to build and maintain a digital brain through Obsidian wiki | Memory System for Agents
3488
346
172d
489 files
110 scanned(22%)
2f10142
architecture░▒▓
entry (0) flagged (11) pkg (86)
187 nodes · 484 edgesscroll to zoom · click node to jump to finding