oring: Instructions file for Claude Code

CLAUDE.md

oring CLAUDE.md is an instructions file for Claude Code from hexproofdev/oring. It costs 1,181 tokens per session, scanned A, original, BSD-3-Clause.

A project instruction file for oring, a Linux wrapper that confines another program before starting it using filesystem, network, process, and file-descriptor restrictions.

In plain words
What is it for?
Use it as the governing guidance when changing oring, especially its sealing pipeline, Landlock and seccomp setup, architecture checks, and documentation.
Why use it?
It records the security model and fail-closed rules developers must preserve when modifying the wrapper, including the order of its confinement steps.

Instructions file for Claude Code

Written for Claude Code: the file is CLAUDE.md. Also seen: mentions CLAUDE.md.

This is hexproofdev/oring's own configuration. It tells Claude Code how to work on oring itself, so it is not a mod to install elsewhere. Copy it as a starting point and replace the rules that are about this project. Everything oring configures →

Reuse

Borrowing it

Nothing to install: this file belongs to hexproofdev/oring. Take a copy, put it at the same path in your own repository, and replace the rules that are about this project with yours.

Copy the file
curl -O https://raw.githubusercontent.com/hexproofdev/oring/main/CLAUDE.md
Clone the repo
git clone --depth 1 https://github.com/hexproofdev/oring

Made for: Claude Code.

Wrote this? Show the measurements

A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.

agentmods badge for oring CLAUDE.md

README.md
[![agentmods](https://agentmods.dev/badge/instructions/hexproofdev/oring/claude-md/github.svg)](https://agentmods.dev/instructions/hexproofdev/oring/claude-md)
Your own site
<a href="https://agentmods.dev/instructions/hexproofdev/oring/claude-md"><img src="https://agentmods.dev/badge/instructions/hexproofdev/oring/claude-md/github.svg" alt="Measured on agentmods" height="20"></a>

Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.

agentmods 80×15 button for oring CLAUDE.md

Your own site · 80×15
<a href="https://agentmods.dev/instructions/hexproofdev/oring/claude-md"><img src="https://agentmods.dev/badge/instructions/hexproofdev/oring/claude-md.svg" alt="Reviewed on agentmods" width="80" height="20"></a>
Per session 1,181 This file is loaded in full into every session.
When invoked 1,181 The same file — it is already loaded in full.
Security scan A 0 findings. A grade says what 26 rules found in the file — not that it is safe.
Origin original No closer match found in the catalogue.
Token cost

What it costs to keep this loaded

Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.

ModelPer sessionOnce invoked
Fable 5.1 $0.01181 $0.01181
Opus 5.5 $0.00472 $0.00472
Sonnet 5.5 $0.00236 $0.00236
Haiku 4.5 $0.00118 $0.00118

Measured 1mo ago against content hash e6b95a86c207, method: parsed. Prices are Anthropic first-party input rates as of 2026-10-07, from the pricing page.

Security

Grade A, and why

oring CLAUDE.md scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 1mo ago.

A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.

Nothing flagged

None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.

CLAUDE.md · 71 lines

How it starts

The opening of the file, as written. The whole thing — 71 lines — stays where its author put it; the contents beside it link to each section on GitHub.

CLAUDE.md

oring: an unprivileged, self-applied, pre-exec confinement wrapper. It applies Landlock (filesystem tiers, per-direction TCP, IPC scope) and a seccomp-bpf denylist to itself, sets NO_NEW_PRIVS, scrubs FDs and signal state, then execves the target — which inherits every restriction irrevocably and can never widen it. x86_64 Linux only, enforced by a compile_error! (the seccomp arch guard is x86_64-specific). Static-musl, no root, no daemon. Read docs/DESIGN.md before changing anything: it carries the threat model, the two rings, the seal order, and the residuals oring cannot close. v1.

The discipline

  • Fail-closed is the whole posture. Any error before the seal means the target is never executed, and panic = "abort" keeps that true even under a panic. Every step in pipeline::seal() is HARD (?); no branch skips a ring, none execs while under-confined. When you touch the seal, keep it that way.
  • The seal ORDER is load-bearing — a wrong order is a confinement bypass, not a style nit. NNP before seccomp; Landlock before seccomp (its setup syscalls run unfiltered); fd-scrub after Landlock (so a leaked ruleset fd is caught). Know why each step precedes the next (DESIGN §6) before you reorder.
  • Verification is the deliverable, not a courtesy. Invariants are proven (Kani: x32_guard_total, abi_from_version_clamp — make verify), gated (z3 SMT over the emitted cBPF: tests/seccomp_smt.rs), propertied (proptest), and witnessed on a real Landlock kernel (the containment matrix). A new guarantee needs a runnable check; a property you can only state in prose is an open question, not a fact — say so and open it.
  • Landlock unions rights along the path walk: access is granted if at least one rule encountered on the path allows it, and there is no deny rule. It is NOT most-nested-wins, and a subpath can never be carved out of a grant. Reason about tiers that way, or you will grant more than you meant to.
  • Record rationale where the code is. When you reject an approach, record the rejection; cuts that lose their context get re-proposed.

Read the full file on GitHub · 71 lines

Changes

What this file has done since we first saw it

Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.

  1. 1mo ago First seen · 71 lines · 1,181 tokens per session scan A e6b95a86c207

Subscribe to this mod's changes

oring CLAUDE.md is an instructions file published in the GitHub repository hexproofdev/oring (4 stars, last pushed 3mo ago), licensed BSD-3-Clause. It adds 1,181 tokens to every session, about $0.0047 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.

Related

Other instructions, from other repositories