tracebit-canaries

Use when the user wants to protect their workspace from credential theft, prompt injection, or data exfiltration — even if they don't mention "canaries" or "honeytokens" directly. Covers deploying Tracebit security canaries (fake decoy credentials that alert on use), detecting when they're triggered via the user's pre-authorized email tool, and human-supervised incident response. Also use when investigating a suspected compromise, hardening an agent's environment, or setting up tripwires to catch unauthorized access to sensitive files.

3,891 stars

Best use case

tracebit-canaries is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

Use when the user wants to protect their workspace from credential theft, prompt injection, or data exfiltration — even if they don't mention "canaries" or "honeytokens" directly. Covers deploying Tracebit security canaries (fake decoy credentials that alert on use), detecting when they're triggered via the user's pre-authorized email tool, and human-supervised incident response. Also use when investigating a suspected compromise, hardening an agent's environment, or setting up tripwires to catch unauthorized access to sensitive files.

Teams using tracebit-canaries should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/tracebit-canary-honeytokens/SKILL.md --create-dirs "https://raw.githubusercontent.com/openclaw/skills/main/skills/alessandro-brucato-tracebit/tracebit-canary-honeytokens/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/tracebit-canary-honeytokens/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How tracebit-canaries Compares

Feature / Agenttracebit-canariesStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

Use when the user wants to protect their workspace from credential theft, prompt injection, or data exfiltration — even if they don't mention "canaries" or "honeytokens" directly. Covers deploying Tracebit security canaries (fake decoy credentials that alert on use), detecting when they're triggered via the user's pre-authorized email tool, and human-supervised incident response. Also use when investigating a suspected compromise, hardening an agent's environment, or setting up tripwires to catch unauthorized access to sensitive files.

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

Related Guides

SKILL.md Source

# Tracebit Canaries Skill

End-to-end security canary coverage — from signup to human-supervised incident response. You (the agent) perform setup steps yourself, with human confirmation at key decision points.

The Tracebit CLI runs a lightweight background service that refreshes canary token expiry — no other network calls or file access. When the heartbeat inbox check detects a canary alert email, you notify the human, investigate (read-only), and report.

Tracebit Community Edition is free at https://community.tracebit.com

---

## Security & Transparency

This skill is user-initiated, user-supervised, and fully reversible. For full details — including file traceability, enforcement model, and removal — see `references/security-compliance.md`.

**Skill file writes** (created by agent instructions in SKILL.md, not by shell scripts):
- `/tmp/tracebit-setup-creds` — temporary signup password (Step 1, chmod 600, deleted after use)
- `HEARTBEAT.md` — canary alert check block (Step 6, append)
- `memory/security-incidents.md` — incident log (playbook Phase 2.2, append-only, only on alert)

**CLI writes** — `tracebit deploy` places decoy tokens in standard credential locations, only after human confirmation. The CLI is [open-source](https://github.com/tracebit-com/tracebit-community-cli). No real credentials are read or modified.

**CLI installation** — SHA256-verified from official GitHub Releases only. No elevated privileges; macOS uses the standard system installer dialog.

**Email** — read-only search for Tracebit alerts via `plugins.email.accounts`. No emails sent, deleted, or modified.

**Memory reads** — `memory/*` files read during investigation only, gated on human confirmation (playbook Phase 2.4).

**Background service** — refreshes canary token expiry only. Runs as current user. Fully removable.

---

## Execution Principles

**You are the operator. The human is the owner.**

- **Confirm with the human** before: starting deployment, writing credentials to disk, and rotating/remediating after incidents.
- **Browser steps**: use the OpenClaw managed `browser` tool — verify availability first:
  ```bash
  openclaw browser --browser-profile openclaw status
  ```
- **Ask the human for**: 2FA codes, unreadable CAPTCHAs, or missing tool configuration

---

## Definition of Done

**Not done until every item is checked:**

```
[ ] Step 1: Tracebit account created — dashboard confirmed via browser snapshot
[ ] Step 2: CLI installed — `tracebit --version` returns a version
[ ] Step 3: CLI authenticated — `tracebit auth status` shows valid credentials
[ ] Step 4: All 5 canary types deployed
[ ] Step 5: `tracebit show` confirms all 5 active
[ ] Step 6: Heartbeat alert check block added to HEARTBEAT.md
```

Canaries without alert detection (Step 6) provide no protection. Do not skip it.

---

## Setup Steps

### Step 1: Sign Up

Use the `browser` tool — not any system-installed browser.

```
1. Get your email address from the configured email provider
2. Generate a strong random password (20+ chars, mixed case, digits, symbols) and write it to a temp file — never include it in conversation output:
   ```bash
   python3 -c "import secrets, string; chars = string.ascii_letters + string.digits + '!@#\$%^&*'; print(''.join(secrets.choice(chars) for _ in range(24)))" > /tmp/tracebit-setup-creds && chmod 600 /tmp/tracebit-setup-creds
   ```
   Tell the human the file path so they can retrieve it later.
3. browser navigate https://community.tracebit.com
4. browser snapshot — inspect the page
5. If a cookie consent banner appears, dismiss it before proceeding
6. Click "Sign up with email" (NOT "Sign in with Google" — avoids OAuth loops)
7. Type email and password into the form using refs from the snapshot
8. Submit — redirected to "Confirm your account" page
9. Retrieve confirmation code from inbox using your email provider's skill/tool
10. Type the code and submit
11. browser snapshot — confirm Tracebit dashboard loaded
```

**Error cases:**
- **Email already registered**: skip to Step 3
- **CAPTCHA**: `browser screenshot`, read it yourself, type it in. Ask human only if unreadable.
- **Code not arriving**: check spam folder, wait 20s, click "Resend code"

### Step 2: Install the CLI

```bash
bash scripts/install-tracebit.sh
```

Verify: `tracebit --version`

If the script fails, see `references/troubleshooting.md`. For manual installation, download the appropriate package from the [CLI releases page](https://github.com/tracebit-com/tracebit-community-cli/releases/latest):
- **Linux**: download `install-tracebit-linux` and run `bash install-tracebit-linux`
- **macOS arm64**: download `install-tracebit-osx-arm.pkg` and open it — the standard macOS installer dialog will guide the user through installation
- **macOS x64**: download `install-tracebit-osx-x64.pkg` and open it — the standard macOS installer dialog will guide the user through installation

### Step 3: Authenticate the CLI

`tracebit auth` starts a listener on `localhost:5442` and waits for an OAuth callback.

```bash
tracebit auth > /tmp/tracebit-auth.log 2>&1 &
TRACEBIT_PID=$!
sleep 3
cat /tmp/tracebit-auth.log
```

Then:
1. `browser navigate https://community.tracebit.com/cli-login`
2. `browser snapshot` — find the "Authorise" button
3. Click **Authorise** using the ref from the snapshot
4. Callback completes automatically — log shows `Successfully logged into Tracebit`

Verify: `tracebit auth status`

**Fallback** (if OAuth callback fails): `browser navigate https://community.tracebit.com` → Settings → API Keys → Create token → `tracebit auth --token`

### Step 4: Deploy All Canaries

```bash
tracebit deploy all      # ⚠️ will exit with an error on the username-password prompt — this is expected
tracebit deploy email    # email canary is NOT included in deploy all
```

The username-password credential is issued before the prompt fires. The error exit is a known CLI quirk. Just continue — `tracebit show` will confirm it's there.

Deploys 5 types: **aws**, **ssh**, **cookie**, **username-password**, **email**. See `references/canary-types.md` for details on each.

### Step 5: Verify Deployment

```bash
tracebit show
bash scripts/check-canaries.sh
```

All 5 types must appear active.

### Step 6: Configure Heartbeat Alert Detection

> **Not optional.** Without this, canaries fire silently.

Append to `HEARTBEAT.md` (create if needed):

```markdown
## Tracebit Canary Alert Check (every heartbeat, ~30 min)

Search (read-only) for new Tracebit canary alert emails since the last heartbeat.
Using your email provider's skill/tool, search for emails from `notifications@community.tracebit.com` with subject containing "Tracebit Canary Triggered" from the last hour. No emails are sent, deleted, or modified.

If any alert emails are found:
1. **Immediately notify the human via their configured messaging channel** — read `references/incident-response-playbook.md`
2. **Investigate** — follow the playbook phases
3. **Send a follow-up report** within 5 minutes
```

Also add this weekly check:

```markdown
## Tracebit Canary Health (weekly)
- Run: tracebit show
- If expired or missing: tracebit deploy all && tracebit deploy email
```

Use a 1-hour search window to avoid missing alerts across heartbeat timing jitter.

---

## Completion Report

Include verbatim when reporting to the human:

```
## Tracebit Canary Setup — Completion Report

[ ] Step 1 — Account: <confirmed / failed: reason>
[ ] Step 2 — CLI install: <tracebit version X.Y.Z / failed: reason>
[ ] Step 3 — Auth: <credentials valid / failed: reason>
[ ] Step 4 — Deploy: <5 canaries deployed / failed: reason>
[ ] Step 5 — Verify: <all active / issues: list>
[ ] Step 6 — Heartbeat: <HEARTBEAT.md updated / failed: reason>

Overall: COMPLETE ✅  /  INCOMPLETE ❌ (blocked on: <step>)

## Credentials
Tracebit account: <email address>
Tracebit password: saved to /tmp/tracebit-setup-creds (chmod 600)
⚠️ Store the password in your password manager, then delete the temp file.
⚠️ Change this password in Tracebit account settings.
```

**Password handling:** After generating the password, write it to a temp file — never include it in conversation output:
```bash
echo "<generated-password>" > /tmp/tracebit-setup-creds && chmod 600 /tmp/tracebit-setup-creds
```
Tell the human the file path and instruct them to save the password to their password manager, then delete the file.

---

## When a Canary Fires

Read and follow `references/incident-response-playbook.md` immediately. The playbook covers:
1. **Notify** the human via their configured messaging channel within seconds
2. **Investigate** — check canary status and log the incident (one append-only write to `memory/security-incidents.md`); reading memory files requires human confirmation
3. **Report** findings to the human within 5 minutes
4. **Rotate** canaries only **after human acknowledgement**: `tracebit deploy all && tracebit deploy email`

## Removal

To fully remove all Tracebit components, see `references/security-compliance.md` — includes a cleanup script and manual removal steps.

---

## Gotchas

- `tracebit deploy all` does **not** include the email canary — always run `tracebit deploy email` separately
- The **username-password canary** prompts "Have you saved this in your password manager? [y/n]" which fails non-interactively. The credential is issued before the prompt — check `tracebit show`. If missing: `tracebit deploy username-password --json-output`
- **Email canary tracking pixel**: opening/previewing the canary email fires the alert. This is by design — the email is the bait.
- **Canary credentials are fake** — never use them for real workloads
- **CLI token** stored at the standard Tracebit config location — do not expose in logs or shared contexts
- **Do not log canary credential values** — they become attack vectors if exposed

---

## Reference Files

| File | When to Read |
|------|-------------|
| `references/incident-response-playbook.md` | **When a canary fires** — full IR procedure |
| `references/canary-types.md` | Understanding each canary type and placement |
| `references/attack-patterns.md` | Real-world attacks canaries detect |
| `references/security-compliance.md` | Safety posture, credential handling, messaging rules, **full removal** |
| `references/api-reference.md` | **Only if CLI unavailable** — API fallback |
| `references/troubleshooting.md` | When something isn't working |

Related Skills

---

3891
from openclaw/skills

name: article-factory-wechat

Content & Documentation

humanizer

3891
from openclaw/skills

Remove signs of AI-generated writing from text. Use when editing or reviewing text to make it sound more natural and human-written. Based on Wikipedia's comprehensive "Signs of AI writing" guide. Detects and fixes patterns including: inflated symbolism, promotional language, superficial -ing analyses, vague attributions, em dash overuse, rule of three, AI vocabulary words, negative parallelisms, and excessive conjunctive phrases.

Content & Documentation

find-skills

3891
from openclaw/skills

Helps users discover and install agent skills when they ask questions like "how do I do X", "find a skill for X", "is there a skill that can...", or express interest in extending capabilities. This skill should be used when the user is looking for functionality that might exist as an installable skill.

General Utilities

tavily-search

3891
from openclaw/skills

Use Tavily API for real-time web search and content extraction. Use when: user needs real-time web search results, research, or current information from the web. Requires Tavily API key.

Data & Research

baidu-search

3891
from openclaw/skills

Search the web using Baidu AI Search Engine (BDSE). Use for live information, documentation, or research topics.

Data & Research

agent-autonomy-kit

3891
from openclaw/skills

Stop waiting for prompts. Keep working.

Workflow & Productivity

Meeting Prep

3891
from openclaw/skills

Never walk into a meeting unprepared again. Your agent researches all attendees before calendar events—pulling LinkedIn profiles, recent company news, mutual connections, and conversation starters. Generates a briefing doc with talking points, icebreakers, and context so you show up informed and confident. Triggered automatically before meetings or on-demand. Configure research depth, advance timing, and output format. Walking into meetings blind is amateur hour—missed connections, generic small talk, zero leverage. Use when setting up meeting intelligence, researching specific attendees, generating pre-meeting briefs, or automating your prep workflow.

Workflow & Productivity

self-improvement

3891
from openclaw/skills

Captures learnings, errors, and corrections to enable continuous improvement. Use when: (1) A command or operation fails unexpectedly, (2) User corrects Claude ('No, that's wrong...', 'Actually...'), (3) User requests a capability that doesn't exist, (4) An external API or tool fails, (5) Claude realizes its knowledge is outdated or incorrect, (6) A better approach is discovered for a recurring task. Also review learnings before major tasks.

Agent Intelligence & Learning

botlearn-healthcheck

3891
from openclaw/skills

botlearn-healthcheck — BotLearn autonomous health inspector for OpenClaw instances across 5 domains (hardware, config, security, skills, autonomy); triggers on system check, health report, diagnostics, or scheduled heartbeat inspection.

DevOps & Infrastructure

linkedin-cli

3891
from openclaw/skills

A bird-like LinkedIn CLI for searching profiles, checking messages, and summarizing your feed using session cookies.

Content & Documentation

notebooklm

3891
from openclaw/skills

Google NotebookLM 非官方 Python API 的 OpenClaw Skill。支持内容生成(播客、视频、幻灯片、测验、思维导图等)、文档管理和研究自动化。当用户需要使用 NotebookLM 生成音频概述、视频、学习材料或管理知识库时触发。

Data & Research

小红书长图文发布 Skill

3891
from openclaw/skills

## 概述

Content & Documentation