Skip to content

rohasnagpal/demo-domain-audit

v0.1.0Apache-2.0

Three AI security agents (H1 Reconnaissance, S11 TLS, S18 Email & Domain) and a Chief that coordinates them to audit a domain you own. A teaching demo based on Cyber360.

Build Your First AI Agent: Domain Audit Demo

3 AI security agents, plus a "Chief" agent that coordinates them, packaged as a Codex / Claude Code plugin. Point them at a domain you own and they will map what it exposes, check its HTTPS security and check its email and DNS protection, then write a detailed report for each agent.

setup the plugin from https://github.com/rohasnagpal/demo-domain-audit and run a full domain audit against example.com

This is a teaching demo extracted from Cyber360, an agentic cybersecurity framework by Rohas Nagpal.

What is an AI agent?

An AI agent is an AI model set up to pursue a goal across several steps on its own. It decides what to do next, runs tools, reads the results and keeps going until the job is done.

The agents here are not separate AI models. Each one is a folder of instructions, tools and knowledge that turns the model already running in Codex / Claude Code into a specialist.

The agents

AgentWhat it checksCommands it runs
H1 ReconnaissanceWhat the domain exposes: DNS records, registration, reachability, the HTTPS response, open web ports, and third-party services it revealsdig, host, whois, ping, traceroute, curl, nc
S11 TLS & Cryptography SecurityThe website's certificate, trust chain, TLS versions, cipher suites and client compatibilityopenssl, testssl.sh
S18 Email & Domain SecurityEmail spoofing protection (SPF, DKIM, DMARC), mail encryption (MTA-STS, TLS-RPT, STARTTLS), CAA, DNSSEC, nameservers, expiry and transfer lockdig, curl, openssl, whois
ChiefConfirms scope and authority, picks the agents, runs the workflow and summarises the results(coordinates the others)

Every agent has the same 6 parts:

PartWhat it doesWhere it lives (H1 example)
1. Identity and instructionsWho the agent is, what it may and may not doagents/hacking/reconnaissance/agent.md
2. ToolsThe exact commands it is allowed to runagents/hacking/reconnaissance/tools.yaml
3. SkillsStep-by-step procedure for its jobagents/hacking/reconnaissance/skills/
4. WorkflowsThe order of steps for a taskagents/hacking/reconnaissance/workflows/
5. KnowledgeWhat each result means and how to fix problemsagents/hacking/reconnaissance/references/
6. OutputsThe shape of the report it producesagents/hacking/reconnaissance/outputs/

Requirements

  • Claude Code or Codex (the CLI or the desktop app)
  • Python 3.11 or newer (standard library only, nothing to pip install)
  • macOS or Linux with Homebrew or apt-get
  • A domain you own or have written permission to test

The reports

Each agent writes its own report in the folder you started Claude Code or Codex from:

cyber360-reports/
└── yourdomain.com/
    ├── H1-reconnaissance/   report.html · report.json · evidence/
    ├── S11-tls/             report.html · report.json · evidence/
    ├── S18-email-domain/    report.html · report.json · evidence/
    └── archive/<timestamp>/ the previous run, moved here automatically

Open any report.html in a browser. Each report has an executive summary, charts, and a detailed write-up of every finding: what was found, why it matters, how an attacker would use it, how to fix it for your actual DNS host and email provider, and how to verify the fix. Every finding links to the raw command output that proves it.

How it works

"Cyber360 full domain audit: yourdomain.com"
        │
        ▼
skills/full-domain-audit/SKILL.md      the Chief: confirm authority, check tools
        │
        ▼
engine/domain/full_audit.py            runs every registered command (no shell)
   ├── H1 commands ─┐                  shared commands run once
   ├── S18 commands ┤
   └── S11 (in parallel)
        │
        ▼
engine/domain/analysis.py              turns raw output into pass / finding / unknown
        │
        ▼
references/knowledge.json              explains each result and how to fix it
        │
        ▼
engine/reporting/                      one HTML + JSON report per agent

Three rules keep the agents honest:

  1. Allow-listed commands only. Agents run only the commands in their tools.yaml; no free-form shell.
  2. Evidence first. Every command's raw output is saved, and every finding links to it.
  3. Unknown is not a pass. A blocked or failed check is reported as unknown, never as secure.

Folder structure

demo-domain-audit/
├── plugin.json             portable Agent Plugins manifest used by current Codex versions
├── .claude-plugin/        plugin and marketplace manifests for Claude Code
├── .codex-plugin/         Codex compatibility manifest for older hosts
├── .agents/plugins/       marketplace manifest for Codex
├── skills/                what you type: full-domain-audit, hi-cyber-360, setup-tools, one per agent
├── agents/
│   ├── chief-cyber360-officer.md
│   ├── hacking/reconnaissance/          H1
│   └── security/
│       ├── tls-security/                S11
│       └── email-domain-security/       S18
├── orchestrator/          the Chief's instructions, agent registry and workflow
├── engine/                Python that runs the commands and builds the reports
│   ├── domain/            H1 and S18 commands and analysis
│   ├── tls/               S11 assessment
│   └── reporting/         report pages, charts and themes
└── scripts/               tool setup and request routing

Safety

Only test domains you own or have written permission to test. The agents make ordinary, low-volume requests (DNS lookups, one web request, a TLS scan of port 443 and one mail-server handshake per MX host) but some organisations treat any scan as hostile. Reports and evidence stay on your computer.

Licence

Copyright 2026 Rohas Nagpal. Licensed under the Apache License 2.0.