Kmd — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Kmd (Agent Skill) and scored it 45/100 (orange). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 1 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 1 flagged
A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.
*.sig, SIGNATURES) outside the documentation.Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
CLI + MCP server for structured markdown knowledge vaults. Validate, index (SQLite FTS5), and serve content to AI agents — one npx away.
Same primitives as Open Knowledge Format (markdown + YAML frontmatter + directory tree), but opinionated where OKF is minimal:
| OKF | kmd | |
|---|---|---|
| Vocabulary | open — producer picks type values | controlled — vault.yaml defines kinds, scopes, statuses, tags; kmd validate enforces |
| Structure | flat — organize however | three domains: projects/ · research/ · notes/ |
| Validation | none — format spec only | deterministic, LLM-free; gates sync + pre-commit hook |
| Cross-refs | bundle-relative /path.md | [[wikilinks]] (Obsidian-native, rename-safe, no-dangling guarantee) |
| Agent surface | none — bring your own | two MCP tools (prime, search) + template resources |
| Infrastructure | n/a | node:sqlite FTS5; zero external deps |
npx @bartolli/kmd --helpkmd validate [<path>] deterministic vault checker (default: $WIKI_VAULT)
kmd sync vault → SQLite index (runs validate first)
kmd mcp [<vault-root>] stdio MCP server
kmd db reset delete and recreate the index{
"mcpServers": {
"wiki": {
"command": "npx",
"args": ["-y", "@bartolli/kmd", "mcp", "/absolute/path/to/vault"]
}
}
}Two tools:
{path, title, kind, summary, score}. Never page bodies.Templates served as MCP resources at wiki://template/{domain}/{kind}.
vault/
├── vault.yaml # controlled vocabulary
├── templates/ # frontmatter templates → MCP resources
├── projects/{scope}/ # specs, ADRs, plans, stories
├── research/{topic}/ # articles, sources
└── notes/ # low-ceremony captureRequires Node.js 22+ (node:sqlite FTS5) and pnpm 11+.
pnpm install
pnpm -r run typecheck && pnpm -r run test && pnpm lintMIT
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.