What problem does it solve? Internet Computer canisters face unique security risks from the async messaging model: TOCTOU vulnerabilities between await calls, reentrancy attacks, anonymous principal abuse, cycle drain, and permanent upgrade failures. This Skill provides copy-paste correct patterns that prevent these exploits when writing or modifying canisters. ## Core Features & Use Cases - Access Control Patterns: Guard functions and CDK guard attributes that reject anonymous principals and enforce owner/admin roles in both Motoko and Rust. - Reentrancy Prevention: CallerGuard pattern using per-caller locking with Drop/finally cleanup that survives callback traps. - Async Safety & Upgrade Protection: Saga pattern guidance, bounded wait calls, stable memory strategies, and pre_upgrade trap avoidance. - Use Case: When building a Rust canister that handles token transfers via inter-canister calls, apply the CallerGuard pattern to block concurrent requests from the same principal and use bounded_wait calls so a malicious callee cannot block upgrades. ## Quick Start Review my canister code for security vulnerabilities and add access control guards plus reentrancy protection to the update methods.