graph-memory-mcp@0.2.2
CAUTIONPublisher claims: "MCP server for graph-based long-term memory (FalkorDB or ArcadeDB)" Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios) on 2026-11-01 and scored it 68/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Outbound HTTP to raw IP address; Outbound HTTP to raw IP address; Access to sensitive file paths. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 2 scenarios · 0 deviationst+CategoryObserved action
0.0sprocessno install scripts in bundle
0.3sprocessdependency install exit 1
0.3sprocessexec /usr/bin/timeout
0.3sprocessexec .venv/bin/graph-memory-mcp
0.3sprocessexited 127: timeout: failed to run command '.venv/bin/graph-memory-mcp': No such file or directory
0.3sclaimedno tools/list reply (exit 127)
0.3sprocessscript backend runs setup only
Static findings
HIGH
Outbound HTTP to raw IP addressgraph_memory_mcp/explorer/cli.py:10 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07HIGH
Outbound HTTP to raw IP addressgraph_memory_mcp/base_server.py:44 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07HIGH
Access to sensitive file pathsgraph_memory_mcp/config.py:248 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05HIGH
Access to sensitive file pathsgraph_memory_mcp/config.py:34 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05HIGH
Access to sensitive file pathsgraph_memory_mcp/config.py:33 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05HIGH
Access to sensitive file pathsgraph_memory_mcp/config.py:254 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05HIGH
Access to sensitive file pathsgraph_memory_mcp/config.py:269 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system filesFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05MEDIUM
Outbound HTTP to raw IP addresstests/test_auth_http.py:66 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_auth_http.py:66 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_explorer.py:180 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Python subprocess execution detectedtests/test_explorer.py:166 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05MEDIUM
Outbound HTTP to raw IP addresstests/test_auth_http.py:63 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_explorer.py:176 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addressgraph_memory_mcp/base_server.py:44 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_explorer.py:135 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addressgraph_memory_mcp/explorer/cli.py:10 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_auth_http.py:114 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_explorer.py:133 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_auth_http.py:111 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_auth_http.py:63 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_auth_http.py:111 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_auth_http.py:114 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_explorer_auth.py:58 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_explorer_auth.py:110 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_explorer.py:180 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_explorer_browser.py:42 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_explorer.py:176 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_explorer_auth.py:106 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_explorer_browser.py:43 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_explorer_auth.py:106 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_explorer.py:135 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_explorer_browser.py:42 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_explorer_auth.py:55 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Python subprocess execution detectedtests/test_explorer_browser.py:44 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05MEDIUM
Outbound HTTP to raw IP addresstests/test_explorer_browser.py:43 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_explorer_auth.py:110 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_explorer.py:133 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_explorer_auth.py:55 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_explorer_auth.py:58 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_graph_memory_server.py:650 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_owner_scope.py:635 · URL using raw IP address — may bypass domain-based filteringFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_graph_memory_server.py:111 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_graph_memory_server.py:577 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_graph_memory_server.py:114 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_graph_memory_server.py:574 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_graph_memory_server.py:650 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Python subprocess execution detectedtests/test_get_context_compat.py:99 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05MEDIUM
Outbound HTTP to raw IP addresstests/test_graph_memory_server.py:577 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_graph_memory_server.py:114 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_graph_memory_server.py:574 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Python subprocess execution detectedtests/test_memory_hooks.py:18 · Python subprocess execution detectedFix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05MEDIUM
URL using raw IP addresstests/test_graph_memory_server.py:111 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_owner_scope.py:635 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_relation_policy.py:303 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_relation_policy.py:382 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_relation_policy.py:303 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_relation_policy.py:379 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_relation_policy.py:300 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
Outbound HTTP to raw IP addresstests/test_relation_policy.py:382 · Outbound HTTP to raw IP address — may bypass domain-based monitoringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_relation_policy.py:300 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07MEDIUM
URL using raw IP addresstests/test_relation_policy.py:379 · URL using raw IP address — may bypass domain-based filteringFix: Replace encoded or assembled strings with plain literals and remove undeclared network calls.
AST07What would make this Verified
12 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Unclaimed publisher≈ +8 on the totalClaim river-ai-lab: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- Outbound HTTP to raw IP address≈ +4 on the totalReplace encoded or assembled strings with plain literals and remove undeclared network calls.
- Access to sensitive file paths≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- URL using raw IP address≈ +2 on the totalReplace encoded or assembled strings with plain literals and remove undeclared network calls.
- Python subprocess execution detected≈ +2 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
Publish a new version to PyPI, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim river-ai-lab