v0.1.0
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.ymlanalysis,info / notice / reviewrisk grading. plugin_audittool: audits a local plugin directory and returns a Markdown permission card plus JSON summary{ markdown, risk, filesScanned, findingsCount, writesPerformed }.writesPerformed: falseis contractual; the optionaldsh-plugin-audit/invariantcompanion fails the session if a result ever loses the marker.- Runtime sentinel (
src/sentinel/):tools/pre-executewaterfall listener returningask(host approval prompt; degrades todenywithout one) for credential-path references, shell egress toward non-allowlisted hosts, and home-directory dotfile writes. Configurable viasentinelEnabled/allowedHosts(schemastery schema).
Fixes
- Bundle patch no longer wires the
./invariantcompanion: stock web/base profiles do not provide theinvariantsservice, 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
webprofile): installed viadsh plugin --profile web add; composed profile booted in-process with zero errors (the loader aborts boot on any non-activating entry);plugin_auditresolved via the realToolRuntime; sentinel returnedaskforcat ~/.ssh/id_rsaand delegatedpnpm test; end-to-end audit of a suspicious fixture returnedrisk=review, 10 findings,writesPerformed=false.
Full Changelog: https://github.com/jkrandom-sudo/dsh-plugin-audit/commits/v0.1.0