| name | hermes-security-monitor |
| description | Proactive security monitoring, threat scanning, and remediation guidance for Hermes agent deployments |
| tags | ["security","scan","monitoring","threat-detection","hardening","hermes"] |
| version | 0.1.2 |
| author | Adrian Birzu |
| user-invocable | true |
| disable-model-invocation | true |
| metadata | {"hermes":{"homepage":"https://github.com/adibirzu/hermes-security-monitor","os":["darwin","linux"],"requires":{"bins":["bash","curl","node"]}}} |
Hermes Security Monitor
Defense-in-depth scanning, IOC tracking, and remediation guidance for self-hosted Hermes agent deployments.
Mirrors the architecture of openclaw-security-monitor but targets the Hermes agent threat surface: agent-identity theft (HermesShade campaign), prompt injection in skills, malicious extensions, exec-policy bypasses, and credential leakage.
Commands
/hermes-scan
Run the full security scan (read-only):
./scripts/scan.sh
Exit codes:
- 0 = SECURE
- 1 = WARNINGS
- 2 = COMPROMISED
/hermes-remediate
Remediation guidance per check (dry-run by default):
./scripts/remediate.sh --dry-run
/hermes-dashboard
Read-only web dashboard on localhost:18801 (host-header pinned, CSP nonce, optional token):
DASHBOARD_TOKEN=$(openssl rand -hex 16) node dashboard/server.js
/hermes-ioc-update
Pull the latest IOC feeds:
./scripts/update-ioc.sh
Layout
hermes-security-monitor/
├── SKILL.md
├── README.md
├── CHANGELOG.md
├── install.sh
├── .hermes-plugin/plugin.json
├── scripts/
│ ├── scan.sh # main scanner
│ ├── remediate.sh # remediation orchestrator
│ ├── update-ioc.sh # IOC refresh
│ └── remediate/
│ ├── _common.sh
│ └── check-NN-*.sh
├── ioc/
│ ├── c2-ips.txt
│ ├── malicious-domains.txt
│ ├── file-hashes.txt
│ ├── malicious-publishers.txt
│ └── malicious-skill-patterns.txt
├── dashboard/
│ ├── server.js # localhost-only, hardened
│ └── index.html
├── tests/
│ ├── run.sh, lib.sh
│ └── test_*.sh # regression tests
└── .github/workflows/ # CI + weekly IOC PR
Environment
| Var | Default | Purpose |
|---|
HERMES_HOME | ~/.hermes | Hermes agent home directory |
DASHBOARD_PORT | 18801 | Dashboard port (avoids OpenClaw monitor's 18800) |
DASHBOARD_HOST | 127.0.0.1 | Bind address |
DASHBOARD_TOKEN | unset | When set, requires Authorization: Bearer <tok> |