Handling malware samples safely
Skill meltedinhex/analyst-ai-pack/skills/handling-malware-samples-safely
Establishes safe practices for acquiring, storing, transferring, and disposing of malware samples: password-protected archives, neutralized extensions, hashing for identity, and chain-of-custody. Activates for requests about safely storing or sharing malware, sample handling hygiene, or defanging artifacts.From its SKILL.md
npx -y skills add meltedinhex/analyst-ai-pack --skill handling-malware-samples-safelyAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 21 stars21 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
4.0 KB, 822 tokens by cl100k_base, as published. Nobody here has run it
Handling Malware Samples Safely
When to Use
- You are receiving, storing, or sharing a malicious file and need to prevent accidental execution or contamination.
- You need a consistent naming and identity scheme so a sample can be tracked across tools and tickets.
- You are packaging a sample to send to another analyst or a sandbox.
Do not use these conventions as a substitute for an isolated detonation environment; safe storage prevents accidents but analysis still requires an isolated lab.
Prerequisites
- An archive tool that supports password-protected, encrypted archives (7-Zip).
- A hashing utility (
sha256sum,certutil, or the bundled script). - A defined storage location with restricted access, separate from general file shares.
Safety & Handling
- Treat every sample as live. Never double-click; never leave it with its original executable extension on a working machine.
- Store samples inside an encrypted, password-protected archive with the conventional
password
infected. - Neutralize the extension on disk (e.g.
sample.exe→sample.exe.binorsample.exe_) so the OS will not execute it on a stray click. - Defang indicators in any text leaving the lab:
hxxp://,1.2.3[.]4,evil[.]com.
Workflow
Step 1: Identify the sample by hash
A sample's identity is its SHA-256, not its filename. Compute hashes immediately:
python scripts/analyst.py hash sample.exe
# md5, sha1, sha256, size, ssdeep-like size bucket
Rename the working copy to its SHA-256 so identity travels with the file:
mv sample.exe 9f86d0818...<sha256>.bin
Step 2: Store in an encrypted archive
7z a -p"infected" -mhe=on <sha256>.7z <sha256>.bin
# -mhe=on encrypts filenames too
Keep the loose, neutralized copy only inside the lab; the archive is the storage/transfer form.
Step 3: Record provenance
Capture where the sample came from, when, and who handled it. The script can emit a JSON metadata record:
python scripts/analyst.py record <sha256>.bin --source "MalwareBazaar" --case CASE-001
Step 4: Defang before sharing
When pasting URLs/IPs into a report or ticket, defang them:
python scripts/analyst.py defang ioc.txt
# http://evil.com/x -> hxxp://evil[.]com/x
Validation
7z l -slt <sha256>.7zshows encrypted headers (filenames not visible without password).- The on-disk working copy has a neutralized extension and matches the recorded SHA-256.
- The provenance record contains source, timestamp, case ID, and all three hashes.
- No raw clickable URLs/IPs remain in any artifact destined to leave the lab.
Pitfalls
- Sharing a sample in a plain zip — mail gateways and AV will quarantine or mangle it, and recipients risk accidental execution. Always password-encrypt.
- Trusting the filename or first-seen label as identity; only the hash is authoritative.
- Forgetting filename encryption (
-mhe=on), which leaks the sample name and your naming scheme. - Defanging only URLs but leaving live IPs or email addresses in the report.
References
- See
references/api-reference.mdfor the hashing, provenance, and defang tooling. - MalwareBazaar and NIST SP 800-86 (linked in frontmatter).
What ships with it: 3 files
4.5 KB alongside SKILL.md, 1 of them executable
references/
- api-reference.md1.4 KB
scripts/
- analyst.pyruns2.8 KB
- LICENSE340 B