mtecoyy/ai-baike/analyzing-malicious-pdf-with-peepdf
Trust tier 2
- community
Source check pending
Checking that the SKILL.md file is still in the repository.
Perform static analysis of malicious PDF documents using peepdf, pdfid, and pdf-parser to extract embedded JavaScript, shellcode, and suspicious objects.
Install
npx vskill@latest install mtecoyy/ai-baike/analyzing-malicious-pdf-with-peepdfSKILL.md
The same SKILL.md was published earlier as plurigrid/asi/analyzing-malicious-pdf-with-peepdf.
Analyzing Malicious PDF with peepdf
When to Use
- When triaging suspicious PDF attachments from phishing emails
- During malware analysis of PDF-based exploit documents
- When extracting embedded JavaScript, shellcode, or executables from PDFs
- For forensic examination of weaponized document artifacts
- When building detection signatures for PDF-based threats
Prerequisites
- Python 3.8+ with peepdf-3 installed (pip install peepdf-3)
- pdfid.py and pdf-parser.py from Didier Stevens suite
- Isolated analysis environment (VM or sandbox)
- Optional: PyV8 for JavaScript emulation within peepdf
- Optional: Pylibemu for shellcode analysis
Workflow
- Triage with pdfid: Scan PDF for suspicious keywords (/JS, /JavaScript, /OpenAction, /Launch, /EmbeddedFile).
- Interactive Analysis: Open PDF in peepdf interactive mode to explore object structure.
- Identify Suspicious Objects: Locate objects containing JavaScript, streams, or encoded data.
- Extract Content: Dump suspicious streams and decode filters (FlateDecode, ASCIIHexDecode).
- Deobfuscate JavaScript: Analyze extracted JS for shellcode, heap sprays, or exploit code.
- Check VirusTotal: Use peepdf vtcheck to cross-reference file hash with AV detections.
- Generate IOCs: Extract URLs, domains, hashes, and shellcode signatures.
Key Concepts
| Concept | Description | |
|---|---|---|
| /OpenAction | Automatic action executed when PDF is opened | |
| /JavaScript /JS | Embedded JavaScript code in PDF objects | |
| /Launch | Action that launches external applications | |
| /EmbeddedFile | File embedded within the PDF structure | |
| FlateDecode | zlib compression filter used to hide content | |
| Object Streams | PDF objects stored in compressed streams |
Tools & Systems
| Tool | Purpose | |
|---|---|---|
| peepdf / peepdf-3 | Interactive PDF analysis with JS emulation | |
| pdfid.py | Quick triage scanning for suspicious keywords | |
| pdf-parser.py | Deep object-level PDF parsing | |
| VirusTotal | Hash lookup and AV detection cross-reference | |
| CyberChef | Decode and transform extracted payloads |
Output Format
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewNot runA model review is scheduled for the next rescan.
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking破甲/网络安全1000+skills/网络安全1000+skills/skills/analyzing-malicious-pdf-with-peepdf/SKILL.md
Popularity
- Repository stars
- 22
- Repository forks
- 4
- 7-day trend score
- 21
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 22 Oct 2026, yesterday.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mtecoyy/ai-baike/analyzing-malicious-pdf-with-peepdf)