From 8ced84bbdad1a00ab2e593c93864c14374c247b0 Mon Sep 17 00:00:00 2001 From: Gamaliel Padillo Date: Tue, 11 Mar 2025 11:21:50 -0700 Subject: [PATCH] feat: add secure clear from code rabbit --- .../ui/onboard/create-wallet/wallet-ready.vue | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/extension/src/ui/onboard/create-wallet/wallet-ready.vue b/packages/extension/src/ui/onboard/create-wallet/wallet-ready.vue index c9b46b710..a232bae2d 100644 --- a/packages/extension/src/ui/onboard/create-wallet/wallet-ready.vue +++ b/packages/extension/src/ui/onboard/create-wallet/wallet-ready.vue @@ -44,11 +44,21 @@ import { onMounted } from 'vue'; const onboardStore = useOnboardStore(); const restoreStore = useRestoreStore(); +// Overwrite the string with random data before setting empty +const secureClear = (value: string) => { + const array = new Uint8Array(value.length); + crypto.getRandomValues(array); + const random = String.fromCharCode(...array); + value = random; + value = ''; + return value; +}; + onMounted(() => { - onboardStore.setPassword(''); - onboardStore.setMnemonic(''); - restoreStore.setMnemonic(''); - restoreStore.setPassword(''); + onboardStore.setPassword(secureClear(onboardStore.password)); + onboardStore.setMnemonic(secureClear(onboardStore.mnemonic)); + restoreStore.setMnemonic(secureClear(onboardStore.mnemonic)); + restoreStore.setPassword(secureClear(onboardStore.password)); }); const finishAction = () => {