apt-emulation SKILL.md skillA

apt-emulation from grisuno/lazyown is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.

Install it, pinned
mdr add grisuno/lazyown/apt-emulation@git:20261016.87c0ac4

Pins git:20261016.87c0ac4 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 17 of 17 checks passed
Kind
SKILL.md skill
Repository
grisuno/lazyown
Path
skills/apt-emulation/SKILL.md
Versions recorded
1
Latest version
git:20261016.87c0ac4, committed Oct 16, 2026
Size
13,286 bytes
Repository stars
300
License
AGPL-3.0

Emulate APT adversaries end-to-end in LazyOwn: research MITRE ATT&CK techniques, translate them to Atomic Red Team tests, build ordered emulation plans, and stage executable artefacts. Knows the resolver, the TTPScope bridge with its offline fallbacks, the MCP tools, and the CLI flow.

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

# /apt-emulation

Emulate a real adversary by chaining MITRE ATT&CK techniques into concrete,
executable Atomic Red Team tests. Research is read-only; staging writes files
under `sessions/`; nothing runs on a target without an explicit operator step.

## Usage

```
/apt-emulation T1003 T1059.001 --platform windows
/apt-emulation apt29 --platform linux
```

A bare technique list means "build the emulation plan". The name of a
playbook in `playbooks/apt_*.yaml` means "emulate that APT". For the
whole thing as one command (scan unless cached, sweep, validate, plan,
stage), run the chain instead of the steps below:

```
apt_chain apt_rocke 172.17.0.2
```

Chains are fully YAML-administered: `chains/apt_chain.yaml` holds the
steps; per-APT files (`chains/apt_rocke.yaml`, ...) inherit it through
`extends:` and only pin the playbook default. Manage them from the
`lazy_orchestrator` Chains tab (preview steps, enable/disable,
generate from playbook, delete) or by editing the files — the
`apt_chain` command only interprets. The autonomous loop reaches the
same chains through its `apt_chain` verb (`auto apt_chain rocke
<target>` proposes from emulation goals, binds, and routes through the
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add grisuno/lazyown/apt-emulation@sha256:fd6a34cc4e0764e3

The line at the top of this page pins the label git:20261016.87c0ac4, 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_etlbuswk7da7vagu.svg)](https://markdownregistry.com/a/art_etlbuswk7da7vagu)

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

Versions

The registry has recorded 1 version of this file, committed on Oct 16, 2026.

versioncommittedcommitsizeaudit
git:20261016.87c0ac4 latest2026-10-16 87c0ac4 13,286 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 (13286 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

grisuno/lazyown · 300 stars · license AGPL-3.0 · pushed 2026-11-01 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_etlbuswk7da7vagu
GET https://markdownregistry.com/api/v1/resolve?ref=grisuno/lazyown/apt-emulation
GET https://markdownregistry.com/api/v1/blob/fd6a34cc4e0764e3e5cfe44c7ef4dcf4b025c6f02e9d2fe7e479452af96e703b

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 grisuno/lazyown

readmenator-ask SKILL.md skill
grisuno/lazyown · .claude/skills/readmenator-ask/SKILL.md · Answer questions about a ReadMenator-indexed codebase with GraphRAG retrieval (BM25 + Personalized PageRank over files…
git:20261008.72e5054 · audit A · 300 stars
readmenator-change SKILL.md skill
grisuno/lazyown · .claude/skills/readmenator-change/SKILL.md · Safe-change protocol for ReadMenator-indexed repositories. Use before editing, refactoring, deleting, or adding code…
git:20261008.72e5054 · audit A · 300 stars
readmenator-memory SKILL.md skill
grisuno/lazyown · .claude/skills/readmenator-memory/SKILL.md · Persist and recall cross-session project knowledge (business rules, decisions and their reasons, workflow, constraints…
git:20261008.72e5054 · audit A · 300 stars
readmenator-orient SKILL.md skill
grisuno/lazyown · .claude/skills/readmenator-orient/SKILL.md · Start-of-session orientation for any repository that has ReadMenator outputs (readmenator-agent/, readmenator-wiki/…
git:20261022.f2f4471 · audit A · 300 stars
readmenator-receipts SKILL.md skill
grisuno/lazyown · .claude/skills/readmenator-receipts/SKILL.md · Ingest deploynator release receipts into the repository knowledge base and turn observed release evidence into graph…
git:20261022.f2f4471 · audit A · 300 stars
run-lazyown SKILL.md skill
grisuno/lazyown · .claude/skills/run-lazyown/SKILL.md · Build, launch, and drive the LazyOwn red-team framework (the cmd2 shell in lazyown.py). Use when asked to run, start…
git:20261007.c43c781 · audit A · 300 stars
AGENTS.md AGENTS.md file
grisuno/lazyown · AGENTS.md
git:20261030.230476b · audit A · 300 stars
CLAUDE.md CLAUDE.md file
grisuno/lazyown · CLAUDE.md
git:20261030.230476b · audit A · 300 stars
llms.txt@readmenator-maps llms.txt file
grisuno/lazyown · readmenator-maps/llms.txt
git:20261031.1c4f270 · audit A · 300 stars
adversary-yaml-creator SKILL.md skill
grisuno/lazyown · skills/adversary-yaml-creator/SKILL.md · Create LazyOwn adversary YAMLs in one shot: APT playbooks (playbooks/apt_*.yaml), orchestration chains (chains/*.yaml)…
git:20261031.1c4f270 · audit A · 300 stars
atomic-exploit SKILL.md skill
grisuno/lazyown · skills/atomic-exploit/SKILL.md · Extend the autonomous loop's arsenal without touching Python: add one exploits/<id>.yaml per exploit (service triggers…
git:20261016.87c0ac4 · audit A · 300 stars
awesome-windows-security SKILL.md skill
grisuno/lazyown · skills/awesome-windows-security/SKILL.md · Route a Windows offensive objective to the right tool and run it inside LazyOwn. Uses chryzsh/awesome-windows-security…
git:20261021.9f1ab88 · audit B · 300 stars

Every file in grisuno/lazyown

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