Skip to content

Releases: ctrl-escp/obfuscation-detector

v3.0.0

23 Mar 15:09

Choose a tag to compare

Version 3 is a major update focused on making detections more transparent, deterministic, and easier to consume from both the API and CLI.
Some obfuscation patterns are more inclusive than others, which means a single input can legitimately match multiple detectors. Version 3 makes that explicit:

Highlights

  • Added three detection modes:
    • detectObfuscation(code) for raw detections
    • detectObfuscationReduced(code) for reduced detections with lower-priority matches suppressed
    • detectObfuscationDetailed(code) for full detection metadata
  • Reworked detector output around prioritizeOver / suppressedBy relationships so overlapping detections are handled explicitly instead of relying on “best match” behavior
  • Updated the CLI with new flags:
    • --reduced / -r
    • --detailed / -d
    • --json / -j
  • Added stronger validation for detector definitions, including priority graph checks and order-independent reduction behavior
  • Expanded test coverage for raw, reduced, and detailed output paths
  • Upgraded flast to 3.0.0

Breaking Changes

  • The old "best match" behavior has been removed
  • detectObfuscation() now returns all raw matches instead of stopping after the first match
  • The CLI no longer supports --bestMatch / -b

Raw mode returns every positive detection
Reduced mode removes detections suppressed by more inclusive matches
Detailed mode exposes the priority metadata so consumers can understand exactly why a result was kept or suppressed**