Implement remediation-aware health checks across all Doctor plugin modules (Agent, Attestor, Auth, BinaryAnalysis, Compliance, Crypto, Environment, EvidenceLocker, Notify, Observability, Operations, Policy, Postgres, Release, Scanner, Storage, Vex) and their backing library counterparts (AI, Attestation, Authority, Core, Cryptography, Database, Docker, Integration, Notify, Observability, Security, ServiceGraph, Sources, Verification). Each check now emits structured remediation metadata (severity, category, runbook links, and fix suggestions) consumed by the Doctor dashboard remediation panel. Also adds: - docs/doctor/articles/ knowledge base for check explanations - Advisory AI search seed and allowlist updates for doctor content - Sprint plan for doctor checks documentation Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2.4 KiB
2.4 KiB
checkId, plugin, severity, tags
| checkId | plugin | severity | tags | ||||
|---|---|---|---|---|---|---|---|
| check.timestamp.evidence.staleness | stellaops.doctor.timestamping | warn |
|
Evidence Staleness
What It Checks
Aggregated check for timestamp evidence staleness across six dimensions:
- TST Expiry: timestamps approaching signing certificate expiry (warn at 180 days, critical at 90 days).
- Deprecated Algorithms: timestamps using deprecated hash algorithms (e.g., SHA1).
- Missing Stapling: timestamps without stapled OCSP/CRL revocation data.
- Retimestamp Queue: artifacts pending re-timestamping.
- OCSP Staleness: OCSP responses approaching expiry (warn at 3 days).
- CRL Staleness: CRLs approaching expiry (warn at 7 days).
Fails if any dimension is unhealthy (count exceeds CriticalStaleCount, default 10). Warns if any dimension is degraded.
Why It Matters
Stale evidence loses its verifiability over time. Expired timestamps, deprecated algorithms, and missing revocation data all weaken the chain of trust. Proactive detection enables scheduled re-timestamping before evidence becomes unverifiable.
Common Causes
- Re-timestamp jobs not running or failing
- TSA signing certificates approaching expiry
- OCSP/CRL cache not refreshed
- Legacy artifacts signed with SHA1
How to Fix
Docker Compose
# Run evidence refresh
docker exec <platform-container> stella evidence refresh --all
# Run retimestamp queue
docker exec <platform-container> stella retimestamp run
Bare Metal / systemd
# Check evidence status
stella evidence audit --staleness
# Refresh stale evidence
stella evidence refresh --all
# Process retimestamp queue
stella retimestamp run
# Schedule automatic refresh
stella retimestamp schedule create --interval daily
Kubernetes / Helm
timestamping:
evidenceStaleness:
tstWarnDays: 180
tstCriticalDays: 90
criticalStaleCount: 10
retimestampSchedule: "0 1 * * *"
Verification
stella doctor run --check check.timestamp.evidence.staleness
Related Checks
check.timestamp.evidence.tst.expiry— focused check for expiring TSTscheck.timestamp.evidence.tst.deprecated-algo— focused check for deprecated algorithmscheck.timestamp.evidence.tst.missing-stapling— focused check for missing staplingcheck.timestamp.evidence.retimestamp.pending— focused check for pending retimestamps