Skip to content

ADR 0005: Adversarial evaluation as feature-space simulation of functionality-preserving edits

  • Status: accepted
  • Date: 2026-09-26

Context

The spec asks how robust the model is to appending benign sections and padding imports. Editing real malware binaries would break ADR 0001.

Decision

bench_adversarial.py applies the edits to EMBER raw-feature dicts: appending a benign donor's bytes as overlay (all byte and string statistics updated), adding a new data section, merging a donor's imports, copying a donor's header fields, and all of these combined. It then recomputes both feature sets and reports detection and evasion rates at validation-calibrated 1%-FPR thresholds for each model. It also measures the capability floor, and the floor's price: the share of benign software it sends to review.

Consequences

The benchmark is an optimistic model of a naive attacker. It does not do gradient- or query-based optimization, and it does not check that the edited binary still runs. Real binary-level attacks (e.g. MalConv/EMBER attacks from the literature) are out of scope and listed on the roadmap.