Only the single configured owner should be able to store a secret and later retrieve it. No one else should be able to store or read any secret.
set_secret allows any signer to publish a Vault under their own address, but get_secret only reads from the hardcoded @owner. Non-owner callers can create vaults that they can never read, resulting in unexpected state and broken UX/spec.
Likelihood:
Happens whenever any non-owner calls set_secret (common user behavior).
Happens in production because nothing prevents non-owner calls.
Non-owners create unreadable vaults fundamental loss of functionality.
Violates contract purpose, non-owners can use the app (even if unreadable afterward).
Consider making this changes
In Move for Aptos, the term "owner" refers to a signer, which is a verified account that owns a given resource, has permission to add resources and the ability to grant access or modify digital assets. Following this logic in this contest, the owner is the account that owns `Vault`. This means that anyone has right to call `set_secret` and then to own the `Vault` and to retrieve the secret from the `Vault` in `get_secret` function. Therefore, this group is invalid, because the expected behavior is anyone to call the `set_secret` function.
The contest is live. Earn rewards by submitting a finding.
This is your time to appeal against judgements on your submissions.
Appeals are being carefully reviewed by our judges.