Skip to content
Agentmart
Submit a tool

fleet-security

HMAC message signing, replay prevention, peer validation, and session gold sanitization

Skill by supportersimulator

IndexedMIT★ 2
Write a review

Chalk Labs

Need help deploying fleet-security?

Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.

Book a call

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/supportersimulator-fleet-security

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

HMAC message signing, replay prevention, peer validation, and session gold sanitization

Use cases: security

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/fleet-security

What's inside

Skill name
fleet-security
Description
HMAC message signing, replay prevention, peer validation, and session gold sanitization
License
MIT
Instructions
75 lines in SKILL.md · view on GitHub

Before installing

  • Instructions call the network

Files (1)

  • SKILL.md

SKILL.md (first lines)

# Fleet Security

All fleet messages can be HMAC-SHA256 signed for authentication. The security layer also provides replay prevention, peer identity validation, and session gold sanitization.

Implemented in `tools/fleet_nerve_security.py` via the `FleetSecurity` class.

## Features

### HMAC-SHA256 Message Signing

Every outbound message gets `_hmac` (signature) and `_signed_ts` (timestamp) fields. Canonical form: sorted keys, no whitespace, `_hmac` field excluded from digest.

**Graceful degradation:** If no HMAC key exists, messages are sent unsigned. Fleet continues to operate in degraded security mode. Unsigned messages are accepted with a logged warning.

### Replay Prevention

Messages with `_signed_ts` older than 5 minutes (REPLAY_WINDOW_S=300) are rejected. Prevents captured messages from being replayed against the fleet.

### Peer Identity Validation

Inbound messages are checked against a known-peers allowlist. Unknown senders are rejected. The allowlist is populated from `.multifleet/config.json` nodes.

### HTTP Peer IP Validation (CV-001)

All POST requests to the daemon's HTTP server (port 8855) are validated against known peer IPs. Requests from unknown IPs get a `403 Forbidden` response. Loopback (127.0.0.1) is always allowed.

### Session Gold Sanitization

Before publishing session gold over NATS, sensitive fields are stripped. Only safe metadata survives: `node_id`, `session_count`, `session_id` (truncated to 8 chars), `topic_keywords`, `idle_s`, `timestamp`.

Stripped: conversation text, file contents, code artifacts, API responses, error tracebacks, environment variables, credentials.

## HMAC Key Management

Key loading priority:
1. `FLEET_NERVE_HMAC_KEY` env var (for CI/testing)
2. macOS Keychain (`fleet_nerve_hmac_key` service)
3. Auto-generate 32-byte key and store in Keychain

```bash
# Check if HMAC is active
curl -sf http://127.0.0.1:8855/health | python3 -c "
import sys,json; h=json.load(sys.stdin)
print('HMAC enabled:', h.get('security',{}).get('hmac_enabled', False))
"

# Manually set HMAC key (all fleet nodes must share the same key)
security add-generic-password -s fleet_nerve_hmac_key -a $USER -w "your-shared-secret"
```

## Security Stats

The `FleetSecurity.get_stats()` method exposes counters (never key material):

| Counter | Meaning |
|---------|---------|
| `signed` | Messages signed by this node |
| `verified` | Messages with valid HMAC |
| `rejected_bad_sig` | HMAC mismatch (tampered or wrong key) |
| `rejected_replay` | Timestamp outside 5min window |
| `rejected_unknown_peer` | Sender not in known peers |
| `accepted_unsigned` | No signature, accepted in degraded mode |

## INVARIANT

Never log HMAC key, message content, or session gold. Only log: message ID, sender, type, signature status (pass/fail/missing).

## When to Use

- Setting up HMAC across all fleet nodes (must share the same key)
- Debugging rejected messages (check `rejected_bad_sig` vs `rejected_replay`)
- Auditing fleet security posture via stats endpoint
- Understanding why a message was dropped (peer validation, replay, signature)

From supportersimulator/multi-fleet, MIT.

More from supportersimulator/multi-fleet

Signals

Stars
2
Forks
0
Open issues
0
Last commit (this folder)
Apr 5, 2026 (7 months ago)
Last release
Apr 18, 2026 (6 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from supportersimulator

Done for you

Rather not set it up yourself?

Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.

See how we build AI agents →Read the case studies

Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.

launches shipped
50+
launches shipped
media placements
500+
media placements
founders on every account
2
founders on every account

Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block

Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.

Get fleet-security running in your business

Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.

Goes to the Chalk Labs founders, not the newsletter. Privacy

Need help deploying fleet-security?

CallGet help
Cite this page

fleet-security skill. Agent Mart. https://agentmart.dev/skills/supportersimulator-fleet-security (last updated 2026-10-24)