Skip to content

v0.1.0

Choose a tag to compare

@jkrandom-sudo jkrandom-sudo released this 14 Aug 04:00
· 8 commits to main since this release
c377bf9

Features

  • Static audit engine (src/scanner/): read-only walker (400-file / 256 KB caps), capability detection (fs read/write, subprocess, network, env access, credential paths, dynamic exec, patch overrides, manifest) with file/line evidence, package.json + cordis.patch.yml analysis, info / notice / review risk grading.
  • plugin_audit tool: audits a local plugin directory and returns a Markdown permission card plus JSON summary { markdown, risk, filesScanned, findingsCount, writesPerformed }. writesPerformed: false is contractual; the optional dsh-plugin-audit/invariant companion fails the session if a result ever loses the marker.
  • Runtime sentinel (src/sentinel/): tools/pre-execute waterfall listener returning ask (host approval prompt; degrades to deny without one) for credential-path references, shell egress toward non-allowlisted hosts, and home-directory dotfile writes. Configurable via sentinelEnabled / allowedHosts (schemastery schema).

Fixes

  • Bundle patch no longer wires the ./invariant companion: stock web/base profiles do not provide the invariants service, and the pending row blocked boot (found during real-profile verification). The companion remains exported for profiles that do provide it.

Tests

  • 23 vitest tests: loader export-shape unwrap, schema defaults, three fixture scans (suspicious / clean / patch-override), Markdown card snapshot, sentinel rule matrix, disposal cleanup, invariant register/fail paths. Fixtures under tests/fixtures/.

Docs

  • Bilingual README: README.md (English) / README.zh.md (中文) — overview, compatibility, install (npm + GitHub), uninstall, quick start, configuration, permissions & data, troubleshooting, development, license & security.
  • MIT license.

Verification

  • pnpm typecheck && pnpm test && pnpm build — all green (23/23).
  • Real DSH environment (mainline snapshot 2026-08-14, local web profile): installed via dsh plugin --profile web add; composed profile booted in-process with zero errors (the loader aborts boot on any non-activating entry); plugin_audit resolved via the real ToolRuntime; sentinel returned ask for cat ~/.ssh/id_rsa and delegated pnpm test; end-to-end audit of a suspicious fixture returned risk=review, 10 findings, writesPerformed=false.

Full Changelog: https://github.com/jkrandom-sudo/dsh-plugin-audit/commits/v0.1.0