threat-model-discipline SKILL.md skillA

threat-model-discipline from hypnguyen1209/offensive-claude is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add hypnguyen1209/offensive-claude/threat-model-discipline@git:20260630.b54aaaa

Pins git:20260630.b54aaaa in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
hypnguyen1209/offensive-claude
Path
skills/threat-model-discipline/SKILL.md
Versions recorded
2
Latest version
git:20260630.b54aaaa, committed Jun 30, 2026
First version recorded
Jun 30, 2026
Size
2,663 bytes
Repository stars
410
License
MIT

Use when starting an engagement, before exploitation, or whenever the attack surface changes — build/validate the threat model and detect drift (new unreviewed surface) before advancing.

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

# Threat-Model Discipline

## Overview

**You cannot test what you have not modeled.** A threat model names the assets, entry points, trust
boundaries, relevant ATT&CK techniques, and existing mitigations — so coverage is deliberate, not
accidental. On a long engagement the surface drifts (a new endpoint, a new dependency); **un-reviewed
drift is where bugs hide.** This skill keeps the model complete and re-checks it for drift.

## When to Activate

- At engagement start (after recon-osint), before weaponize/exploit.
- Whenever recon is re-run or the target changes — to catch new attack surface.
- At `/engage.gate` — the gate refuses to advance on un-acknowledged drift.

## The model (JSON, materialized from recon)

`threat-model.json` (see `templates/threat-model/`): five required lists —
`assets`, `entry_points`, `trust_boundaries`, `attck` (technique ids), `mitigations`.

```bash
# 1. Lint - every required field present, no placeholders, valid ATT&CK ids
python skills/threat-model-discipline/scripts/threatmodel_lint.py lint .engage/recon/threat-model.json

# 2. Drift - diff a re-run against the reviewed baseline; NEW entry points/assets/boundaries are
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add hypnguyen1209/offensive-claude/threat-model-discipline@sha256:46c6e89ae25f0e17

The line at the top of this page pins the label git:20260630.b54aaaa, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_5zqv7sejbpsa5rji.svg)](https://markdownregistry.com/a/art_5zqv7sejbpsa5rji)

4 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 2 versions of this file, all committed on Jun 30, 2026.

versioncommittedcommitsizeaudit
git:20260630.b54aaaa latest2026-06-30 b54aaaa 2,663 BA view · diff
git:20260630.df7d8952026-06-30 df7d895 2,622 BA view

Audit of the latest version

A  17 of 17 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Frontmatter block present
  • pass: Frontmatter declares a name
  • pass: Frontmatter declares a description
  • pass: Size between 200 bytes and 200 KB (2663 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

hypnguyen1209/offensive-claude · 410 stars · license MIT · pushed 2026-10-22 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_5zqv7sejbpsa5rji
GET https://markdownregistry.com/api/v1/resolve?ref=hypnguyen1209/offensive-claude/threat-model-discipline
GET https://markdownregistry.com/api/v1/blob/46c6e89ae25f0e1739b738517bc7cc4a2c93451463e7f10cf6aa47749fae3ce9

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.

More from hypnguyen1209/offensive-claude

CLAUDE.md CLAUDE.md file
hypnguyen1209/offensive-claude · CLAUDE.md
git:20260916.d4cb295 · audit A · 410 stars
active-directory-attack SKILL.md skill
hypnguyen1209/offensive-claude · skills/active-directory-attack/SKILL.md · Use when attacking a Windows Active Directory domain — Kerberos roasting/delegation, coercion + NTLM/Kerberos relay…
git:20260629.9f4a1a5 · audit A · 410 stars
advanced-redteam SKILL.md skill
hypnguyen1209/offensive-claude · skills/advanced-redteam/SKILL.md
git:20260629.9f4a1a5 · audit C · 410 stars
ai-agent-redteam SKILL.md skill
hypnguyen1209/offensive-claude · skills/ai-agent-redteam/SKILL.md · Use when red-teaming an agentic AI / LLM application — indirect & zero-click prompt injection, MCP tool poisoning…
git:20260629.9f4a1a5 · audit C · 410 stars
ai-security SKILL.md skill
hypnguyen1209/offensive-claude · skills/ai-security/SKILL.md · Use when attacking an AI/ML system or model — prompt injection & jailbreaks (Crescendo, Skeleton Key, Best-of-N)…
git:20260629.9f4a1a5 · audit A · 410 stars
browser-exploitation SKILL.md skill
hypnguyen1209/offensive-claude · skills/browser-exploitation/SKILL.md · Use when building a client-side browser exploit — V8/JSC JIT type confusion to renderer R/W, V8 heap-sandbox escape…
git:20260629.9f4a1a5 · audit A · 410 stars
cicd-supply-chain SKILL.md skill
hypnguyen1209/offensive-claude · skills/cicd-supply-chain/SKILL.md · Use when attacking or auditing a CI/CD pipeline or software supply chain — pwn requests, poisoned pipeline execution…
git:20260629.9f4a1a5 · audit A · 410 stars
cloud-security SKILL.md skill
hypnguyen1209/offensive-claude · skills/cloud-security/SKILL.md · Use when attacking AWS/Azure/GCP cloud — IAM/identity privilege escalation, IMDS/metadata SSRF, Entra device-code & PRT…
git:20260629.9f4a1a5 · audit A · 410 stars
coding-mastery SKILL.md skill
hypnguyen1209/offensive-claude · skills/coding-mastery/SKILL.md · Use when writing security tooling, exploits, scanners, or C2 in Python/C/Go/Rust/ASM — systems & network programming…
git:20260629.9f4a1a5 · audit A · 410 stars
container-k8s-escape SKILL.md skill
hypnguyen1209/offensive-claude · skills/container-k8s-escape/SKILL.md · Use when breaking out of a container or escalating inside Kubernetes — runc/BuildKit CVEs, privileged/capability/cgroup…
git:20260629.9f4a1a5 · audit A · 410 stars
crypto-analysis SKILL.md skill
hypnguyen1209/offensive-claude · skills/crypto-analysis/SKILL.md · Use when assessing cryptography — TLS/PKI auditing, RSA/ECC key attacks, ECDSA nonce lattice recovery, symmetric/AEAD…
git:20260629.9f4a1a5 · audit A · 410 stars
edr-evasion SKILL.md skill
hypnguyen1209/offensive-claude · skills/edr-evasion/SKILL.md · Use when bypassing EDR/AV to run a payload — hook unhooking, direct/indirect syscalls, PPID spoofing, process…
git:20260629.9f4a1a5 · audit A · 410 stars

Every file in hypnguyen1209/offensive-claude

Browse by kind, by grade A, or by owner.