This release includes 2 security fixes for security teams reviewing exposed deployments.
Topics
+10 more
Affected surfaces
Summary
AI summarySnapshot Restore CLI and MCP action, TLS Hardening Audit with PCI‑DSS/CIS/HIPAA checks, and HTTP Security Headers Audit are added.
Full changelog
Added
- Snapshot Restore —
kastell snapshot restoreCLI + MCPsnapshot-restoreaction with SAFE_MODE guard, double confirmation, and 4-provider support (Hetzner, DigitalOcean, Vultr, Linode) - Cloud ID Lookup —
findServerByIp()across all 4 providers;kastell addnow displays Cloud ID automatically - TLS Hardening Audit — 8 checks (min version, weak ciphers, HSTS with max-age validation, OCSP stapling, cert expiry, DH params, compression, cert chain) with PCI-DSS/CIS/HIPAA compliance mappings
- HTTP Security Headers Audit — 6 checks (X-Frame-Options, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, CORS wildcard, CSP) with PCI-DSS v4.0 mappings
- Lock Score Boost — 4 new lock steps (SSH fine-tuning with 15 directives, login.defs hardening, pam_faillock, sudo logging/requiretty) + 2 extended steps (banners +/etc/motd, cronAccess +at.allow); 24-step orchestrator
- Interactive menu — Added snapshot restore, audit --explain/--diff/--fix, doctor --fix options
- Stryker Mutation Testing — Baseline 40.74% across 19,726 mutants
Fixed
- Lock-audit alignment — 5 misalignments fixed (AIDE cron path, auditd restart, logrotate install+timer, cronAccess step, Docker mkdir)
- snapshotId MCP validation — Added regex validation for defense-in-depth
- CERT_NOT_FOUND sentinel — Properly emits when certificate file is missing instead of false CERT_EXPIRING_SOON
- HTTPS-only audit gap — HTTP header audit now tries HTTPS before HTTP for HTTPS-only servers
- CLI snapshotCreate SAFE_MODE — Added guard for consistency with MCP handler
- Vultr/Linode snapshotId validation — Added
assertValidServerIdfor defense-in-depth - Hetzner findServerByIp pagination — Changed
per_pagefrom 50 to 100 for consistency - Faillock idempotency — Each directive independently checked/updated instead of batch
- fileLock ENOENT — Ensure parent directory exists before creating lock file
Changed
- Test suite — 4178→5087 tests (909 new), 197 suites, 11 snapshots; branch coverage: global 93.25%, audit 95.96%, providers 91.22%, MCP 90.25%
- Audit categories — 27→29 (TLS Hardening + HTTP Security Headers); 421+ total checks
- CI hardening — Codecov integration, 4 typed test factory helpers, zero
as anycasts (231→0) - CI release gate —
release.ymlnow depends on CI success viaworkflow_run(prevents releasing when CI fails) - CI tag support — CI workflow now runs on tag pushes for release/publish chain
- TLS weak cipher detection — Added SEED and IDEA to pattern
- HSTS validation — Now checks max-age >= 31536000
- Compliance mappings — Added HIPAA for TLS, updated PCI-DSS HDR-005 to v4.0 (6.2.4)
- Skill consolidation — 5 global security skills delegated to single
kastell-security-check.md
Removed
- Stryker from CI — Mutation testing removed from GitHub Actions (exceeds 6h limit); moved to dedicated infrastructure with scheduled nightly incremental runs
Security
- Comprehensive v1.14 review — 5-agent parallel audit (OWASP, token/secret, audit system, code quality, test coverage); 13 findings resolved (3 MEDIUM + 10 LOW)
- Release workflow injection fix — Prevented shell injection via
head_branchinterpolation; added strict semver validation before checkout - Zero token leakage — 5-layer sanitization verified across all new code paths
Security Fixes
- Release workflow injection fix – prevents shell injection via `head_branch` interpolation and adds strict semver validation before checkout
- Zero token leakage – added 5‑layer sanitization across all new code paths
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About kastelldev/kastell
Server security auditing and hardening toolkit. 413 security checks across 29 categories (SSH, Firewall, Docker, TLS, HTTP Headers), CIS/PCI-DSS/HIPAA compliance mapping, 19-step production hardening, fleet management, and forensic evidence collection. Supports Hetzner, DigitalOcean, Vultr, and Linode. 13 MCP tools.
Related context
Related tools
Beta — feedback welcome: [email protected]