Skip to content
Back to skills

Cordon Install

ASecurity

Install Cordon, a deterministic layer between untrusted content and agent actions, and verify that the harness actually calls it. Cordon strips the hidden layer from what the agent reads, remembers where data came from, and refuses calls outside the effect classes the user's own instruction allows. No model call on the hot path. Use when someone asks to protect an agent from prompt injection, to check whether a hook is really firing, or to install Cordon. Triggers: «install cordon», «поставь ...

  • 4 stars
  • 0 votes
  • 0 copies
  • 1 view
  • Added September 19, 2026
ai-agentsrustgobashnodegit

Works with

  • claude code
  • cli
  • mcp

Security analysis

A100/100

Scanned September 19, 2026

npx -y skills add ilyautov/cordon --skill cordon-install --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Cordon Install?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Cordon Install
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/ilyautov-cordon-install/badge)](https://www.skillsdirectory.com/skills/ilyautov-cordon-install)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: cordon-install
description: "Install Cordon, a deterministic layer between untrusted content and agent actions, and verify that the harness actually calls it. Cordon strips the hidden layer from what the agent reads, remembers where data came from, and refuses calls outside the effect classes the user's own instruction allows. No model call on the hot path. Use when someone asks to protect an agent from prompt injection, to check whether a hook is really firing, or to install Cordon. Triggers: «install cordon», «поставь cordon», «защити агента от prompt injection», «prompt injection protection», «скрытые инструкции в тексте», «agent reads untrusted content», «cordon doctor», «проверь что хук срабатывает»."
---

# Installing Cordon

Cordon stands between untrusted text and what the agent does with it. It ships
as a Claude Code plugin bound to four harness events: the user's message, a tool
call, a tool result, the display of the answer.

Node 22 or newer. No keys, no tokens, no network access: there are no network
requests and no model calls on the hot path.

## Install

```
/plugin marketplace add ilyautov/cordon
/plugin install cordon@cordon
```

No build step. `plugin/dist/cli.js` ships ready to run, because an installed
plugin has neither `node_modules` nor `package.json` beside it, and a file with
external imports would crash `node` on the first event. The harness reads a
crashed hook as «pass», so the defence would switch off silently.

## Verify, and do not confuse the two questions

`/hooks` answers «is it registered». It does not answer «does it work».

`cordon doctor` answers the second one: it reads the effective policy, runs a
built-in attack sample through the whole path, and names the dangerous parts of
the configuration. The plugin path carries the marketplace name and the version,
so it changes on every update. Ask the harness instead of hard-coding it:

```bash
CORDON=$(node -e "
  const p = require(process.env.HOME + '/.claude/plugins/installed_plugins.json')
  const key = Object.keys(p.plugins).find(k => k.startsWith('cordon@'))
  if (!key) { console.error('plugin is not installed'); process.exit(1) }
  console.log(p.plugins[key][0].installPath + '/dist/cli.js')
")
node "$CORDON" doctor
```

`self-check: ok` means the hidden layer is stripped, a call outside the
certificate is refused, and a call inside it goes through. A hook that is never
called looks, from outside, exactly like a hook that had no reason to fire.

## What to tell the user honestly

Say how far this has been proven, and do not round it up. The wiring was
exercised on a live Claude Code session, 2.1.236: all four events fire, the
certificate refuses, provenance refuses, the footer is drawn, argument
quarantine is applied. The Gemini CLI adapter, the MCP gateway and the LangChain
middleware **have not been run live**. Their install guides are
`docs/install-gemini.md`, `docs/install-mcp.md`, `docs/install-langchain.md`.

The price of the data axis is friction: after reading untrusted content, a
consequential call waits until the user names its destination in their own
message. On the adversarial battery's working profile this took attack success
from 79% to 7%. The rule switches off with `exposure: false` in the policy, and
`cordon doctor` says out loud when it is off.

## What Cordon keeps on disk

Policy in `~/.cordon/policy.yaml`, session state in `~/.cordon/sessions/`,
drafts in `~/.cordon/drafts/`, the decision journal at the path from
`notify.file`. Session state and drafts hold content that came from untrusted
sources, so expired files are deleted automatically.

## Nearby

[github.com/ilyautov](https://github.com/ilyautov), lab
[AI Frontier](https://aifrontier.tech).

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.