Reference tool: JavaScript deobfuscation red flags
When reviewing obfuscated JavaScript, prioritize these red flags after decoding and beautifying the snippet:
- Dynamic execution:
eval,new Function, timer strings. - Hidden strings: hex, Unicode, octal, and base64-like values.
- Dynamic property access:
window[decodedName],document[method]. - Suspicious network calls: unknown URLs, webhook endpoints, tracking pixels.
- DOM injection:
innerHTML,document.write, script element creation. - Environment checks: browser, extension, locale, or debugger detection.
Static deobfuscation does not prove code is safe. It just makes the first review pass less awful.