Skip to content

Releases: GooDAnDReaDY/dsh-shadow-auditor

v0.2.35 - Architecture Specification & Fail-Safe Posture (#150, #209)

Choose a tag to compare

@GooDAnDReaDY GooDAnDReaDY released this 14 Oct 10:48

Security & Architecture

  • Architecture Contract & Security Guarantees Specification (#150): Added Section 20 to docs/design/DESIGN.md detailing the 4 interception surfaces, Zero-Leak invariant, fail-safe security posture, threat mitigation table, and Mermaid sequence data flow.
  • Fail-Safe Security Posture & Hardened Tool Detection (#209): Hardened isCommandTool inspection for both naming and argument shapes (command, cmd, CommandLine, script, powershell); added dedicated PowerShell -EncodedCommand / -enc base64 decoder with UTF-16LE and UTF-8 support; converted tools/pre-execute and tool guards to strictly fail-closed upon handler error in enforce mode; sanitized output blocks on tools/post-execute exceptions; gated updater minimum release age flag behind explicit option.

v0.2.34

Choose a tag to compare

@GooDAnDReaDY GooDAnDReaDY released this 14 Oct 10:34

Added & Architecture

  • Fail-Fast Configuration Validation (#145): Added resolveConfig performing strict startup type, bounds, and enum checks on plugin configuration.
  • Pure Standard Library Isolation (#146): Decoupled all lib/ modules from external runtime packages and Cordis interfaces to pure node:* primitives.
  • Architectural Separation of Sanitize & Mask (#147): Formally isolated irreversible redaction (lib/sanitize.js) from reversible prompt shielding (lib/mask.js).
  • Expanded Token Detection (#148): Extended secret scanner with high-precision detectors for GitHub fine-grained PATs, Slack API tokens, AWS STS keys, and Bearer authorization headers.
  • Browser Demasking Slot Preparedness (#149): Added maskClientEnabled configuration setting (default false) and client exchange architecture.

v0.2.33

Choose a tag to compare

@GooDAnDReaDY GooDAnDReaDY released this 14 Oct 10:24

Added & Reliability

  • Domain Persistence Schemas (#140): Implemented AuditRecordSchema, SessionMappingSchema, and ConfigSchema with parse / safeParse validation at storage boundaries.
  • Structured Domain Errors AuditorError (#141): Added AuditorError class hierarchy with machine-readable error codes (ERR_BOUNDS_EXCEEDED, ERR_RESTORE_FAILED, ERR_STORAGE_UNAVAILABLE, ERR_VALIDATION_FAILED) and sanitized diagnostic details.
  • Incremental Replacement Telemetry stripInto (#142): Added stripInto returning per-step replacement delta histograms and incrementing telemetry accumulators in real-time.
  • Safe Mapping Summaries summarizeMapping (#143): Added summarizeMapping generating sanitized edge-truncated sample previews (sk90, af, ****) for UI inspection.
  • Counter Continuity on Restart loadMapping (#144): Added loadMapping parsing maximum numerical indices from existing placeholder tables (<TYPE_N>), guaranteeing continuous sequential numbering without collisions across host reboots.

v0.2.32

Choose a tag to compare

@GooDAnDReaDY GooDAnDReaDY released this 14 Oct 10:15

Added & Performance

  • Ignorable Envelope Runtime Probe (#130): Added probeIgnorableAppend(session) safely testing whether host runtime supports ignorable events.
  • Deduplicated Event Gate (#131): Added makeEventGate managing adaptive audit event appending with per-session warning deduplication.
  • Stateless Mask Testing Tool (#137): Registered shadow_auditor_mask_test tool and exported testMasking(text) for ad-hoc stateless inspection of sensitive entity masking rules.
  • Pluggable Detector Provider Seam (#138): Decoupled sensitive token discovery via pluggable detector option on Stripper and StripperRegistry.
  • LRU Session Eviction & Per-Session Store Limits (#139): Added LRU cache eviction in StripperRegistry (maxSessions: 100) and FIFO entry eviction in Stripper (maxRestoreEntriesPerSession: 500).

v0.2.31

Choose a tag to compare

@GooDAnDReaDY GooDAnDReaDY released this 13 Oct 19:47

Release v0.2.31

Features & Performance

  • In-Memory Ring Buffer (#118): Added in-memory ring buffer (maxReportEntries: 200) in AuditRecorder for sub-millisecond RAM responses on /events.
  • Chat Command /shadow-auditor (#119): Added /shadow-auditor status, report, and restore commands with i18n support.
  • Subagent Report Tool (#120): Added shadow_auditor_report tool for subagents to inspect session security metrics and blocked actions.
  • Benchmark Attack Taxonomy Catalog (#122): Structured audit rules into canonical benchmark categories with prefix IDs (inj-001, jail-001, leak-001, esc-001).
  • Standardized Severity Ranking (#123): Standardized severityRank(severity) 0..3 with case-insensitive normalization and maxSeverity resolution.

v0.2.30

Choose a tag to compare

@GooDAnDReaDY GooDAnDReaDY released this 13 Oct 19:26

Release v0.2.30

  • Unicode NFKC Text Normalization (#113): Added
    ormalizeNfkc\ in \diff-gate\ to normalize visual mathematical letters, fullwidth glyphs, and homoglyphs to standard characters before pattern matching.
  • Head Scan Limit for Large Documents (#114): Added \maxScanChars\ (default 10,000 for raw files) to bound scanning on megabyte-sized assets with \ runcated: true\ reporting.
  • Findings Limit per Scan (#115): Added \maxMatches\ capping (default 100) preventing memory blowout and reporting \matchesCapped: true.
  • Session Envelope Ignorable Flag (#116): Added \�ppendSessionEvent\ and
    ecordToSession\ stamping session-scoped audit records with { ignorable: true }\ for safe backwards compatibility.
  • Typed Detection Event Registry (#117): Created \DetectionEvent\ discriminated union registry (\dsh-shadow-auditor/detection) with \createDetectionEvent\ and \isDetectionEvent.

Gitea commit: 68a31a72de584bd08122e76e726a592b2429c321
Mirror commit: 82f4174

v0.2.29

Choose a tag to compare

@GooDAnDReaDY GooDAnDReaDY released this 13 Oct 18:39

Release v0.2.29

  • Runtime Agent Skill Registration (#99): Added
    egisterShadowAuditSkill\ registering \shadow-audit-review\ in DSH \skills\ service upon availability.
  • Diagnostic Error Sanitization (#100): Implemented \sanitizeError\ and \sanitizeErrorMessage\ masking internal storage and drive paths (<home>, <storage>, <drive>, <module>) and suppressing internal stack traces in client diagnostics.
  • Aho-Corasick Multi-Pattern Automaton (#101): Integrated pure JS \AhoCorasick\ automaton performing linear O(N + M) multi-keyword search across commands and diffs with BFS failure transitions.
  • Two-Phase Fast Scanner Architecture (#102): Added \TwoPhaseScanner\ combining linear Aho-Corasick static needle search with targeted regex execution, eliminating regex evaluation on clean inputs.
  • Zero-Leak MatchInfo Invariant (#112): Implemented \createMatchInfo\ and \ oZeroLeakMatch\ ensuring finding and event records store only safe masked snippets (\safeSnippet), offsets, and types without raw plaintext secret strings.

Gitea commit: fbc5e2a454a6491647ec7064e28c51a03f4b07ed
Mirror commit: d95ffe2

v0.2.28

Choose a tag to compare

@GooDAnDReaDY GooDAnDReaDY released this 13 Oct 18:19

Release v0.2.28

  • Plugin Sources & Patch Integrity Verification (#94): Implemented checkPluginsPatchSources inspecting cordis.patch.yml and plugin manifests, flagging unauthorized scopes, suspicious eval expressions, or untrusted git archive URLs.
  • Path Normalization in Reports & Feeds (#95): Added norm(base, workspace, path) replacing home directories with <base> and workspace roots with <workspace> across both POSIX and Windows path representations.
  • Protected Network Signatures (#96): Added PROTECTED_SIGNALS (127.0.0.1, 0.0.0.0, ::1, ::, localhost) preserving critical loopback diagnostic signals from sanitizer redaction.
  • Weighted Session Security Score (#97): Implemented calculateSecurityScore calculating an aggregated security index (0..100) and status ratings (Safe, Needs Attention, Dangerous) based on SEVERITY_WEIGHT.
  • Diff Gate LRU Caching (#98): Added LRU result cache (512 entries) keyed by sha256(content) + rulesetVersion, invalidating automatically on setRulesetVersion.

Gitea commit: ede803877fe3c464f9e9d335b308d2693c988a23
Mirror commit: c5c93b9

v0.2.27

Choose a tag to compare

@GooDAnDReaDY GooDAnDReaDY released this 13 Oct 17:53

Release v0.2.27

  • Audit Directory & Socket Permissions Check (#89): Added checkConfigPermissions auditing POSIX file modes for audit logs, secret stores, and sockets against 0700/0600 limits with safe Windows no-op.
  • Process Environment Variable Secrets Audit (#90): Implemented checkEnvSecrets inspecting process.env keys and values, identifying unmasked provider keys while safely masking credentials.
  • Supply Chain Live CVE Check via npm Audit API (#91): Added checkDepsSupplyChain querying official npm audit endpoint with an AbortController timeout (3000ms) and offline degradation.
  • Network Interface & Wildcard Listener Inspection (#92): Implemented checkNetworkBindings analyzing Linux procfs /proc/net/tcp and os.networkInterfaces to flag external wildcard listeners on 0.0.0.0 or :: without loopback boundaries.
  • Historical Session Archive Stream Scanner (#93): Added checkSessionsSensitive streaming through .jsonl, .gz, and .zst archives with memory bounds and secret pattern matching.

Gitea commit: 36fcd1f3ba3d2a226e838a27e0350145ac907b8b
Mirror commit: 1e390c7

v0.2.26

Choose a tag to compare

@GooDAnDReaDY GooDAnDReaDY released this 13 Oct 17:35

Release v0.2.26

  • Cooperative Timeout Budget (#84): Implemented configurable execution budgets (timeoutMs, onTimeout) with cooperative checkpoints in lifecycle guards.
  • Local Ollama Command Classification (#85): Added asynchronous local LLM command risk classifier (classifyCommand) with borderline score heuristics and deterministic rule-based fallback.
  • Audit Report Integrity Checksum (#86): Integrated SHA-256 cryptographic checksum (calculateReportChecksum, verifyReportChecksum) into audit bills and reports.
  • Host Security Audit Tool (#87): Registered shadow_auditor_system_audit tool and runSystemAudit engine covering config, env, sensitive paths, plugins, and network boundaries.
  • Configuration Secrets Scanner (#88): Implemented checkConfigSecrets scanning configuration files while skipping placeholders and safely masking detected keys.

Gitea commit: e6fd03ca99223cf355dea683d42da0572cd7fcb0
Mirror commit: ed2a55d