badland-brain@0.1.0
VERIFIED· install onlyPublisher claims: "Provides a single self-hosted memory that any MCP client can read and write, combining keyword and vector search with facts that keep their history as they change. Entries carry per-agent keys and provenance, and secret-shaped content is refused, so multiple coding agents can share one trustworthy record." Observed in sandbox: no network, touches nothing outside the project, writes no memory.
Coverage
Nothing executable in the bundle ran; the trace covers the install step only.- Tested
- every file read, file written and host contacted by what ran
- Not tested
- use of the skill by an agent
What this means for the label: Verified 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
- no credential variables read in the code
- Where it talks to
- no vendor host named in the codeAlso example.invalid, brain.example — not the publisher's domain; check what for before connecting.
- What the honeypot saw
- no credential files read · no network
- What we could not test
- use of the skill by an agent
Connect it under the guard. Nothing executable in the bundle ran; the trace covers the install step only. The code names no credential variable; the guard pins the network to what the honeypot saw and logs every call.
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 (1 scenario; nothing executable in the bundle ran; the trace covers the install step only) on 2026-11-13 and scored it 81/100 (Verified). In what ran, nothing we could detect went wrong: no undeclared network egress, no credential reads, no persistent instruction writes. What it does with a real credential was not observed; the static findings and the publisher carry the rest of the score. Summary: no network, touches nothing outside the project, writes no memory.
Behavior trace
Honeypot run · 0 s · 1 scenarios · 0 deviationsStatic findings
* `.env.example` documents each one.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.Add something like this to `CLAUDE.md`, `AGENTS.md` or your client's instructions:Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.this.logger.warn('keys file is readable by other users; run chmod 600 on it', { file });Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.loadBrainConfig({ BRAIN_EMBED_PROVIDER: 'fake', BRAIN_EMBED_DIMS: '32', BRAIN_DATA_DIR: '/nonexistent/badland-brain-test', ...env });Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.RUN mkdir -p /data && chown node:node /dataFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.res.status(400).json({ ok: false, code: 'bad_input', error: 'The request body is not valid JSON.' });Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.serve Start the server (settings come from BRAIN_* variables; see .env.example)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.res.status(405).json({ ok: false, code: 'method_not_allowed', error: 'POST JSON-RPC to /mcp.' });Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.res.status(400).json({ ok: false, code: 'bad_input', error: issue ? `${issue.path.join('.') || 'input'}: ${issue.message}` : 'Invalid input' });Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.res.status(400).json({ ok: false, code: 'bad_input', error: 'x-brain-source must be a slug and may not be a reserved lineage system' });Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.expect(warnings.some((w) => w.includes('chmod 600'))).toBe(process.platform !== 'win32');Fix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.Cost to the agent
Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.
Known vulnerabilities
Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.