Skip to content

[Certora] Check Bundler safety#178

Merged
gd-colin merged 21 commits intomainfrom
colin@verif/bundler-safety
Jan 6, 2025
Merged

[Certora] Check Bundler safety#178
gd-colin merged 21 commits intomainfrom
colin@verif/bundler-safety

Conversation

@gd-colin
Copy link
Copy Markdown
Contributor

@gd-colin gd-colin commented Dec 13, 2024

This PR aims to check the bundler's main safety properties.
Due to the complicated control flow involved in executing bundles, it may be hard to convince oneself that the Bundler behaves safely.
So we check that the transient storage is always in expected states, we ensure that reentering is only possible in expected situations and that bad configurations will revert.

Apparently, Certora's tools do not provide support for the transient keyword just yet, for this reason verification is run on munged files that implement transient variables using assembly instructions for the time being.

Before accepting this PR make sure of the following:

  • README is up to date;
  • CI is updated;
  • verification succeeds.

@gd-colin gd-colin marked this pull request as draft December 13, 2024 15:24
@gd-colin gd-colin self-assigned this Dec 13, 2024
@gd-colin gd-colin added the verif Fromal verification with Certora label Dec 13, 2024
Copy link
Copy Markdown
Contributor Author

@gd-colin gd-colin left a comment

Choose a reason for hiding this comment

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

Doc improvements.

Comment thread certora/README.md
Comment thread certora/README.md Outdated
Comment thread certora/README.md Outdated
Comment thread certora/specs/Bundler.spec Outdated
Comment thread certora/specs/Bundler.spec Outdated
Comment thread certora/specs/Bundler.spec
Comment thread certora/specs/Bundler.spec Outdated
Comment thread certora/specs/Bundler.spec Outdated
Comment thread certora/specs/Bundler.spec Outdated
Signed-off-by: Colin | Morpho 🦋 <colin@morpho.xyz>
@gd-colin gd-colin marked this pull request as ready for review December 13, 2024 15:57
@gd-colin gd-colin mentioned this pull request Dec 13, 2024
5 tasks
Comment thread .github/actions/install/action.yml Outdated
Comment thread certora/Makefile Outdated
Comment thread certora/README.md Outdated
Comment thread certora/confs/Bundler.conf Outdated
Comment thread certora/specs/Bundler.spec Outdated
Comment thread certora/specs/Bundler.spec Outdated
Comment thread certora/specs/Bundler.spec Outdated
Comment thread certora/specs/Bundler.spec Outdated
Comment thread certora/specs/Bundler.spec
Comment thread certora/specs/Bundler.spec Outdated
@QGarchery QGarchery marked this pull request as draft December 13, 2024 18:02
@QGarchery
Copy link
Copy Markdown
Contributor

converting to draft to make sure we don't merge by accident

Comment thread certora/applyMunging.patch
gd-colin and others added 10 commits December 16, 2024 09:51
Co-authored-by: Quentin Garchery <garchery.quentin@gmail.com>
Signed-off-by: Colin | Morpho 🦋 <colin@morpho.xyz>
Co-authored-by: Quentin Garchery <garchery.quentin@gmail.com>
Signed-off-by: Colin | Morpho 🦋 <colin@morpho.xyz>
Co-authored-by: Quentin Garchery <garchery.quentin@gmail.com>
Signed-off-by: Colin | Morpho 🦋 <colin@morpho.xyz>
Comment thread certora/specs/Bundler.spec Outdated
Comment thread certora/specs/Bundler.spec Outdated
Comment thread certora/specs/Bundler.spec
Co-authored-by: Quentin Garchery <garchery.quentin@gmail.com>
Signed-off-by: Colin | Morpho 🦋 <colin@morpho.xyz>
QGarchery
QGarchery previously approved these changes Dec 30, 2024
Base automatically changed from dev to main January 3, 2025 15:51
@adhusson adhusson dismissed QGarchery’s stale review January 3, 2025 15:51

The base branch was changed.

@MathisGD MathisGD marked this pull request as ready for review January 6, 2025 13:44
@gd-colin gd-colin merged commit bd73de3 into main Jan 6, 2025
@gd-colin gd-colin deleted the colin@verif/bundler-safety branch January 6, 2025 13:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

verif Fromal verification with Certora

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants