🏴☠️
Vault Challenge
Craquez le coffre. Gardez les fonds.
Temps écoulé
+100 $/semaine ajoutés au wallet.
Soutenir le Bounty
Adresse de don (ETH Mainnet)
0x7fAb2f1b2393f7Aba1663d3847af1d5e0e34892A
Chaque don augmente la récompense. Vos ETH vont directement dans le wallet du challenge.
Le défi
Ceci est un vrai vault VaultKeepR, créé avec la stack cryptographique de production — identique à celui de chaque utilisateur VaultKeepR. Il contient la clé privée d'un wallet Ethereum qui détient la récompense.
Déchiffrez-le → importez la clé privée → transférez les fonds. Le premier à déplacer les fonds gagne.
🔒 Protection Double Facteur
Comme chaque vault VaultKeepR, celui-ci est protégé par deux facteurs indépendants :
Facteur 1
Mot de passe maître
Inconnu. Doit être deviné ou bruteforcé.
Facteur 2
Signature Wallet
Nécessite la clé privée du wallet signataire. L'adresse est connue, pas la clé.
Les deux facteurs sont concaténés et passés dans Argon2id pour dériver la clé de chiffrement. Il vous faut les deux pour déchiffrer.
Comment ça marche
La signature wallet est produite en signant "VaultKeepR Bug Bounty Challenge — I authorize this vault encryption" avec la clé privée du wallet signataire (EIP-191 personal_sign). L'adresse du wallet est publiée, mais la clé privée — et donc la signature — doit être retrouvée par l'attaquant.
Paramètres cryptographiques
KDF
Argon2id (m=64 Mio, t=3, p=4)
Chiffrement
XChaCha20-Poly1305
Engagement
HMAC-SHA256
Entrée clé
mot_de_passe ∥ signature_wallet
Taille clé
256-bit (32 octets)
Nonce
192-bit (24 octets)
Salt
128-bit (16 octets, aléatoire)
Réseau
Ethereum Mainnet
Adresses des wallets
Wallet récompense (fonds à récupérer)
Wallet signataire (entrée KDF — adresse uniquement)
0x20d5A33177468ea0caC968b0BDaBdA9b0668a392
La clé privée de ce wallet est nécessaire pour produire la signature utilisée dans la dérivation de clé.
Attestation IPFS
Données du coffre chiffré
{
"ciphertext": "ad1519d5e7498d164ca5932100bbd9e32c5ec97be038c4a6088df16b78ab76fc56a0b37281c2ee2e697b2a7f3d11500271321ed4739e88535213abb29e0b0b4488cabb8417d9f7d2bd0c2541fcdc37dbc62479a4a05bc61f29ee42eeb7e5df8185383938f29d45f747c4c6e37ec5995037c135e74cd639bec92fd5b25e7ad83da35d60ba34885fc7023cb8468b381aeb53aaba65dd677e1aa68c4b8e0adf5dd730569e55c66d9d2e7bdb4593b2b7e4d0ecb1c7e886be02025fd09cee7da9bb9b5853b194652229672b6f065126d2bcea0558d3a6b6a422d7ff6fb8e3591d4cc551c52d90112c2c6a9cc2a4086f8fe2a88c3edb9c237afce819eb90812423a4f5d6b5f8d1cb153e2bc601057bf4d85352f9be1c1b1740481e05dc79f8c689e110372834766e0f15f0e7fec3c280990c2b0f6ab47cf35da9089433691374db39eebec04c5dfc9acab151706b0cbca3174b6fc07f46a462eb6155ec827682cc1468a270f781fba27cf4ac138ef1d10bdb8808672d3b212d8972fcff9788819d80e2d6c632f74b4527f1c56d8ddc5de5ae265aa67348dd170d91764a1958504512512b84e96c14a467bfdd50899639ac28d178c366b2ec740e12596a7537713e419d294a9a476838a3ae0d9d94f9a2360beae98ccdfeeca2030d3a65959c1ce13b5aff175474b1014a46c40682f80390d3a75873665f985ab0b0ce265fef9469cae2e1e341c8fa758780ba9ffdbf3c12d73d4adde3f2ca65de77e9a52762cfb22baf2ca178dc05e041240a978d5d6bfc3f2d820425797f310749985b7424353013b3dcae76231a278efe8d422e4ad893c3f74d3dc51a013a554df4e8602f0699029d2746850d106d214232fcdaf56aaa3913eff824967794bbce7c3a37abbfb77d1cbedd9a85721ca4d1965f4dc4b34f6c07f5c7a207a06c172926ba14a191219653b8bd0fb5d902929b5e5883262219",
"nonce": "b29a664ee0df6d3ee802491c334e015240c6feb7a4da6d76",
"salt": "c03248ec2ae84e11343b623143653798",
"commitment": "d19737f313b89e4f78c489a9c6f31420c7601877319ea58a56d87b70e420f6f9",
"version": 2,
"walletAddress": "0x20d5A33177468ea0caC968b0BDaBdA9b0668a392",
"challengeMessage": "VaultKeepR Bug Bounty Challenge — I authorize this vault encryption",
"kdf": {
"algorithm": "argon2id",
"m": 65536,
"t": 3,
"p": 4,
"dkLen": 32,
"saltLengthBytes": 16
},
"cipher": {
"algorithm": "xchacha20-poly1305",
"nonceLengthBytes": 24,
"keyLengthBytes": 32
},
"commitmentScheme": {
"algorithm": "hmac-sha256",
"domain": "vaultkeepr-v3-commitment"
}
}⚠️ Note : la signature wallet n'est pas incluse ci-dessus. C'est réaliste — un attaquant accédant à un vault sur IPFS voit exactement ces données. La signature doit être dérivée de la clé privée du wallet signataire.
Règles
- Surface d'attaque crypto uniquement — l'ingénierie sociale, le phishing et le piratage de serveurs sont hors périmètre.
- Le code source est public — consultez l'implémentation complète sur vaultkeepr-core.
- Le premier à déplacer les fonds gagne — la blockchain fait foi.
- Pas de limite de temps — le challenge reste actif tant que les fonds n'ont pas été réclamés.
- Partagez votre approche — même des résultats partiels aident à améliorer la sécurité.
- La récompense augmente chaque semaine — +100 $/semaine, plus les dons de la communauté.
- Conditions réalistes — ce vault est identique à celui d'un vrai utilisateur. Pas de raccourcis, pas d'indices.
Code source
📦VaultKeepR/vaultkeepr-core
163 tests • Licence MIT • Entièrement auditable
Soumettre vos résultats
Soumettez vos résultats
Vous avez trouvé quelque chose ? Même des avancées partielles sont précieuses. Votre identité reste confidentielle.
Partagez le challenge
Partagez le défi avec des hackers et passionnés de crypto.