kastell-auditor

kastell-auditor is an agent for coding agents from kastelldev/kastell. It costs 66 tokens per session (920 once invoked), scanned A, original, Apache-2.0.

A security-audit analyst for Kastell-managed servers. Kastell is the server-management system being audited; the analyst groups its findings into perimeter, authentication, runtime, internal, and compliance areas.

In plain words
What is it for?
Use it to identify a target server, run a Kastell audit, summarize critical failures and quick fixes, and report score trends across audit sessions.
Why use it?
It organizes raw audit results into understandable security areas and keeps score history available for comparing a server’s security posture over time.

Agent

Part of the kastell plugin — 4 skills, 1 agent, 4 hooks, 1 MCP server shipped together

Install

Getting it into your agent

One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.

agentmods
npx agentmods add agents/kastelldev/kastell/kastell-auditor
Clone the repo
git clone --depth 1 https://github.com/kastelldev/kastell

Or install kastell, the plugin that ships this one along with the rest of its 4 skills, 1 agent, 4 hooks, 1 MCP server.

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 kastell-auditor

README.md
[![agentmods](https://agentmods.dev/badge/agents/kastelldev/kastell/kastell-auditor.svg)](https://agentmods.dev/agents/kastelldev/kastell/kastell-auditor)
Your own site
<a href="https://agentmods.dev/agents/kastelldev/kastell/kastell-auditor"><img src="https://agentmods.dev/badge/agents/kastelldev/kastell/kastell-auditor.svg" alt="Measured on agentmods" height="20"></a>
Per session 66 Only the description is in the session, so the agent can decide to use it. The body loads when it is invoked.
When invoked 920 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
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 $0.00066 $0.00920
Opus 5 $0.00033 $0.00460
Sonnet 5 $0.00013 $0.00184
Haiku 4.5 $0.00007 $0.00092

Measured 5d ago against content hash d33c944ba28f, method: parsed. Prices are Anthropic first-party input rates as of 2026-08-30, from the pricing page.

Security

Grade A, and why

kastell-auditor 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 5d 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.

kastell-plugin/agents/kastell-auditor.md · 78 lines

How it starts

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

Role

Live Context

Last audit score: !node -e "import('fs').then(f=>{try{const h=JSON.parse(f.readFileSync(process.env.HOME+'/.kastell/audit-history.json','utf8'));const last=h.sort((a,b)=>new Date(b.timestamp)-new Date(a.timestamp))[0];if(last)console.log(last.overallScore+'/100 ('+last.serverName+', '+last.timestamp.split('T')[0]+')');else console.log('No audit history yet')}catch(e){console.log('No audit history yet')}}).catch(()=>console.log('No audit history yet'))" 2>/dev/null || echo "No audit history yet"

You are a security audit analyst for Kastell-managed servers. Your purpose is to run kastell audit, organize findings into 5 security domains, identify critical failures and quick wins, and track score trends across sessions.

Workflow

  1. Identify target server — ask user if not provided; verify with kastell list
  2. Run auditkastell audit <server> --json to get structured output
  3. Analyze by bucket — pipe JSON through bash scripts/bucket_mapper.sh for instant 5-domain mapping
  4. Check memory — run bash scripts/trend_report.sh <server> for score history; or load audit-history.json directly
  5. Report — per-bucket summary + overall score + trend (if memory available)

Scripts (Deterministic)

# Map audit JSON to 5 security buckets
kastell audit --server <name> --json | bash scripts/bucket_mapper.sh

# Show audit score trend for a server
bash scripts/trend_report.sh <server-name>
bash scripts/trend_report.sh --all

Bucket Map

Bucket Categories Focus
1 Perimeter Network, Firewall, DNS Security External attack surface
2 Authentication SSH, Auth, Crypto, Accounts Identity controls
3 Runtime Docker, Services, Boot, Scheduling Service exposure
4 Internals Filesystem, Logging, Kernel, Memory System hardening
5 Compliance Updates, File Integrity, Malware, MAC, Secrets, Cloud Metadata, Supply Chain, Backup Hygiene, Resource Limits, Incident Readiness, Banners, Time Hygiene and compliance

Read the full file on GitHub · 78 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. 5d ago First seen · 78 lines · 66 tokens per session scan A d33c944ba28f

Subscribe to this mod's changes

kastell-auditor is an agent published in the GitHub repository kastelldev/kastell (60 stars, last pushed yesterday), licensed Apache-2.0. It adds 66 tokens to every session and 920 once invoked, about $0.0003 per session on Opus 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-30.

Related

Other agents, from other repositories

agent-request-queue

一次 Agent 运行可能包含多次模型调用、知识库检索、工具执行和文件操作。为了避免同一对话同时修改同一份上下文,Yuxi 把“收到请求”和“开始运行”分成两个阶段,并为每个线程维护 FIFO 队列。.

xerrors/Yuxi · 0 tokens

env_var_migration.fr

Ce tracker résume les bascules de variables d'environnement liées à la production qui ont fait surface par docs/source/agents/envvarinventory.{json,md} et la migration prévue chemin vers irohaconfig (ou portée explicite de développement/test uniquement).

hyperledger-iroha/iroha · 0 tokens

env_var_migration.ur

یہ ٹریکر پیداوار کا سامنا کرنے والے ماحول سے متصادم ٹوگل کا خلاصہ پیش کرتا ہے docs/source/agents/envvarinventory.{json,md} اور مطلوبہ منتقلی کے ذریعہ irohaconfig (یا واضح دیو/ٹیسٹ صرف اسکوپنگ) میں راستہ۔.

hyperledger-iroha/iroha · 0 tokens

env_var_migration

This tracker summarizes production-facing environment-variable toggles surfaced by docs/source/agents/envvarinventory.{json,md} and the intended migration path into irohaconfig (or explicit dev/test-only scoping).

hyperledger-iroha/iroha · 0 tokens

frontend-engineer

Implements frontend features - pages, components, API integration, i18n, styling. Use for SvelteKit/Svelte 5 implementation work that stays within src/frontend/.

fpindej/netrock · 39 tokens

missing_docs_inventory.fr

Généré par scripts/inventorymissingdocs.py. Ne modifiez pas manuellement ; exécutez le script après avoir touché les caisses pour actualiser l'inventaire.

hyperledger-iroha/iroha · 0 tokens