Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add skills/meltedinhex/analyst-ai-pack/analyzing-java-jar-malwarenpx skills add meltedinhex/analyst-ai-pack --skill analyzing-java-jar-malwaregit clone --depth 1 https://github.com/meltedinhex/analyst-ai-packWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/meltedinhex/analyst-ai-pack/analyzing-java-jar-malware)<a href="https://agentmods.dev/skills/meltedinhex/analyst-ai-pack/analyzing-java-jar-malware"><img src="https://agentmods.dev/badge/skills/meltedinhex/analyst-ai-pack/analyzing-java-jar-malware.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5 | $0.00083 | $0.00745 |
| Opus 5 | $0.00042 | $0.00373 |
| Sonnet 5 | $0.00017 | $0.00149 |
| Haiku 4.5 | $0.00008 | $0.00075 |
Grade A, and why
analyzing-java-jar-malware scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 3d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 91 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Analyzing Java/JAR Malware
When to Use
- You have a malicious or suspicious
.jar(often a cross-platform RAT) and need to map its structure, entry point, obfuscation, and capability surface before decompiling. - You want to triage a Java payload without running the JVM.
Do not use java -jar to run it — that executes the malware. Treat the JAR as a ZIP and read
its contents statically.
Prerequisites
- The JAR file, read inertly. Optional: a Java decompiler (CFR, Procyon) for the next stage.
Safety & Handling
- Read the archive statically; never launch the JVM on the sample. Defang any URLs found.
Workflow
Step 1: Inventory the archive and entry point
python scripts/analyst.py inspect sample.jar
Lists .class files, embedded resources/payloads (nested JARs, scripts, encrypted blobs), and
reads META-INF/MANIFEST.MF for Main-Class/Premain-Class.
Step 2: Detect obfuscation and packers
Flags obfuscator fingerprints (Allatori, ProGuard, Zelix), single-character class/package names, and string-decryption indicators.
Step 3: Flag capability classes
Surface dangerous API usage in strings/constant pools: Runtime.exec/ProcessBuilder,
java.lang.reflect, URLClassLoader, javax.crypto, java.net.Socket, registry/persistence
helpers.
Step 4: Route to decompilation
Hand the key classes to a decompiler (CFR/Procyon) for source recovery; record IOCs.
Validation
- The manifest entry point is read and reported.
- Embedded payloads/nested archives are enumerated.
- Capability flags are backed by concrete class/string evidence.
Pitfalls
- String-encrypted samples where capability strings appear only after decryption.
- Multi-stage droppers that unpack a second JAR at runtime.
- Benign obfuscated commercial JARs — corroborate with capability and delivery context.
References
- See
references/api-reference.mdfor the inspector. - JVM/JAR format and ATT&CK T1027 references (linked in frontmatter).
What ships with it
3 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 3d ago First seen · 91 lines · 83 tokens per session scan A aa89f68360a6
analyzing-java-jar-malware is a skill published in the GitHub repository meltedinhex/analyst-ai-pack (22 stars, last pushed 1mo ago), licensed Apache-2.0. It adds 83 tokens to every session and 745 once invoked, about $0.0004 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-30.
Other skills, from other repositories
analyzing-malicious-pdf-with-peepdf
Perform static analysis of malicious PDF documents using peepdf, pdfid, and pdf-parser to extract embedded JavaScript, shellcode, and suspicious objects.
analyzing-malicious-pdf-with-peepdf
Perform static analysis of malicious PDF documents using peepdf, pdfid, and pdf-parser to extract embedded JavaScript, shellcode, and suspicious objects.
analyzing-golang-malware-with-ghidra
Reverse engineer Go-compiled malware in Ghidra by parsing Go buildinfo and pclntab structures, recovering stripped/obfuscated function names (e.g. via GoResolver), and extracting embedded module/dependency strings and types from Go binaries. Use when analyzing a Go-language malware sample, deobfuscating a…
analyzing-malicious-pdf-with-peepdf
Perform static analysis of malicious PDF documents using peepdf, pdfid, and pdf-parser to extract embedded JavaScript, shellcode, and suspicious objects. Use when triaging a suspicious PDF attachment from a phishing email, analyzing a PDF-based exploit document, or building detection signatures for weaponized PDF…
decomp-tu-slicing
Find which classes shared an original .cpp translation unit in sm64ds-decomp, so a C++ conversion PR ships the right set of classes together instead of splitting a file the ROM says is one. Use before slicing a per-class migration PR, when deciding whether two classes belong in one header, when eligible.py rejects a…
decomp-cpp-class-form
Choose the C++ source form that makes mwccarm 2004/b56 emit what the SM64DS ROM actually contains - destructor variant order (D1/D0/D2), vtable and RTTI anchoring, constructor inlining, struct copies, bool widening, and virtual-vs-direct calls. Use when converting a shadow struct into a real C++ class, when D0/D1 are…