Skip to content

fix(guards): prevent activation of unresolved semantic gaps - #100

Open
makemake-kbo wants to merge 3 commits into
masterfrom
makemake/eng-4232-fixguards-prevent-activation-of-unresolved-semantic-gaps
Open

fix(guards): prevent activation of unresolved semantic gaps#100
makemake-kbo wants to merge 3 commits into
masterfrom
makemake/eng-4232-fixguards-prevent-activation-of-unresolved-semantic-gaps

Conversation

@makemake-kbo

Copy link
Copy Markdown
Contributor

Summary

  • reject 10,000 bps disabling tolerances
  • quarantine unresolved Aave v4, Balancer, Spark oracle, Euler share-price, Lighter, and Symbiotic wrappers
  • document each quarantined surface as unavailable and retain independently safe/policy components

Validation

  • built aave, balancer, spark, euler, lighter, and symbiotic profiles offline

Linear: ENG-4232

@linear-code

linear-code Bot commented Aug 3, 2026

Copy link
Copy Markdown

ENG-4232

@lean-apple lean-apple left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/// @notice Wires the v1 call-scoped accounting checks.
function triggers() external view override {
_registerVaultFlowTriggers();
// Quarantined until v1 identity is pinned and self-recipient/fee-on-transfer claims plus

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] Describe this wrapper as inert

The contract NatSpec still says the call-scoped v1 accounting checks are armed, but triggers() now registers nothing. Similar stale “Registers”, “Wires”, and “Protects” wording remains on the other quarantined contracts. Source and generated documentation could therefore lead an integrator to deploy an inert security wrapper. Please update the contract-level and triggers() NatSpec across all quarantined wrappers to explicitly state that they are unavailable and register no triggers.

registerFnCallTrigger(
this.assertLiquidationReducesBorrowerDebt.selector, IAaveV4Spoke.liquidationCall.selector
);
// Quarantined: reserve enumeration has no protocol-level maximum and therefore cannot be

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[P2] Cover every quarantined wrapper

The new no-registration tests cover Hub, Balancer, Lighter, and SymbioticVaultProtection, but not this Spoke wrapper, Spark, the Euler bundle/share-price wrapper, or the top-level Symbiotic wrapper. Preventing trigger registration is the safety behavior introduced by this PR, so please add the same trigger-recorder regression for every published wrapper being quarantined.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants