cyberbobas

Countersign — AI skill for Claude Code

AI community

Your AI agent writes its own 'allow this.

How to install Countersign

This entry records only its repository, not the path inside it, so there is no exact command to give. Open cyberbobas/countersign and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Countersign does

Your AI agent writes its own 'allow this?' dialog, so it can hide what it's really doing. Countersign draws the dialog itself, so you approve the real command, and every yes becomes a receipt you can check later. Skill pinning, MCP deny, phishing fence.

Alternatives in AI

  • Kibitz — Real-time decoded feed of AI agent actions — monitor multiple Claude Code & Codex sessions, see exactly what e 521 ★
  • UltraCode Shim — Give Claude Code's ultracode mode to ANY model you already pay for 422 ★
  • MioIsland — macOS Dynamic Island for AI coding agents 388 ★

README

Countersign

[![PyPI](https://img.shields.io/pypi/v/countersign-agent?color=8b7cf6)](https://pypi.org/project/countersign-agent/) [![tests](https://github.com/cyberbobas/countersign/actions/workflows/tests.yml/badge.svg)](https://github.com/cyberbobas/countersign/actions/workflows/tests.yml) [![Python](https://img.shields.io/pypi/pyversions/countersign-agent)](https://pypi.org/project/countersign-agent/) [![License](https://img.shields.io/badge/license-Apache--2.0-blue)](LICENSE)

Your AI coding agent asks "can I run this?", but the agent itself draws that dialog. So it can pad it, fake a "security review", and bury the one line that actually matters. Countersign draws the dialog for you, from the exact command that will run. You approve the real thing, and every yes becomes a receipt in a tamper-proof ledger.

![Countersign exposes the real command an agent hid behind a fake review](docs/countersign-demo.gif)

Part of [Agentoffense](https://agentoffense.com), the companion to [Airlock](https://github.com/cyberbobas/airlock). Airlock is the policy firewall (what a call may do). Countersign is the honest human yes (proof that you approved the real call).

pip install countersign-agent
countersign demo      # or: csign demo

What it closes

Four gaps a path firewall does not:

# gap command
1 Honest HITL / LITL: you sign the argv, not the agent's story countersign askd · countersign approvers · countersign quorum
2 Census of hidden skills: hold every instruction file you did not pin countersign census --deny-new
3 MCP sampling / elicitation / roots deny, both directions of the pipe countersign-mcp
4 Inbound fence: a stranger's mail or issue is data, tools frozen countersign inbound --from email
5 Receipts: the ledger of consents is hash-chained and checkable countersign verify · countersign replay

Not a path firewall. Injection can still *ask*. I