doctor enhancements, setup, enhancements, ui functionality and design consolidation and , test projects fixes , product advisory attestation/rekor and delta verfications enhancements
This commit is contained in:
@@ -54,18 +54,21 @@ Vulnerability scanners today rely on version string comparison to determine if a
|
||||
|
||||
### Disassembly Engine Selection
|
||||
|
||||
**Chosen: Plugin-based architecture with Iced (primary) + B2R2 (fallback)**
|
||||
**Chosen: Plugin-based architecture with Iced (primary for disassembly) + B2R2 (primary for IR lifting)**
|
||||
|
||||
| Engine | Strengths | Weaknesses |
|
||||
|--------|-----------|------------|
|
||||
| **Iced** | Fastest x86/x86-64, MIT license, pure C# | x86 only |
|
||||
| **B2R2** | Multi-arch (ARM, MIPS, RISC-V), IR lifting, MIT license | F# (requires wrapper) |
|
||||
| Engine | Strengths | Weaknesses | Use Case |
|
||||
|--------|-----------|------------|----------|
|
||||
| **Iced** | Fastest x86/x86-64, MIT license, pure C# | x86 only | Fast disassembly for delta-sig normalization |
|
||||
| **B2R2** | Multi-arch (ARM, MIPS, RISC-V), IR lifting, MIT license | F# (requires wrapper) | Semantic IR analysis, multi-arch |
|
||||
|
||||
**Rationale:**
|
||||
- Iced for performance-critical x86/x86-64 path (90%+ of scanned binaries)
|
||||
- B2R2 for ARM64, MIPS, RISC-V when needed
|
||||
- Iced for performance-critical x86/x86-64 delta-sig path (90%+ of scanned binaries)
|
||||
- B2R2 for ARM64, MIPS, RISC-V when needed for delta-sigs
|
||||
- **B2R2 as primary backend for semantic IR lifting** (see `SPRINT_20260118_027_BinaryIndex_b2r2_full_integration.md`)
|
||||
- Plugin architecture allows adding engines without core changes
|
||||
|
||||
**Update (2026-01-19):** B2R2 is now the primary backend for semantic IR lifting via `B2R2LowUirLiftingService`. This enables high-fidelity semantic analysis across x86, ARM64, MIPS, RISC-V, PowerPC, and SPARC architectures. See `docs/modules/binary-index/semantic-diffing.md` for details.
|
||||
|
||||
### Normalization Strategy
|
||||
|
||||
To compare binaries compiled by different toolchains/versions, we normalize:
|
||||
|
||||
Reference in New Issue
Block a user