Skip to content

Extraction hardening: assembly #856

Closed

Description

@squid-protocol

Part of the extraction-hardening epic (#813). See
tests/extraction/how_to_harden_extraction.md
for the full methodology this issue follows.

Language: assembly

Rules in scope (non-None in LANGUAGE_DEFINITIONS["assembly"]["rules"]):

  • func_start
  • args
  • class_start
  • _dependency_capture

Checklist (per the methodology doc, for each in-scope rule above)

  • valid: modern idiom + legacy/historical syntax eras + testing-framework-shaped functions
  • invalid: string-literal lookalikes, type-level lookalikes, assignment-in-condition, macro-expansion lookalikes, and any language-specific lookalike shape
  • pathological: 10-15 cases covering annotation/attribute stacking, nested generics/templates, destructured/complex params, multi-line splits at every plausible boundary
  • Every case empirically verified against the real compiled regex before being added
  • Any genuine bug found is fixed (full ReDoS/lint/type/crucible discipline) or filed separately if it's a multi-language architectural fix
  • Migrated out of the four old monolithic dict files into tests/extraction/languages/test_assembly.py
  • Epic updated with any new recurring-bug-class findings before closing this issue

Activity

  1. added
    testingUnit, integration, and E2E pipeline verification
    core-engineModifications to the central physics and parsing engine
    on Jul 30, 2026
  2. added this to the v2.4.6 milestone on Aug 1, 2026
  3. added a commit that references this issue on Aug 1, 2026
    18ada6b
  4. squid-protocol commented on Aug 1, 2026

    @squid-protocol
    OwnerAuthor

    Follow-up: independently reviewed the merged PR (#936) given this epic's established pattern of finding real bugs in every language sweep so far. Found and fixed one real bug in args (the [er][89] alternative matched fictional "e8"/"e9" while missing the real r8d/r9d/r8w/r9w/r8b/r9b suffix forms) plus a genuine coverage gap (zero support for the legacy 8/16-bit x86 register set despite this language's own _meta declaring it "Backwards Compatible"). func_start, class_start, and _dependency_capture were all independently re-verified against the real corpus and found correct.

    Fixed via #940 (merged). Full writeup in epic #813's checklist and recurring bug classes 61-62.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    core-engineModifications to the central physics and parsing enginetestingUnit, integration, and E2E pipeline verification

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions