Repository navigation
Releases: GooDAnDReaDY/dsh-shadow-auditor
Releases · GooDAnDReaDY/dsh-shadow-auditor
Release list
v0.2.35 - Architecture Specification & Fail-Safe Posture (#150, #209)
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
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
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
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
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
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
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
Release v0.2.28
- Plugin Sources & Patch Integrity Verification (#94): Implemented
checkPluginsPatchSourcesinspectingcordis.patch.ymland plugin manifests, flagging unauthorized scopes, suspiciousevalexpressions, 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
calculateSecurityScorecalculating an aggregated security index (0..100) and status ratings (Safe,Needs Attention,Dangerous) based onSEVERITY_WEIGHT. - Diff Gate LRU Caching (#98): Added LRU result cache (512 entries) keyed by
sha256(content) + rulesetVersion, invalidating automatically onsetRulesetVersion.
Gitea commit: ede803877fe3c464f9e9d335b308d2693c988a23
Mirror commit: c5c93b9
v0.2.27
Release v0.2.27
- Audit Directory & Socket Permissions Check (#89): Added
checkConfigPermissionsauditing 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
checkEnvSecretsinspectingprocess.envkeys and values, identifying unmasked provider keys while safely masking credentials. - Supply Chain Live CVE Check via npm Audit API (#91): Added
checkDepsSupplyChainquerying official npm audit endpoint with an AbortController timeout (3000ms) and offline degradation. - Network Interface & Wildcard Listener Inspection (#92): Implemented
checkNetworkBindingsanalyzing Linux procfs/proc/net/tcpandos.networkInterfacesto flag external wildcard listeners on 0.0.0.0 or :: without loopback boundaries. - Historical Session Archive Stream Scanner (#93): Added
checkSessionsSensitivestreaming through .jsonl, .gz, and .zst archives with memory bounds and secret pattern matching.
Gitea commit: 36fcd1f3ba3d2a226e838a27e0350145ac907b8b
Mirror commit: 1e390c7
v0.2.26
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_audittool andrunSystemAuditengine covering config, env, sensitive paths, plugins, and network boundaries. - Configuration Secrets Scanner (#88): Implemented
checkConfigSecretsscanning configuration files while skipping placeholders and safely masking detected keys.
Gitea commit: e6fd03ca99223cf355dea683d42da0572cd7fcb0
Mirror commit: ed2a55d