3.0 KiB
3.0 KiB
BOOT.md
On gateway startup, run a silent security + readiness check for this workspace.
Startup checklist
- Confirm core workspace files exist:
AGENTS.md,SOUL.md,USER.md,TOOLS.md,HEARTBEAT.md
- Confirm required local skill folders exist:
skills/searxng-local-searchskills/telegram-opsskills/homelab-service-healthskills/task-capture-and-followupskills/daily-briefskills/calendar-sentinelskills/inbox-triage
- Ensure task state exists:
memory/tasks.json(create[]if missing)
Security checks
- Check internal hooks enabled state (authoritative source:
openclaw hooks):- required hooks:
session-memorycommand-loggerbootstrap-extra-filesboot-mdmodel-skill-injector
- run
openclaw hooksand treat✓ readyas installed+enabled - if CLI/table parsing is ambiguous, mark
unknown(do NOT report missing) - only report warning when a required hook is clearly disabled/missing, with exact hook name
- required hooks:
- Check permissions:
~/.openclawshould be700- credential files under
~/.openclaw/credentials/should be600 - if drift is found, log it as warning; do not auto-fix unless explicitly requested later
- Check network exposure:
- verify gateway is not unexpectedly exposed on
0.0.0.0 - capture a compact listener snapshot for OpenClaw-related ports
- verify gateway is not unexpectedly exposed on
- Check expected-service posture:
- expected local services should be present/reachable (OpenClaw runtime + documented core services)
- flag unexpected listeners only when confidence is high
- Check backup signal freshness:
- verify
memory/minio-backup.logcontainsBackup complete:within last 8 hours
- verify
- Check security-audit freshness:
- verify a recent
openclaw security audit --deepresult exists (target: within 24 hours) - if stale/missing, record reminder (warning level)
- verify a recent
- Check update status:
- run/read
openclaw update status - record whether update is available
State recording
- Write/update machine-readable status file:
memory/startup-health.jsonwith:last_run_utcstatus(ok|warn|critical)checks_passed(array)checks_failed(array)warnings(array)gateway_exposure(e.g.,local-only|public|unknown)last_backup_age_hourslast_security_audit_age_hoursupdate_status(short text)
- Write/update
memory/boot-last-run.jsonwith UTC timestamp + overall status.
Notification policy
- Stay silent when status is
okor non-actionablewarn. - Send one short proactive alert only for critical conditions:
- credential permission drift on sensitive files,
- unexpected public exposure of gateway,
- backup signal stale/missing beyond threshold,
- missing critical workspace files preventing normal operation.
Critical issue logging
If any warning/critical issue is found, append a concise line to memory/startup-health.md with UTC timestamp, failing check, and suggested fix.