Coding

agent-canary

Try it

Plant decoy credentials in your OpenClaw workspace to detect malicious skill behavior. Canary tokens trigger alerts when read, copied, or exfiltrated. Activate when user says "deploy canary", "set up honeypot", "plant decoy", "canary check", "canary status", or "canary cleanup".

What it does

Plant decoy credentials in your OpenClaw workspace to detect malicious skill behavior. Canary tokens trigger alerts when read, copied, or exfiltrated. Activate when user says "deploy canary", "set up honeypot", "plant decoy", "canary check", "canary status", or "canary cleanup".

The skill document

Agent Canary

Decoy credentials planted in your workspace. When a skill touches them, you know.

When to Activate

  • User says: "deploy canary", "set up honeypot", "plant decoy credentials"
  • User says: "canary check", "canary status", "any triggers?"
  • User says: "canary cleanup", "remove canary"
  • User says: "canary report", "show incidents"

Do NOT activate for normal conversations about security.

Deploy Flow

When user asks to deploy canary:

  1. Run python3 skills/agent-canary/scripts/plant_canaries.py
  2. Report what was planted and where
  3. Set up a cron job for monitoring (every 30 minutes):
cron add:
  name: agent-canary-monitor
  schedule: every 30 minutes
  payload: agentTurn
  message: "Run canary check. Execute: python3 skills/agent-canary/scripts/check_canaries.py. If any triggers found, immediately alert the user with details."
  delivery: announce
  sessionTarget: isolated
  1. Tell user monitoring is active

Check Flow

When user asks for canary status or check:

  1. Run python3 skills/agent-canary/scripts/check_canaries.py
  2. Report results:
    • If clean: "All canaries intact. No triggers."
    • If triggered: Format alert with severity, type, file, and recommendation

Cleanup Flow

When user asks to remove canary:

  1. Run python3 skills/agent-canary/scripts/cleanup_canaries.py
  2. Remove the monitoring cron job (cron list, find agent-canary-monitor, remove it)
  3. Confirm cleanup complete

Alert Format

When a trigger is detected, notify the user:

CANARY TRIGGERED

Severity: [CRITICAL/HIGH/MEDIUM] Type: [file_modified/file_deleted/token_in_log/file_accessed] File: [path] Detail: [description]

Recommendation: Check which skill was running at [timestamp]. Consider rotating real credentials as precaution.

Report Flow

When user asks for canary report:

  1. Read ~/.openclaw/agent-canary/incidents.log
  2. Summarize all incidents chronologically
  3. Show current canary status (files planted, last check time)

Technical Details

Token Types

TypeMarkerExample
AWS KeyAKIACANARYAKIACANARY7F3A2B9X0
GitHub PATghp_CANARY_ghp_CANARY_a1b2c3...
Stripesk_live_CANARY_sk_live_CANARY_x9y8...
API Keysk-CANARY-sk-CANARY-e1f2a3...
DB PasswordCANARY_PASS_CANARY_PASS_Kx9m2Nv7

All tokens contain CANARY in the value, making them trivially identifiable as decoys.

Files Created on Deploy

FileLocationPurpose
.env.canaryWorkspace rootFake env config with canary credentials
secrets.backup.jsonWorkspace rootFake credential backup
canary-tokens.jsonmemory/Fake service credential cache
manifest.json~/.openclaw/agent-canary/Token registry and file hashes
incidents.log~/.openclaw/agent-canary/Incident history

Detection Methods

  1. File hash comparison — detects modification of canary files
  2. File existence check — detects deletion (possible cleanup after exfil)
  3. atime monitoring — detects unexpected file reads
  4. Log grepping — scans exec logs for canary token strings
  5. Git diff — checks if canary files were staged by a skill

Related skills

Install and configure the security-related plugins required by OpenClaw, including the `agent-sentry` plugins. Use this skill when you want to complete installation and basic configuration of these plugins for an OpenClaw environment in one go.

Map all credentials your OpenClaw agent can access. Scans env vars, config, memory, skills, MCP servers, git history. Generates exposure report with risk scoring. Activate when user says "credential audit", "exposure map", "security audit", or "what can my agent access".

1 installs

Deploy an HTTP(S) proxy that exposes OpenClaw agent capability as a REST API over your network IP (e.g. http://<your-server-ip>:7720). Use when asked to "start agent-easy-http", "expose openclaw agent as HTTP", "deploy openclaw agent HTTP service", "create internal HTTP API for agent", or "start the agent gateway". HTTP by default (zero-friction); optional HTTPS with self-signed SAN certificates for production / cross-host scenarios. Includes mandatory API Key auth, deny-list filter, prompt-injection hardening, and direct integration with OpenClaw native /hooks/agent (millisecond dispatch + automatic hook:<uuid> session isolation per request). Thin proxy layer; use skill-to-http-flash for per-skill API endpoints.