zurik@3.2.0
VERIFIED· install onlyPublisher claims: "CLI tool for encrypting and decrypting sensitive project files into a single .zurik bundle." 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
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-10 and scored it 80/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
zurik init [options] Find .env files and list them in .zurik (creates it)Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.// .env-style files under `root`, as sorted "/"-separated relative paths.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.Run it with `npx zurik` (or `zurik` if it's installed). Always pass `--json` and branch on `ok` / `error.code`, never on message text.Fix: Pin versions and sources; vendor anything fetched at install time.For other agents, add the output to `AGENTS.md`, or add this line:Fix: Remove the text that addresses the agent rather than the reader; describe behavior, do not instruct.E_OLD_FORMAT: ".zurik was written by zurik 2.x or earlier; decrypt it with `npx zurik@2 decrypt` and set it up again",Fix: Pin versions and sources; vendor anything fetched at install time.if (result.files.length === 0) log('No .env files found. Add a "--- <path>" line to .zurik for each secret file.');Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.`${BUNDLE_FILE} was written by zurik 2.x or earlier. Run 'npx zurik@2 decrypt', delete ${BUNDLE_FILE} ` +Fix: Pin versions and sources; vendor anything fetched at install time.const ENV_FILE = /^\.env(\..+)?$|\.env$/; // .env, .env.local, prod.envFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.// --- api/.env.productionFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.// --- .envFix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.--- name: zurik description: Encrypt, decrypt and check project secrets (.env files, keys, config) that are stored in a .zurik file. Use whenever a repo cont…Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.| Protect another file (no password) | `npx zurik add <path...> --json`, then `encrypt --json` |Fix: Pin versions and sources; vendor anything fetched at install time.…s: [{ path, action: 'added'|'already-listed'|'skipped' }] }", note: "Adds every .env file found unless run interactively in a terminal" }, add: { args: "<file…Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.| Set up a repo without `.zurik` (lists every `.env` file found; no password) | `npx zurik init --dry-run --json`, confirm the list with the user, then `npx zurik init --json` |Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.export const BANNER = "# Encrypted with zurik (https://github.com/apotox/zurik). Restore: npx zurik decrypt; agent docs: npx zurik skill";Fix: Pin versions and sources; vendor anything fetched at install time.otherwise (--json, --no-input, $CI or piped stdin) it adds every .env file found.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.| See what's out of sync (safe, read-only) | `npx zurik status --json` |Fix: Pin versions and sources; vendor anything fetched at install time./** Add .env files (or `files`) to .zurik, creating it if missing. No password needed.Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.| `E_NO_PASSWORD` | Ask the user to provide the password via the environment (see above). |Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.| Set up a repo without `.zurik` (lists every `.env` file found; no password) | `npx zurik init --dry-run --json`, confirm the list with the user, then `npx zurik init --json` |Fix: Pin versions and sources; vendor anything fetched at install time.- Do **not** ask the user to paste the password into the chat. Do **not** use `-p <password>` or `--password <value>`: that puts it in the transcript, the shell history and the process list.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
No advisories in OSV for zurik@3.2.0 as of 4d ago. This is the package itself, not its dependencies.