ember@0.9.22
VERIFIED· install onlyPublisher claims: "Provides coding agents with persistent, queryable repository memory over MCP, enabling code search, cited question answering, repo maps, decision logs, and cross-session notes through local-first tools." 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
EMBER_API_KEYEMBER_MAX_OUTPUT_TOKENSConfiguration, not credentials: CHROME_PATH, EMBER_API_BASE, EMBER_ASK_MIN_SCORE, EMBER_CHAT_BASE, EMBER_CHAT_MODEL, EMBER_CHECKPOINT_CHUNKS, EMBER_CHECKPOINT_FILES, EMBER_CHECKPOINT_MS, EMBER_EMBED_BATCH, EMBER_EMBED_DIM, EMBER_EMBED_MODEL, EMBER_EVAL_DIR, EMBER_EVAL_EMBEDDER, EMBER_EVAL_LEX_DIM, EMBER_EVAL_REF, EMBER_EVAL_REPO, EMBER_HNSW, EMBER_HYBRID, EMBER_INDEX_RESULT_JSON, EMBER_LEXICAL, EMBER_LOCAL_EMBED, EMBER_LOCAL_EMBED_DIM, EMBER_LOCAL_EMBED_MODEL, EMBER_MAX_CALLS, EMBER_MAX_FILES, EMBER_MAX_PROMPT_CHARS, EMBER_PROBE_MODE, EMBER_PROBE_OUT, EMBER_PROGRESS_FILES, EMBER_REMOTE_EMBED- Where it talks to
- no vendor host named in the codeAlso githubusercontent.com, openrouter.ai — 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 with a scoped credential, under the guard, and read the third-party hosts first. The code names githubusercontent.com, openrouter.ai as well as its own vendor. The guard injects EMBER_API_KEY, EMBER_MAX_OUTPUT_TOKENS only into requests to the host you bind (and its subdomains) and refuses the rest.
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 86/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
if (estTok > 0) console.log(`estimated input tokens (chars/4, provider reported nothing): ${estTok}`);Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.assert.equal((await fetch(`${base}/api/file?path=${encodeURIComponent("/etc/passwd")}`)).status, 403);Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.["https://user:[email protected]/pallets/flask", "credentials in URL"],Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.// ~30s of embedding to a kill - measured motivation: on a 2-core/2 GBFix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.Ember never refuses to answer on a stale index.Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.await fs.symlink("/etc/passwd", path.join(dir, "leak.ts"));Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.await assert.rejects(() => readSourceContext(dir, "/etc/passwd", 1, 5), /escapes the repo root/);Fix: 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. 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.