Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add registry attestations to implementation upgrade and module installs #81

Open
cpb8010 opened this issue Oct 7, 2024 · 1 comment
Labels
enhancement New feature or request project: contracts

Comments

@cpb8010
Copy link
Contributor

cpb8010 commented Oct 7, 2024

As we move forward with vetting modules and providing a store, we should look at adding security to the account upgrade and install process. Compared to clave, our account upgrade process is less secure because we allow anyone to upgrade to any contract individually. We'd want to have a way to check that before you install code, you can see who trusts that code.

This concept of an attestation registry is available via rhinestone's https://erc7579.com/extensions/erc7484 contract. The idea for this is to have a central list of signers for modules, so you can tell who has vetted which contracts. This works equally well for modules as it does for account implementations.

Having the account respect this registry will complicate the install/upgrade process somewhat so we should be sure to have everything we want setup before then!

@cpb8010 cpb8010 added the enhancement New feature or request label Oct 7, 2024
@cpb8010
Copy link
Contributor Author

cpb8010 commented Oct 7, 2024

Talking to abstract, they agree on the module registry but disagree on making the account implementation equally user-configurable. My assertion is that module drainers and account drainers are equally malicious, but with account upgrades you could effectively brick the account preventing it from signing any transactions. My objection was who would own this 'blessed' upgrade list, as it could be configured per chain.

This only gets more complicated with DefaultAccount, where it would be upgraded via protocol changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request project: contracts
Projects
None yet
Development

No branches or pull requests

2 participants