ocas-custodian
Automates monitoring and maintenance of agent platforms, fixing operational failures and optimizing system health during quiet hours.
Install this skill
or
55/100
Security score
The ocas-custodian skill was audited on Oct 30, 2026 and we found 5 security issues across 2 threat categories, including 2 high-severity. Review the findings below before installing.
Categories Tested
Security Issues
medium line 25
Access to home directory dotfiles
SourceSKILL.md
| 23 | - key: HERMES_HOME |
| 24 | description: "Hermes home; roots the profile / skills / scripts paths every scan reads" |
| 25 | default: "~/.hermes" |
| 26 | - key: HERMES_PROFILE |
| 27 | description: "Active profile name; selects <HERMES_HOME>/profiles/<profile>/cron/jobs.json" |
medium line 31
Access to home directory dotfiles
SourceSKILL.md
| 29 | - key: HERMES_PROFILE_HOME |
| 30 | description: "Profile home (<HERMES_HOME>/profiles/<HERMES_PROFILE>) for journals and commons" |
| 31 | default: "~/.hermes/profiles/indigo" |
| 32 | - key: AGENT_ROOT |
| 33 | description: "Agent root for commons/ paths (e.g. $AGENT_ROOT/profiles/<profile>/commons)" |
medium line 34
Access to home directory dotfiles
SourceSKILL.md
| 32 | - key: AGENT_ROOT |
| 33 | description: "Agent root for commons/ paths (e.g. $AGENT_ROOT/profiles/<profile>/commons)" |
| 34 | default: "~/.hermes" |
| 35 | triggers: |
| 36 | - system health |
high line 127
Windows registry startup
SourceSKILL.md
| 125 | **Two-stage self-healing contract** (`spec-ocas-recovery.md`): 1) log the decision (what, why, fingerprint, Tier) to `issues.jsonl`/journal BEFORE any fix; 2) attempt the repair; 3) re-validate BEFORE logging success — re-run the affected job/script, confirm the original signature is gone, then mark resolved. A fix without re-validation is a claim, not a resolution. |
| 126 | |
| 127 | **Post-fix verification:** after any Tier 1 fix, re-check the targeted log/config, then close the registry loop with `hermes cron run <id>` (batch: `scripts/verify_fixes_cron_run.py`). |
| 128 | |
| 129 | **Operational hints.** *Model-pin drift can't run via CLI (2026-07-22):* `hermes cron` has no `update` subcommand and `edit` lacks `--provider`/`--model`. If <operator> chose a pin target, edit `jobs.json` directly; else leave user-gated (`references/escalation-execution-loop.md`). `hermes cron edit` DOES exist for prompt/schedule/name — check `--help` before concluding anything is uneditable. *False-escalation resolution:* an open `user_gated` issue claiming "Job still erroring live" with `last_run_at` days before your sweep is the stale-error signature — re-run the job; success = FALSE ESCALATION, resolve it (`scripts/race_safe_issue_patch.py` patches race-safely). |
high line 171
Windows registry startup
SourceSKILL.md
| 169 | | `write_file` "missing required field: path" | fallback `cat > /path << 'EOF' ... EOF` | |
| 170 | | jobs.json parses to 0 jobs | `d.get("jobs", [])`; re-inspect raw head before concluding 0 | |
| 171 | | `last_status=error` after a fix | registry lags — `hermes cron run <id>` flips it; stale ≠ failure | |
| 172 | | literal `gateway restart` in command | interlock blocks — reword (e.g. "gateway reload") | |
| 173 | | `append_issue_row.py` exits 2 | the row was appended and its open-count delta disagreed — inspect the row before trusting the store | |
Scanned on Oct 30, 2026
View Security DashboardRating
5.01
Rate this skill
Categoryoperations
UpdatedNovember 4, 2026
hermesfrontenddesigndocxgitapitestingdevopsbackendit-operationsdevops-sreoperations-managergithuboperationsdevelopment
indigokarasu/custodian