Auditing Smart Contract Access Control

Audit a smart contract for a privileged action any caller can reach, so an attacker invokes a function that should be restricted. Covers a state-changing or fund-moving function missing an authorization modifier, an ownership or role check that is wrong or bypassable, an unprotected initializer that lets an attacker seize ownership of a proxy or an uninitialized contract, a delegatecall to an attacker-supplied or upgradeable target that runs foreign code in this contract's context, a self-destruct or upgrade reachable without the right role, and a role granted to an address that should not hold it. Use when the fix would add or repair an authorization check, not reorder effects before interactions (that is the reentrancy skill). The attacker calling a privileged function is the source, the restricted action executing for them is the sink, and a missing or defeated authorization check is the bug.

UnboundCompute dd7d6a7 9.0 KB Updated

File contents

UnboundCompute/security-agent-skills/tree/main/skills/auditing-smart-contract-access-control commit dd7d6a7e97

Frequently asked questions

npx skillmds@latest add unboundcompute/auditing-smart-contract-access-control