Add a trust policy for lazy-fetched note scripts
- Vorherrschende Sprache
- Rust
- Sterne
- 78
- Forks
- 129
- Ø Merge
- 4 T. 14 Std.
- Gemergte PRs (30 T.)
- 52
Beschreibung
Manage granularly which scripts are allowed to run in a transaction in order to avoid security issues, especially when a script is lazily fetched from the RPC and executed without the user explicitly trusting it.
The underlying concern (a malicious note creator pointing at a malicious script) always existed, but before lazy script fetching landed (#1456 / #1812), the client errored with "script not found" if the bytes weren't local, forcing the user to import the script manually. That friction is now gone: the client silently fetches whatever script the note references and runs it.
@igamigo explains the threat with an example here: https://github.com/0xMiden/miden-client/issues/1456#issuecomment-3807806726
Beitragsleitfaden
Rechercherichtung
Betrachten Sie die Implementierung des Lazy Script Fetching aus den PRs #1456 und #1812. Verstehen Sie, wie Skripte vom RPC abgerufen und ausgeführt werden. Die Vertrauensrichtlinie muss in diesen Ablauf integriert werden, wahrscheinlich im Transaktionsbehandlungscode der Client-Bibliothek. 'Erledigt' bedeutet, dass ein Benutzer konfigurieren kann, welche Skripte vor der Ausführung als vertrauenswürdig gelten.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- rust
- Bereich
- security
- Issue-Typ
- Feature
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100