Papers for

binary analysis teams

Papers whose findings have a practical use for this group, as judged from the abstract. Open a paper to read what it means in practice.

Assembly language models improve understanding of numeric operands with numanchor

Beyond Tokens: NumAnchor for Address-Grounded Numeric Operand Representation in Assembly Language Models

Abstract: Assembly language models (ALMs) are becoming important for automated binary analysis, yet their token-level interfaces often obscure numeric-like operands. In two corpora, such operands account for 45.7% and 40.9% of operand occurrences and may denote branch targets, global data, stack slots, constants, or unresolved pointer-derived values. Existing normalization strategies often lose their identities and structural relationships. We present NumAnchor, an input-boundary adapter that represents recoverable numeric-like operands as typed, canonicalized program entities. NumAnchor encodes code, data, and stack context in compact structural side descriptors, preserving entity identity and locality without increasing the host sequence length. These descriptors are fused into input embeddings before the first Transformer layer, while the host architecture, pretraining objectives, and downstream protocols remain unchanged. Probing frozen instruction-level embeddings yields 98.7% hierarchical-location accuracy and AUROC scores of 0.932 and 0.907 for jump and call target alignment, respectively, showing that the encoded structural information remains recoverable. Across multiple ALM families, NumAnchor achieves relative improvements of up to 35.0% in Recall@1 and 31.7% in MRR on 10k-candidate function retrieval, and improves execution-aware type recovery by up to 5.2 F1 points. Ablations show complementary gains from code, data, and stack descriptors with modest overhead.

Wed 21 OctCryptography and Security
The gist
Assembly language models help analyze low-level computer code but often struggle to understand numbers inside that code. The authors created NumAnchor, a way to represent these numeric values as meaningful program parts without increasing the input size. This method keeps important information about positions and types, helping models better predict how the code works. Tests show it improves accuracy in finding function locations and types inside assembly code by a significant margin.
Open → 2610.29027v1