Skip to main content

cleanup-template

Cleanup & restoration plan generator — artifact inventory, persistence removal commands, pre-engagement baseline, post-engagement verification.

Jump to install

Source facts

Repository
BitterSecurity/Decepticon
Last source activity
June 2, 2026 at 17:46
Detected SKILL.md language
English
Stars
5,611
Forks
1,061

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
cleanup-template
description
Cleanup & restoration plan generator — artifact inventory, persistence removal commands, pre-engagement baseline, post-engagement verification.
allowed-tools
Read Write Edit
metadata
{"subdomain":"planning","when_to_use":"create cleanup plan, artifact inventory, persistence removal, post-engagement teardown, restoration plan","tags":"cleanup, restoration, persistence, post-engagement, hygiene","upstream_ref":"Soundwave cleanup template — artifact inventory, persistence removal, restoration plan"}
# Cleanup & Restoration Plan Generator The cleanup plan is the **anti-foothold roster** — every artifact the kill chain will create must have a concrete removal command and a verifier, or dummy accounts / scheduled tasks / beacons routinely outlive the engagement. ## When to Use - After CONOPS is written (the kill chain phases dictate what artifacts will exist) - User says "create cleanup plan", "list what we'll leave behind", "post-engagement teardown" ## Workflow ### Step 1: Map Kill Chain Phases → Expected Artifact Types For every phase in CONOPS.kill_chain, infer which `CleanupArtifact.artifact_type` entries will be produced: | Kill Chain Phase | Likely artifact_types | |---|---| | recon | `tool` (installed scanners), `network-rule` (firewall whitelist) | | initial-access | `account` (test users), `file` (uploaded payloads), `tool` (web shells) | | post-exploit | `persistence-mechanism` (scheduled-task / service / registry-run), `account` (created backdoor users), `file` (dropped binaries) | | c2 | `beacon` (C2 implants), `network-rule` (egress allow), `tool` (sliver / cobalt-strike payloads) | | exfiltration | `file` (staged exfil archives), `network-rule` (DNS tunneling) | ### Step 2: Seed CleanupArtifact entries For each expected artifact, set: - `artifact_type` — category above - `host` — placeholder (e.g. ``"<initial-access target>"``) — operations agents replace at run time - `path` — likely filesystem / registry / account-name location - `persistence_mech` — concrete mechanism if applicable - `removal_command` — idempotent shell or API call to remove - `verifier_command` — zero-exit on success - `created_by_objective` — left blank; operations agents fill on creation - `removed=False`, `removed_at=""` ### Step 3: Pre-engagement Baseline Set `pre_engagement_baseline` to whatever snapshot reference the operator gives during the interview (volume ID, AWS AMI, hypervisor snapshot, manual filesystem hash list). If no baseline is available, record that explicitly — it's a critical risk signal for the engagement owner. ### Step 4: Completion Criteria Default schema text covers most engagements. Override only when the engagement specifies different completion semantics (e.g. "leave honeyfile FILE_X in place for blue team training" — note as a cancellation_reason on that artifact later). ## Validation Checklist Before writing `plan/cleanup.json`: - [ ] Every CONOPS phase that creates persistence has a matching artifact entry - [ ] Every artifact has a non-empty `removal_command` - [ ] No artifact's `path` references an out-of-scope host - [ ] `pre_engagement_baseline` is either set or explicitly marked "no baseline available" ## Anti-patterns - Leaving `removal_command` empty — operations agents will skip the artifact entirely - Putting absolute paths from the operator's machine (engagement workspace is `/workspace/<eng>` inside the sandbox; cleanup runs on TARGETS not the workspace) - Forgetting C2 beacons — the kill chain's c2 phase is the most common omission ## Output Write to `plan/cleanup.json` validating against `decepticon.core.schemas.CleanupPlan`.
View on GitHub