Open bounty · white-box
$10,000 if you can open our vault without the password.
Here is a real CabinetPass vault, its full file format and the open-source code that decrypts it.
Read the specification, read the source, then open the file without its master password. Break the encryption, or find a flaw in how we
derive and use the keys, and the reward is yours.
- Reward
- $10,000
- Running for
- –
- Claims received
- –
- Paid out
- $0
The challenge
Decrypt challenge.cpv without the master password. It
is an encrypted backup exported by the real app, holding one secure note called Bounty secret. Send
us the text in that note, the key you recovered, and how you got it.
SHA-256 3f5b15a966a36f13477841f1eb6c2771c565dca09e1e39e9cb99399941cf7801
Nothing is hidden
This is a white-box bounty. The file format, the key derivation and the decryptor are open source, so you
start with everything we know except the password.
What protects it
- Master password → Argon2id (64 MiB, 3 passes, 4 lanes, random 16-byte salt) → key-encryption key
- A random 256-bit data key, wrapped with AES-256-GCM
- The vault, gzipped and sealed with AES-256-GCM, a fresh 96-bit nonce per blob and role-bound AAD
In scope
Any way to read the vault that doesn’t come down to guessing the password.
- Breaking or weakening AES-256-GCM or Argon2id as used in this file.
- Flaws in the key derivation: parameters, salt handling, encoding, anything that makes the key cheaper to
find than guessing the password.
- Misuse of AES-GCM: nonce reuse, missing or wrong AAD, key or nonce leakage, malleability you can turn
into plaintext.
- Bugs in the format or in our implementation (the app or the Vault Viewer) that reveal the data key, the
password or the plaintext from the file alone.
- Information the file leaks on its own that lets you recover the secret.
Out of scope
These don’t qualify, however clever.
- Brute force, dictionary or rule-based guessing of the master password, on any hardware. The password is
random; if you find it by guessing, that isn’t a flaw.
- Anything that needs the password, a device that unlocked the vault, malware, keyloggers or physical
access.
- Social engineering, phishing or pressure on us, our families or our providers.
- Attacks on cabinetpass.com, our accounts, Google Drive, the App Store or Google Play, and denial of
service of any kind.
- Issues that don’t lead to decrypting this file (report those to
support@cabinetpass.com; we still want them).
Rules
- First valid break wins. One reward of $10,000 (USD) for the first submission that decrypts the
challenge within scope. Submissions are ordered by the time we receive them.
- Prove it. Send the exact text of the Bounty secret note, the key you recovered (data key or
password), a write-up of the method and a proof of concept we can run. A secret without a reproducible method
doesn’t qualify.
- Keep it private. Don’t publish the secret, the key or the method until we’ve confirmed the result and
shipped a fix, or 90 days after your submission, whichever comes first. We’ll credit you publicly if you want.
- We answer quickly. We confirm receipt within 7 days and give a decision within 30 days. Payment follows
within 30 days of confirmation.
- Eligibility. You must be 18 or older and not a CabinetPass employee, contractor or their family. We
can’t pay anyone where payment is prohibited by law, including sanctioned countries and persons. Taxes are
the winner’s responsibility.
- Good faith. Research on this file is welcome and we won’t pursue legal action for work that follows
these rules. Anything outside them isn’t covered.
- Changes. We may end the bounty or change these rules with 30 days’ notice on this page. Valid
submissions received before the end are honoured under the rules in force when they arrived.