upgradeability
Security guide for upgradeable smart contracts (Transparent, UUPS, Diamond, Beacon), storage layout collisions, uninitialized constructors, and gap management.
Skill by itsdarktoday
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/itsdarktoday-upgradeability
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: security
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/upgradeability
What's inside
- Skill name
upgradeability- Description
- Security guide for upgradeable smart contracts (Transparent, UUPS, Diamond, Beacon), storage layout collisions, uninitialized constructors, and gap management.
- License
- MIT
- Instructions
- 48 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Smart Contract Upgradeability Security Guide
## Proxy Architectures
- **UUPS (Universal Upgradeable Proxy Standard - ERC-1822 / ERC-1967)**: Upgrade logic lives inside the implementation contract.
- **Transparent Upgradeable Proxy**: Upgrade logic lives in the ProxyAdmin contract.
- **Diamond Pattern (ERC-2535)**: Multi-facet proxy with modular function routing.
- **Beacon Proxy**: Multiple proxies point to a single Beacon contract holding the implementation address.
---
## Critical Vulnerability Patterns
### 1. Uninitialized Implementation Contract
- **Root Cause**: The implementation contract's constructor does not lock initialization (`_disableInitializers()`).
- **Attack Vector**: Attacker calls `initialize()` directly on the implementation contract, becomes owner, and calls `selfdestruct` or malicious upgrades (Parity-style bug).
- **Remediation**:
```solidity
/// @custom:oz-upgrades-unsafe-allow constructor
constructor() {
_disableInitializers();
}
```
### 2. Storage Layout Collisions & Variable Shifts
- **Root Cause**: In upgradeable contracts, state variables must never be reordered, inserted before existing variables, or changed in type.
- **Attack Vector**: Adding a new variable before existing ones shifts the storage slots of all subsequent state variables, causing memory corruption and fund theft.
- **Remediation**:
- Always append new state variables at the end of the contract inheritance tree.
- Use ERC-7201 Namespaced Storage Layouts in Solidity 0.8.20+.
### 3. Missing Storage Gaps (`uint256[50] private __gap`)
- **Root Cause**: Base upgradeable contracts without `__gap` reserve no storage slots for future inherited variables.
- **Impact**: Extending parent contracts in future upgrades overwrites child contract storage variables.
- **Remediation**: Add `uint256[50] private __gap;` at the bottom of all abstract/base contracts.
### 4. Missing Access Control on `_authorizeUpgrade` (UUPS)
- **Root Cause**: In UUPS proxies, `_authorizeUpgrade(address newImplementation)` overrides the upgrade permission.
- **Attack Vector**: If `onlyOwner` modifier is omitted, any user can upgrade the proxy to a malicious implementation.
- **Remediation**:
```solidity
function _authorizeUpgrade(address newImplementation) internal override onlyOwner {}
```
### 5. Function Selector Clashing
- **Root Cause**: Proxy contract and Implementation contract share a function with identical 4-byte selector.
- **Remediation**: Transparent proxy pattern separates admin calls from user calls via `if (msg.sender == admin)`.From itsdarktoday/auditcode, MIT.
More from itsdarktoday/auditcode
- 0.599score
ultimate-web3-security
itsdarktoday
Autonomous multi-chain Web3 protocol security audit skill (EVM/Solidity, Solana/Rust, Sui/Aptos Move, ZK/Circom).
SkillBFreshness: B★ 12Claude Code +9 - 0.591score
signatures
itsdarktoday
Vulnerability analysis guide for cryptographic signatures, EIP-712, ECDSA malleability, replay attacks, and permit vulnerabilities in smart contracts.
SkillBFreshness: B★ 12Claude Code +9 - 0.584score
erc4626_vaults
itsdarktoday
Guide to ERC-4626 Tokenized Vault Vulnerabilities and Inflation Attacks
SkillBFreshness: B★ 12Claude Code +9 - 0.584score
01_scope_recon
itsdarktoday
Smart Contract Scope & Architecture Discovery Phase Checklist
SkillBFreshness: B★ 12Claude Code +9 - 0.584score
math_precision
itsdarktoday
Guide to Precision Loss, Division before Multiplication, and Rounding
SkillBFreshness: B★ 12Claude Code +9 - 0.583score
reentrancy
itsdarktoday
Comprehensive guide to Reentrancy attacks in smart contracts
SkillBFreshness: B★ 12Claude Code +9 - 0.579score
03_threat_modeling
itsdarktoday
Threat Modeling, Access Control & Invariants Phase Checklist
SkillBFreshness: B★ 12Claude Code +9 - 0.579score
defi_lending
itsdarktoday
Comprehensive playbook for auditing DeFi Lending & Borrowing Protocols
SkillBFreshness: B★ 12Claude Code +9 - 0.579score
amm_dex
itsdarktoday
Comprehensive playbook for auditing Automated Market Makers (AMMs) & DEXes
SkillBFreshness: B★ 12Claude Code +9 - 0.579score
access_control
itsdarktoday
Guide to Access Control, Initializers, and Governance Exploits
SkillBFreshness: B★ 12Claude Code +9 - 0.579score
bridge_crosschain
itsdarktoday
Comprehensive playbook for auditing Cross-Chain Bridges & Messaging Protocols
SkillBFreshness: B★ 12Claude Code +9 - 0.579score
erc4626_vault_audit
itsdarktoday
Comprehensive playbook for auditing Yield Vaults & ERC-4626 implementations
SkillBFreshness: B★ 12Claude Code +9
Signals
- Stars
- 12
- Forks
- 6
- Open issues
- 0
- Last commit (this folder)
- Aug 27, 2026 (2 months ago)
- Last release
- Sep 15, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/itsdarktoday/auditcode
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from itsdarktoday
- 0.599score
ultimate-web3-security
itsdarktoday
Autonomous multi-chain Web3 protocol security audit skill (EVM/Solidity, Solana/Rust, Sui/Aptos Move, ZK/Circom).
SkillBFreshness: B★ 12Claude Code +9 - 0.591score
signatures
itsdarktoday
Vulnerability analysis guide for cryptographic signatures, EIP-712, ECDSA malleability, replay attacks, and permit vulnerabilities in smart contracts.
SkillBFreshness: B★ 12Claude Code +9 - 0.584score
erc4626_vaults
itsdarktoday
Guide to ERC-4626 Tokenized Vault Vulnerabilities and Inflation Attacks
SkillBFreshness: B★ 12Claude Code +9 - 0.584score
01_scope_recon
itsdarktoday
Smart Contract Scope & Architecture Discovery Phase Checklist
SkillBFreshness: B★ 12Claude Code +9 - 0.584score
math_precision
itsdarktoday
Guide to Precision Loss, Division before Multiplication, and Rounding
SkillBFreshness: B★ 12Claude Code +9 - 0.583score
reentrancy
itsdarktoday
Comprehensive guide to Reentrancy attacks in smart contracts
SkillBFreshness: B★ 12Claude Code +9
Cite this page
upgradeability skill. Agent Mart. https://agentmart.dev/skills/itsdarktoday-upgradeability (last updated 2026-10-24)