v2.2.2
v2.2.2 — Security Hardening + Code Quality
Security (Cordyceps Hardening)
- CI-1 — Supply chain fix (release.yml): Syft installation replaced
curl | bashwith pinned binary download + SHA-256 checksum verification. Hash displayed in CI logs for PR diff visibility. - CI-2 — Unsigned dev images (docker.yml): Branch-triggered Docker images now use
dev-namespace prefix and are signed immediately with cosign (removed tag-only gate). - CI-3 — Path traversal via symlink bypass: Replaced
utils.SafePathwithcli.ValidateInputPath/cli.ValidateOutputPathusingfilepath.EvalSymlinksbefore containment check. Migrated 33 call sites across 19+ files. Fixed TOCTOU inpkg/accept/accept.go. Fixed gap incmd/evaluate/evaluate.go(--out-filenow validates beforeos.Create). 33 tests including symlink escape, null bytes, shell injection, pseudo-filesystems. - New
pkg/cli/pathguard.go: Central path validation package.
Added (11 New Commands)
| Command | Description |
|---|---|
wardex trust list |
List all keys in the trust store with status, role, and metadata |
wardex trust show <id> |
Display detailed info for a specific trust key |
wardex trust verify |
Verify root signature validity and key status |
wardex config show |
Display configuration metadata and SHA-256 hash |
wardex auth status |
Show trust store integrity with key counts |
wardex auth verify --actor |
Verify actor permissions against the trust store |
wardex contract verify |
Compute SHA-256 hash of a contract file |
wardex assets inventory |
Display ICT asset inventory with criticality and exposure |
wardex hmac sign |
Compute HMAC-SHA256 signature for file integrity |
wardex convert kev |
Convert CISA KEV catalogue to Wardex YAML format |
wardex chain seal |
Create SHA-256 chain seal of all artifacts in a directory |
Code Quality (PR #102)
- Consolidated atomic writes (
pkg/atomicwrite) — fixed temp-file leak - Shared gate pipeline (
pkg/gate) — DRY between evaluate and wardex commands runEvaluate()decomposed from CC=123 into 11 focused helpers- Revocation map helpers (
RevokedKeySet,KeyStats) in trust store - 39 "what" comments removed across 14 files
- UI table standardization with
pkg/ui/table.go
Provenance
This release includes a signed provenance manifest for source tree verification.
Signing public key:
ed25519:HsD9e6BB2LlaeKODGqgWUZoflDgdUH1HWTdyWA7dGqE=
Root hash (BLAKE3, 113 files):
sha256:6f972edf99f5457f8fb13668c529f4343dab7a76d20b67ea746ebdf54d910fee
# Verify source tree integrity
immutable-provenance verify \
--manifest provenance-manifest-v2.2.2-signed.yaml \
--dir /path/to/wardex-v2.2.2Checksums
Download wardex_2.2.2_checksums.txt and verify:
sha256sum -c wardex_2.2.2_checksums.txt --ignore-missing