About

Disclude is a Rust-based command-line tool for discovering code obfuscation. This site performs disclude scans on new releases of widely used packages on PyPI, npm, and crates.io. The goal is to refine disclude's routines to minimize false positives. There is also the slight chance something malicious (or at least suspicious) slips into a release.

Signals, not verdicts

Disclude looks for code that hides what it does from a human reader: invisible or direction-changing Unicode, encoded payloads, dynamic execution, install-time hooks, and similar. Each finding is a signal: a reason to read that code, not proof of anything. Plenty of legitimate code trips a signal.

To see what disclude reports when code really is hiding something, see the Gallery of well-known obfuscations.

Method

LLM Review

As part of each scan, a language model reviews the warn and critical signals, and gives a verdict: confirmed, suspicious, inconclusive, likely benign, or dismissed. A signal it judges benign with enough confidence is demoted to info. Scan pages show each verdict with the model's summary and reasoning, and mark every demotion with the severity it had before.

Characteristics

Severities

critical
A likely technique of obfuscation, or at least suspicious.
warn
Signals that have potential obfuscation.
info
Possibly unusual usage, and signals the LLM review demoted.

Passes

raw
Byte-level: hidden Unicode, entropy, long lines.
token
Token-level: encoded strings, decoders.
ast
Syntax-tree: dynamic execution, shell-outs, install hooks.

Signals

Each signal's kind (for example unicode-bidi) is named on its scan page. The Disclude README describes every kind.

Created By

Disclude and disclude.io are created by Christopher Ariza. Learn more at flexatone.net