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 skills add meltedinhex/analyst-ai-pack --skill deobfuscating-malicious-javascriptgit 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/deobfuscating-malicious-javascript)<a href="https://agentmods.dev/skills/meltedinhex/analyst-ai-pack/deobfuscating-malicious-javascript"><img src="https://agentmods.dev/badge/skills/meltedinhex/analyst-ai-pack/deobfuscating-malicious-javascript/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/meltedinhex/analyst-ai-pack/deobfuscating-malicious-javascript"><img src="https://agentmods.dev/badge/skills/meltedinhex/analyst-ai-pack/deobfuscating-malicious-javascript.svg" alt="Reviewed on agentmods" width="80" 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.1 | $0.00084 | $0.00813 |
| Opus 5.5 | $0.00034 | $0.00325 |
| Sonnet 5.5 | $0.00017 | $0.00163 |
| Haiku 4.5 | $0.00008 | $0.00081 |
Grade A, and why
deobfuscating-malicious-javascript 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 2mo 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 — 95 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Deobfuscating Malicious JavaScript
When to Use
- You have obfuscated JS (from a phishing page, HTA,
.jsdropper, or scriptlet) and need its real behavior. - You must recover hidden URLs, dropped commands, or a next-stage payload.
- You want to statically unroll common obfuscation rather than run untrusted code.
Do not use a real browser or node to execute the script for analysis — that runs the
malware. Use a sandboxed interpreter (box-js) or static transformation only.
Prerequisites
- A safe analysis approach: static decoding, or a JS malware sandbox (box-js) in the lab.
- Familiarity with common obfuscation: string arrays,
String.fromCharCode, hex/unicode escapes,eval/Functionchains, packers.
Safety & Handling
- Treat the script as live code; never execute it outside an isolated sandbox.
- Defang recovered URLs and store dropped payloads password-protected.
Workflow
Step 1: Normalize and de-pack
Pretty-print the source and identify the obfuscation style (array-shuffle, eval-packer, charcode). Decode static encodings first: hex/unicode escapes and base64 literals.
python scripts/analyst.py decode dropper.js
Step 2: Unroll string arrays and char-code builds
Reconstruct strings built from arrays/fromCharCode/concatenation to reveal API names, URLs, and
commands.
Step 3: Resolve eval/Function indirection — safely
Replace eval/new Function with logging (or a sandbox) so the constructed code is captured as
data, not executed, then recurse on the recovered layer.
Step 4: Extract behavior and IOCs
Identify the dropper actions (WScript.Shell, ActiveX, fetch/XHR), recover URLs and dropped paths, defang, and route payloads onward.
Validation
- Static encodings (hex/unicode/base64) are fully decoded.
- String-array/charcode constructions are unrolled to readable strings.
eval/Functionlayers are captured as data and recursed, with no untrusted execution.
Pitfalls
- Running the script to "see what it does" and infecting the analysis host.
- Stopping at one layer when the dropper nests several.
- Missing environment-keyed branches (only acts on certain dates/locales) during static review.
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.
- 2mo ago First seen · 95 lines · 84 tokens per session scan A a9166b67d253
deobfuscating-malicious-javascript is a skill published in the GitHub repository meltedinhex/analyst-ai-pack (23 stars, last pushed 4mo ago), licensed Apache-2.0. It adds 84 tokens to every session and 813 once invoked, about $0.0003 per session on Opus 5.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-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…
analyzing-malicious-pdf-with-peepdf
A Chinese-language skill for examining suspicious PDF files with peepdf, pdfid, and pdf-parser. It is intended for static malware analysis, which studies a file without running it.
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-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.