Files
git.stella-ops.org/docs/features/unchecked/binaryindex/static-to-binary-braid.md

2.3 KiB

Static-to-Binary Braid (Build-Time Function Proof)

Module

BinaryIndex

Status

IMPLEMENTED

Description

Full binary analysis pipeline with function fingerprinting, delta signatures, multi-backend disassembly (Iced, B2R2), normalization, and semantic analysis for build-time function proof.

Implementation Details

  • Modules: src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Diff/, src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.DeltaSig/, src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Semantic/, src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Disassembly/
  • Key Classes:
    • PatchDiffEngine (src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Diff/PatchDiffEngine.cs) - orchestrates build-time function proof by comparing pre/post binaries
    • DeltaSigServiceV2 (src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.DeltaSig/DeltaSigServiceV2.cs) - V2 delta-sig with IR diff support
    • SemanticFingerprintGenerator (src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Semantic/SemanticFingerprintGenerator.cs) - semantic function fingerprinting
    • HybridDisassemblyService (src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Disassembly/HybridDisassemblyService.cs) - multi-backend disassembly
    • CodeNormalizer (src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Decompiler/CodeNormalizer.cs) - normalizes decompiled code for comparison
    • SemanticEquivalence (src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Decompiler/SemanticEquivalence.cs) - semantic equivalence checking between code versions
    • EnsembleDecisionEngine (src/BinaryIndex/__Libraries/StellaOps.BinaryIndex.Ensemble/EnsembleDecisionEngine.cs) - combines all matching tiers for final proof verdict

E2E Test Plan

  • Submit source-to-binary pair and verify function-level proof linking source functions to binary symbols
  • Verify multi-backend disassembly: same binary analyzed by Iced and B2R2 produces compatible fingerprints
  • Verify delta-sig generation creates build-time proof of which functions changed
  • Verify semantic analysis identifies equivalent functions across different compiler outputs
  • Verify code normalization strips compiler-specific artifacts for fair comparison
  • Verify ensemble decision produces final proof verdict combining all evidence tiers