mcp-server-malcolm@1.2.1
CAUTION· not startedPublisher claims: "MCP server for the Malcolm network traffic analysis platform (Zeek + Suricata + Arkime + OpenSearch + NetBox) — full read surface plus opt-in, audited write tools" Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Not started: dependency install failed; the server itself was not observed.- Tested
- the dependency install step · every file read, file written and host contacted by what ran
- Not tested
- server startup · the tool list · tool behavior
What this means for the label: Caution here covers what ran. The server's tools were not exercised with a real credential, so nothing about their behavior is asserted; the credential summary below says what to do with that.
Before you give it your token
- It will ask for
MALCOLM_PASSWORDConfiguration, not credentials: MALCOLM_BASE_URL, MALCOLM_MCP_AUDIT_FILE, MALCOLM_MCP_UPLOAD_DIR, MALCOLM_SSL_VERIFY, MALCOLM_TIMEOUT, MALCOLM_URL, MALCOLM_USERNAME- Where it talks to
- malcolm.example (its own)
- What the honeypot saw
- no credential files read · no network
- What we could not test
- server startup · the tool list · tool behavior
Connect it with a scoped credential, under the guard. It asks for MALCOLM_PASSWORD and talks to malcolm.example. Give the credential to the guard, not the server: the value never enters the server's environment and only travels to the host you bind. What the tools do with a real credential was not observed.
Never paste a credential into a chat, a ticket or a report, including ours. How the guard holds it.
Is [email protected] safe to install?
KillerSkills ran it in the KillerSkills honeypot sandbox (2 scenarios; not started: dependency install failed; the server itself was not observed) on 2026-11-09 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: URL with embedded credentials; URL with embedded credentials; References a credential file in the home directory. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 2 scenarios · 0 deviationsStatic findings
{"session_id": _SID, "file_hash": "../../etc/passwd"},Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.raised = await raised_by(mcp, "arkime_file_by_hash", {"file_hash": "../etc/passwd"})Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose._BASE = "https://operator1:[email protected]"Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.Strips URL userinfo (``https://user:pw@host`` -> ``https://host``) and theFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.>>> redact("GET https://operator1:[email protected]/mapi/fields failed")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.return httpx.Response(200, content=b"\xd4\xc3\xb2\xa1\x02\x00\x04\x00rest-of-pcap")Fix: Put hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.await c.extracted_file("a/../../etc/passwd")Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.could exfiltrate any file the process can read (~/.ssh/id_rsa, ~/.aws/...). IfFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.could exfiltrate any file the process can read (~/.ssh/id_rsa, ~/.aws/...). IfFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.def _dsl_server(handler) -> tuple[MCPServer, list[httpx.Request]]:Fix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them._server(handler), "arkime_session_payload", {"session_id": "../../etc/passwd"}Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.could exfiltrate any file the process can read (~/.ssh/id_rsa, ~/.aws/...). IfFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose."GET https://operator1:[email protected]/mapi/fields -> 401",Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.f"[mcp-server-malcolm] write classes: {cfg.enabled_summary()}", file=sys.stderr, flush=TrueFix: Namespace tool names and keep tool descriptions literal; no instructions to the agent inside them.("https://admin:p%[email protected]/x", "p%40ss", "192.0.2.1"),Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.# decoded view and reads as "/extracted-files/a/../../etc/passwd" evenFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.Cost to the agent
Tokens estimated at four characters each. The tool list is re-read by the agent on every turn, so it is the number to compare between servers that do the same job: ranked across the index.
Known vulnerabilities
No advisories in OSV for mcp-server-malcolm@1.2.1 as of 5d ago. This is the package itself, not its dependencies.
What would make this Verified
12 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%- Reads credential paths from the home directory≈ +9 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- Unclaimed publisher≈ +8 on the totalClaim nagametw: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
- References a credential file in the home directory≈ +4 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- Access to sensitive file paths≈ +2 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- URL with embedded credentials≈ +2 on the totalStop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
- Hex-encoded string detected≈ +2 on the totalPut hosts, commands and strings in plain source. Decoding at runtime looks identical to malware and costs points on its own.