MALICIOUS
124
Risk Score
Malware Insights
MITRE ATT&CK
T1059.001 PowerShell
T1204.002 Malicious File
T1566.002 Spearphishing Attachment
The PDF document contains embedded JavaScript, identified by multiple heuristics including PDF_JAVASCRIPT and PDF_JS. The 'PDF_ANNOT_SUBJECT_HEX_EVAL_STAGER' and 'PDF_FOXIT_SYNCANNOTSCAN' heuristics indicate that the JavaScript is used as a stager, likely to decode and execute further malicious code. The ML classifier strongly flags this PDF as malicious. No document body text was available for analysis, but the presence of obfuscated JavaScript streams suggests the intent is to download and execute a second-stage payload.
Machine Learning
- Nyx PDF Classifier malicious score 0.9999
Heuristics 6
-
Annotation subject hex-decoded eval stager critical PDF_ANNOT_SUBJECT_HEX_EVAL_STAGERPDF OpenAction JavaScript decodes a decimal char-code launcher, enumerates annotation subjects with syncAnnotScan()/getAnnots(), turns dash-delimited hex bytes into JavaScript with String.fromCharCode(), and evals the staged result. This is an exploit-kit delivery pattern and not normal PDF form logic.
-
JavaScript action low PDF_JAVASCRIPTPDF contains a /JavaScript action. Generic JavaScript is common in benign forms; specific dangerous APIs are scored by separate rules.
-
Embedded JS stream low PDF_JSPDF references a /JS stream. Generic JavaScript is common in benign forms; specific dangerous APIs are scored by separate rules.
-
String.fromCharCode low PDF_FROMCHARCODEString.fromCharCode found — used to construct payload strings dynamically. Common in benign JavaScript libraries for codepoint manipulation, so this alone is informational; weaponised use is also caught by the dedicated fromCharCode-stage and exploit-shape rules. (matched inside decoded stream)
-
syncAnnotScan annotation-staging primitive low PDF_FOXIT_SYNCANNOTSCANPDF JavaScript calls syncAnnotScan() — a no-op annotation-enumeration primitive used by exploit-kit JavaScript to stage payload reads from annotation /Subject fields before eval(). Not a vulnerable sink itself; rarely seen in legitimate PDFs. (identified after JavaScript deobfuscation)
-
Suspicious extracted artifact info EXTRACTED_FILE_STATIC_TRIAGEOne or more files extracted from inside this sample matched static suspicious-content checks such as script obfuscation, encoded payload blobs, packed data, or execution/download terms.
Extracted artifacts 3
Files carved from inside the sample during analysis.
| Filename | Kind | Source | Size |
|---|---|---|---|
javascript_obj0004_000.jsb771a67801a2a024471cb29d8ce119b13dc98b5c56ef213dece7e1a5cc7b8bed |
pdf-javascript-stream | PDF /JS object 4 at offset 0xE1 | 1814 bytes |
|
Detection
ClamAV:
No threats found
Obfuscation or payload:
likely
Carved artifact contains 1 eval/decoder/string-building token(s).
|
|||
numeric_charcode_stage_000.js4718a27c2224fc36bf24f8e8e04598f1ad78adce4401c7be2708318738a6983d |
deobfuscated-js | numeric char-code string decoded JavaScript at offset 0xEF | 469 bytes |
|
Detection
ClamAV:
No threats found
Obfuscation or payload:
likely
Carved artifact contains 1 eval/decoder/string-building token(s).
|
|||
legacy_pdfkit_stage_000.jscd803f8a74e4c96d36070ffc4f0dc37fcf6f0ddaeb1b4b0ac60deff40ad12250 |
deobfuscated-js | repeated-marker hex decoded JavaScript at offset 0x1AF2 | 12671 bytes |
|
Detection
ClamAV:
No threats found
Obfuscation or payload:
likely
Carved artifact contains 1 eval/decoder/string-building token(s). Carved artifact contains 1 long base64-like blob(s).
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.