
Security News
TypeScript 6.0 Released: The Final JavaScript-Based Version
TypeScript 6.0 introduces new standard APIs, modern default settings, and deprecations as it prepares projects for the upcoming TypeScript 7.0 release.
obfuscation-detector
Advanced tools
Obfuscation Detector is a tool for identifying different types of JavaScript obfuscation by analyzing the code's Abstract Syntax Tree (AST). It is designed for security researchers, reverse engineers, and developers who need to quickly determine if and how a JavaScript file has been obfuscated.
For comments and suggestions feel free to open an issue or find me on LinkedIn
Obfuscation Detector parses JavaScript code into an AST using flAST and applies a series of modular detectors. Each detector reports a binary true/false result and can explicitly declare which less-inclusive detections it should suppress in reduced output.
npm install obfuscation-detector
import fs from 'node:fs';
import {
detectObfuscation,
detectObfuscationDetailed,
detectObfuscationReduced,
} from 'obfuscation-detector';
const code = fs.readFileSync('obfuscated.js', 'utf-8');
const rawMatches = detectObfuscation(code);
const reducedMatches = detectObfuscationReduced(code);
const detailedMatches = detectObfuscationDetailed(code);
console.log(`Raw detections: ${rawMatches.join(', ')}`);
console.log(`Reduced detections: ${reducedMatches.join(', ')}`);
console.log(detailedMatches);
obfuscation-detector /path/to/obfuscated.js [--reduced|-r] [--detailed|-d] [--json|-j]
cat /path/to/obfuscated.js | obfuscation-detector [--reduced|-r] [--detailed|-d] [--json|-j]
obfuscation-detector --help
--reduced, -r: Return only detections that are not prioritized over by another detected type.--detailed, -d: Return detections with prioritizeOver and suppressedBy metadata.--json, -j: Print the selected output mode as JSON.--help, -h: Show usage instructions.$ obfuscation-detector /path/to/obfuscated.js
[+] function_to_array_replacements, augmented_proxied_array_function_replacements
$ obfuscation-detector /path/to/obfuscated.js --reduced
[+] augmented_proxied_array_function_replacements
$ obfuscation-detector /path/to/obfuscated.js --detailed
[+] augmented_array_function_replacements
prioritizeOver: array_function_replacements
suppressedBy: (none)
$ cat obfuscated.js | obfuscation-detector --detailed --json
[
{
"name": "augmented_array_function_replacements",
"prioritizeOver": ["array_function_replacements"],
"suppressedBy": []
}
]
detectObfuscation(code: string): string[]detectObfuscationReduced(code: string): string[]prioritizeOver graph.detectObfuscationDetailed(code: string): DetectionResult[]DetectionResultname: stringprioritizeOver: string[]suppressedBy: string[]prioritizeOver expresses structural inclusiveness, not confidence or likelihood.augmented_array_replacements can prioritize over array_replacements, because the augmented pattern includes the array-replacement pattern.Descriptions and technical details for each type are available in src/detectors/README.md:
--help to see what options are available.To contribute to this project, see our contribution guide.
For technical details on each obfuscation type and how to add new detectors, see src/detectors/README.md.
FAQs
Javascript obfuscation detector
The npm package obfuscation-detector receives a total of 279 weekly downloads. As such, obfuscation-detector popularity was classified as not popular.
We found that obfuscation-detector demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
TypeScript 6.0 introduces new standard APIs, modern default settings, and deprecations as it prepares projects for the upcoming TypeScript 7.0 release.

Security News
/Research
Newly published Trivy Docker images (0.69.4, 0.69.5, and 0.69.6) were found to contain infostealer IOCs and were pushed to Docker Hub without corresponding GitHub releases.

Research
/Security News
The worm-enabled campaign hit @emilgroup and @teale.io, then used an ICP canister to deliver follow-on payloads.