← Files Vibe CodingARCHIVED FILE
skills/vibe-storage/references/object-storage-audit.md
2.82 KB · Oct 5, 2026 · 18:35 UTC
# Object Storage Audit ## Operation Inspect the named boundary and report supported findings. Do not edit product code. Include concrete evidence, impact, the owning source, one remediation direction and a meaningful validation route. Severity follows actual impact, not a category example. ## Goal and scope Audit object identity, authorization, multipart integrity, overwrite/versioning, lifecycle/retention, events, and recovery for the selected object-store provider. ## Domain invariants - Bucket/container, region/account, tenant prefix, object key, version/generation, metadata, and database ownership form one unambiguous identity contract. - Presigned/delegated operations constrain method, bucket/key, expiry, content type/size/checksum and authorization context as supported; application authorization precedes URL issuance. - Multipart/resumable uploads track upload identity and parts durably, validate provider-supported checksums, complete exactly the intended parts, and abort/expire orphan uploads. - ETag is not assumed to be a universal content MD5; integrity uses documented checksum semantics and verifies downloaded/assembled content where required. - Overwrite, conditional write, versioning, delete marker, retention/object lock, and concurrent writer semantics are explicit and compatible with database references. - Lifecycle transitions/expiry, replication, backup/restore, legal retention, and deletion ownership do not silently remove referenced or recoverable data. - Object event notifications are treated as duplicate, delayed, and potentially out-of-order unless the provider contract proves more; consumers reconcile against object/version state. - Encryption/KMS permissions, logs/metadata redaction, range/streaming, payload limits, timeouts, retries, and egress/cost are bounded. ## Audit method 1. Map authorization → key/version allocation → upload/download/delete → database state → event consumer → lifecycle/replication/recovery. 2. Inspect provider/version-specific consistency, conditional request, checksum, multipart, versioning, retention, and event guarantees. 3. Trace retries and crashes around initiate/upload-part/complete, database commit, overwrite/delete, event delivery, and cleanup. 4. Check tenant-prefix/key normalization, presigned scope, content validation, SSRF-like fetch paths, and KMS/bucket policy boundaries. 5. Evaluate large-object streaming, connection/memory bounds, orphan multipart inventory, lifecycle age, and storage/egress cost signals. ## Priority model - **P0:** object loss, unauthorized exposure, irreversible overwrite/delete, broken retention/legal hold, or unrecoverable multipart state. - **P1:** a material integrity, versioning, lifecycle, consistency, signing, replication, or recovery defect. - **P2:** a lower-risk but concrete cost, observability, or maintainability issue.
SHA-256: 108bb477647cccb6a53927c156bc99d322d6313604736a6140889dc21d8157d4