Protocol Security Cluster
Proxy Upgrade Executor Security
This page explains why upgrade safety is not just a governance question but an execution-lane question. It focuses on separating proposal, approval, and execution authority, binding releases to reviewed manifests, and making rollback and containment concrete before a high-impact upgrade goes live.
Within this cluster
Why Does the Executor Lane Deserve Its Own Threat Model?
Teams often review upgrade logic and governance authority carefully, then assume the executor path is just operational plumbing. In reality, it is the last gate before irreversible state change and can turn a reviewed upgrade into an unsafe production event if package identity, target selection, or release conditions drift.
| Role | Main purpose | What should stay separated |
|---|---|---|
| Proposal | Build and document the package | Should not auto-execute |
| Approval | Confirm policy and artifact integrity | Should not modify the package |
| Execution | Trigger the reviewed release | Should not redefine target or payload |
This is why the page connects directly to admin-key compromise prevention and upgrade safety monitoring. When the upgrade path specifically changes how a bridge verifies cross-chain proof validity, the more exact bridge-side failure mode is bridge proof verifier upgrade risk, where executor discipline and trust-boundary drift intersect.
What Should a Strong Execution Gate Validate?
A useful gate validates more than code behavior. It confirms the executed package matches the approved manifest, the target set is unchanged, the timing lane is correct, and the rollback artifact exists before release.
- Match calldata or package hash to the approved artifact.
- Confirm target proxy and admin path are expected.
- Require timing and lane policy to match governance intent.
- Attach simulation evidence to the release package.
{
"packageHash": "sha256:...",
"targetProxy": "0xProxy",
"lane": "standard_upgrade",
"rollbackReady": true,
"decision": "release"
}How Should Teams Distinguish Routine Releases from Privileged Upgrade Execution?
Execution policy gets blurry when teams treat every release as operationally similar. A routine release path might be acceptable for low-impact, well-bounded changes, but privileged upgrade execution should trigger stronger constraints because it can reshape the protocol’s future control surface, not just its current behavior.
- Routine lane: bounded package, familiar targets, no authority expansion, and clear rollback path.
- Privileged lane: changes to implementation authority, admin routing, upgrade module behavior, or emergency control logic.
- Escalation rule: if the release can change who controls upgrades or how upgrades execute, it belongs in the stronger lane even if the package itself looks technically clean.
That distinction helps teams avoid the common mistake of reviewing an authority-changing upgrade as though it were just another deployment event.
Why Should Rollback Be Prepared Before Release?
Rollback planning is not just an incident-response extra. It is part of safe execution design. If a release cannot be reversed under controlled conditions, then the executor lane is carrying more irreversible power than most teams consciously acknowledge.
- Prepare the rollback artifact before release.
- Define the stop conditions that trigger rollback.
- Attach ownership and timing to the rollback lane.
- Verify rollback against the same manifest discipline as the original release.
Teams should also define which failures justify immediate rollback, which ones require containment first, and which ones only allow a paused observation window. Without those thresholds, rollback becomes a vague comfort phrase instead of a real execution control.
New in this cluster
Frequently Asked Questions
Why should execution authority be separated from approval authority?
Because approval confirms intent, while execution triggers irreversible state change. Keeping them separate reduces the chance that one compromised or rushed lane can do both.
What is the best first hardening step?
Bind execution to an approved package manifest and reject any release that does not match the reviewed artifact hash and target set exactly.