object-ownership

Audit Sui Move structs with key ability for object ownership and lifecycle risks.

276|56|Updated Mar 16, 2026
One-click install
npx skills add https://github.com/PlamenTSV/plamen --skill object-ownership
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: object-ownership
Source: https://github.com/PlamenTSV/plamen/tree/main/agents/skills/sui/object-ownership
Command: npx skills add https://github.com/PlamenTSV/plamen --skill object-ownership

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Auditing Sui Move code for object ownership and lifecycle patterns to prevent ownership misconfigurations, orphaned objects, and unsafe transfers.

Core Features & Use Cases

  • Object lifecycle analysis for all Move structs with key ability, including ownership states (OWNED/SHARED/FROZEN/WRAPPED/MIXED) and their implications.
  • Guidance on transfer and mutation safety for owned, shared, and wrapped objects, including detection of risky patterns like missing unwrap paths or unsupported transfers.
  • Finding templates and structured steps to document issues, with references to R4, R5, R9, R10, R13.

Quick Start

Run the object-ownership audit on your Sui Move codebase to identify ownership vulnerabilities and object lifecycle risks.

Frequently Asked Questions about object-ownership

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I audit Sui Move smart contracts for object ownership vulnerabilities?

Audit Sui Move smart contracts for object ownership by analyzing structs with the key ability and their UID lifecycle. This process identifies ownership transitions and wrap/unwrap relationships to surface vulnerabilities like stranded assets and unsafe transfers.

What causes orphaned objects in Sui Move and how can I detect them?

Orphaned objects in Sui Move occur when ownership transitions or wrap/unwrap relationships lack proper lifecycle management. Detect them by analyzing modules with object-ownership patterns to identify missing unwrap paths and unsupported transfers that strand assets.

How do I check transfer and mutation safety for shared and wrapped Sui Move objects?

Check transfer and mutation safety for shared and wrapped Sui Move objects by evaluating their ownership states, including OWNED, SHARED, FROZEN, and WRAPPED. This analysis detects risky patterns like unsupported transfers and missing unwrap paths.

When do I need to perform an object lifecycle audit on Sui Move code?

Perform an object lifecycle audit on Sui Move code when modules contain object-ownership patterns, ownership transitions, or wrap/unwrap relationships. This prevents ownership misconfigurations, orphaned objects, and unsafe transfers.

Does the object ownership audit support detection of missing unwrap paths in Sui Move?

Yes, the object ownership audit detects missing unwrap paths in Sui Move by analyzing structs with the key ability. It enforces references to rules R4, R5, R9, R10, and R13 to produce concise findings, risk impact, and remediation guidance.

What are the limitations of auditing Sui Move object ownership using static analysis?

Static analysis of Sui Move object ownership focuses on struct key abilities and UID lifecycles but may not capture dynamic runtime ownership states. It surfaces missing unwrap paths and unsupported transfers but requires manual verification of complex ownership transitions.