Prerequisites
- Target system, dependencies and environment configured.
Usage
Purpose
Malware analysis that isn't communicated is wasted effort. The report is the deliverable — it turns hours of triage, detonation, and reversing into something IR can act on, detection engineers can build from, and leadership can understand. A good malware report answers each audience's question without making them read the whole analysis. This skill covers writing that report, the closing step that connects the whole domain to defence.
When to use it
After analysing a sample, before considering the work done. Even a quick triage deserves a short write-up if the sample matters. It's the bridge from the malware domain to incident-response, detection-engineering, and threat-intelligence — those teams consume this report.
Procedure
- Lead with the answers people need, not the analysis journey. Open with a short summary: what the sample is (family/type), what it does (capability), how bad it is (impact), and the key indicators. Analysts, IR, and leadership should get the essentials from the first paragraph without reading the reversing details.
- Serve each audience's question:
- IR / responders — what does it do, how does it persist, what's the scope of impact, and what are the IoCs to hunt and block right now. Actionable and immediate.
- Detection engineers — the behavioural indicators, YARA rules, and network signatures to build durable detection from.
- Leadership / decision-makers — the risk in plain terms: what could this do to us, is it targeted, what's the recommended response. Non-technical.
- Include the technical analysis as supporting depth, structured so readers can go as deep as they need: capabilities observed, persistence mechanism, C2 details, and notable techniques (mapped to MITRE ATT&CK so it's comparable and searchable). This is the evidence behind the summary, not the lead.
- Present IoCs clearly and by type (file, network, host/behavioural), with the durability weighting from the extracting-iocs skill, in a format defenders can ingest. This is often the most-used part of the report.
- Map to ATT&CK — expressing the sample's behaviour as ATT&CK techniques makes it comparable to other threats, feeds detection coverage analysis, and communicates capability in a shared language.
- State confidence and gaps honestly — what you're sure of, what's inferred, and what you couldn't determine (packed sections you didn't fully unpack, behaviour that didn't trigger). An honest report is trustworthy; overstating certainty misleads response decisions.
- Recommend actions — concrete next steps for IR (hunt these IoCs, block these destinations, check for this persistence) and detection (deploy these rules). A report that ends without recommendations leaves the reader to figure out what to do.
Cheatsheet
lead with ANSWERS, not the journey
summary first: what it is (family) + what it does (capability) + how bad (impact)
+ key IoCs — readable without the deep analysis
per audience
IR/responders what/persist/scope + IoCs to hunt+block NOW (actionable)
detection eng behavioural indicators + YARA + network signatures (durable)
leadership plain-language risk: impact, targeted?, recommended response
supporting depth (structured, go-as-deep-as-needed)
capabilities, persistence, C2, techniques -> mapped to MITRE ATT&CK
IoCs: clear, BY TYPE (file/network/host), durability-weighted, ingestible format
confidence + GAPS: state what's sure vs inferred vs undetermined (be honest)
RECOMMEND actions: hunt X, block Y, check persistence Z, deploy rules
goal: analysis -> ACTION for IR, detection, and decision-makers.
Reading your report
- A summary that answers what/does/impact/IoCs up front = each audience gets what they need fast; the mark of a usable report. If readers must wade through reversing details to learn what the sample does, restructure.
- IoCs clearly typed and durability-weighted = the most-used section; done well it's directly ingestible by detection and IR. A buried or unstructured IoC list undercuts the whole report.
- Behaviour mapped to ATT&CK = comparable, searchable, and feeds coverage analysis; a report without it is an island.
- Honest confidence and gaps = trustworthy and safe to act on; a report overstating certainty (claiming full understanding of a partially-unpacked sample) misleads response.
- Concrete recommendations = the report drives action; one that ends at "here's what it does" leaves value on the table.
- A layered report — summary, audience answers, supporting depth, IoCs, recommendations = analysis turned into defence, which is the entire point of the domain.
Pitfalls
- Writing the report as a narrative of your analysis. Readers need answers, not your journey through the disassembler. Lead with what/does/impact/IoCs; put the process as supporting depth.
- One report, one audience. IR, detection, and leadership need different things; serve each — at minimum a plain summary plus actionable IoCs plus technical depth.
- Burying or under-structuring the IoCs. They're the most operational part; type them, weight them by durability, and make them ingestible.
- Overstating certainty. Claiming full understanding when sections were packed/unanalysed misleads response decisions. State confidence and gaps.
- No recommendations. Analysis without "so do this" makes the reader do the translation; end with concrete actions for IR and detection.
- Skipping ATT&CK mapping. It's the shared language that makes the analysis comparable and feeds coverage — cheap to add, valuable to have.
References
- MITRE ATT&CK (technique mapping and the shared vocabulary)
- SANS FOR610 reporting guidance; malware report templates
- The extracting-iocs, yara-rule-writing, incident-response, detection-engineering, and threat-intelligence skills
Inputs
- Relevant source code, logs, network traces, or system specifications.
Outputs
- Analysis findings, security audit report, or generated code artifacts.
1---2name: reporting-a-sample3description: Use when writing up a malware analysis — a report that gives IR, detection, and leadership what each needs from the sample, turning analysis into action.4---5678## Prerequisites9- Target system, dependencies and environment configured.1011## Usage12### Purpose1314Malware analysis that isn't communicated is wasted effort. The report is the deliverable — it turns hours of triage, detonation, and reversing into something IR can act on, detection engineers can build from, and leadership can understand. A good malware report answers each audience's question without making them read the whole analysis. This skill covers writing that report, the closing step that connects the whole domain to defence.1516### When to use it1718After analysing a sample, before considering the work done. Even a quick triage deserves a short write-up if the sample matters. It's the bridge from the malware domain to incident-response, detection-engineering, and threat-intelligence — those teams consume this report.1920### Procedure21221. **Lead with the answers people need, not the analysis journey.** Open with a short summary: what the sample is (family/type), what it does (capability), how bad it is (impact), and the key indicators. Analysts, IR, and leadership should get the essentials from the first paragraph without reading the reversing details.232. **Serve each audience's question:**24 - **IR / responders** — what does it do, how does it persist, what's the scope of impact, and what are the IoCs to hunt and block *right now*. Actionable and immediate.25 - **Detection engineers** — the behavioural indicators, YARA rules, and network signatures to build durable detection from.26 - **Leadership / decision-makers** — the risk in plain terms: what could this do to us, is it targeted, what's the recommended response. Non-technical.273. **Include the technical analysis as supporting depth**, structured so readers can go as deep as they need: capabilities observed, persistence mechanism, C2 details, and notable techniques (mapped to MITRE ATT&CK so it's comparable and searchable). This is the evidence behind the summary, not the lead.284. **Present IoCs clearly and by type** (file, network, host/behavioural), with the durability weighting from the extracting-iocs skill, in a format defenders can ingest. This is often the most-used part of the report.295. **Map to ATT&CK** — expressing the sample's behaviour as ATT&CK techniques makes it comparable to other threats, feeds detection coverage analysis, and communicates capability in a shared language.306. **State confidence and gaps honestly** — what you're sure of, what's inferred, and what you couldn't determine (packed sections you didn't fully unpack, behaviour that didn't trigger). An honest report is trustworthy; overstating certainty misleads response decisions.317. **Recommend actions** — concrete next steps for IR (hunt these IoCs, block these destinations, check for this persistence) and detection (deploy these rules). A report that ends without recommendations leaves the reader to figure out what to do.3233### Cheatsheet3435```36lead with ANSWERS, not the journey37 summary first: what it is (family) + what it does (capability) + how bad (impact)38 + key IoCs — readable without the deep analysis3940per audience41 IR/responders what/persist/scope + IoCs to hunt+block NOW (actionable)42 detection eng behavioural indicators + YARA + network signatures (durable)43 leadership plain-language risk: impact, targeted?, recommended response4445supporting depth (structured, go-as-deep-as-needed)46 capabilities, persistence, C2, techniques -> mapped to MITRE ATT&CK4748IoCs: clear, BY TYPE (file/network/host), durability-weighted, ingestible format49confidence + GAPS: state what's sure vs inferred vs undetermined (be honest)50RECOMMEND actions: hunt X, block Y, check persistence Z, deploy rules5152goal: analysis -> ACTION for IR, detection, and decision-makers.53```5455### Reading your report5657- **A summary that answers what/does/impact/IoCs up front** = each audience gets what they need fast; the mark of a usable report. If readers must wade through reversing details to learn what the sample does, restructure.58- **IoCs clearly typed and durability-weighted** = the most-used section; done well it's directly ingestible by detection and IR. A buried or unstructured IoC list undercuts the whole report.59- **Behaviour mapped to ATT&CK** = comparable, searchable, and feeds coverage analysis; a report without it is an island.60- **Honest confidence and gaps** = trustworthy and safe to act on; a report overstating certainty (claiming full understanding of a partially-unpacked sample) misleads response.61- **Concrete recommendations** = the report drives action; one that ends at "here's what it does" leaves value on the table.62- **A layered report — summary, audience answers, supporting depth, IoCs, recommendations** = analysis turned into defence, which is the entire point of the domain.6364### Pitfalls6566- **Writing the report as a narrative of your analysis.** Readers need answers, not your journey through the disassembler. Lead with what/does/impact/IoCs; put the process as supporting depth.67- **One report, one audience.** IR, detection, and leadership need different things; serve each — at minimum a plain summary plus actionable IoCs plus technical depth.68- **Burying or under-structuring the IoCs.** They're the most operational part; type them, weight them by durability, and make them ingestible.69- **Overstating certainty.** Claiming full understanding when sections were packed/unanalysed misleads response decisions. State confidence and gaps.70- **No recommendations.** Analysis without "so do this" makes the reader do the translation; end with concrete actions for IR and detection.71- **Skipping ATT&CK mapping.** It's the shared language that makes the analysis comparable and feeds coverage — cheap to add, valuable to have.7273### References7475- MITRE ATT&CK (technique mapping and the shared vocabulary)76- SANS FOR610 reporting guidance; malware report templates77- The extracting-iocs, yara-rule-writing, incident-response, detection-engineering, and threat-intelligence skills7879## Inputs80- Relevant source code, logs, network traces, or system specifications.8182## Outputs83- Analysis findings, security audit report, or generated code artifacts.