From: Chris Duncan Date: Mon, 4 Aug 2025 13:48:42 +0000 (-0700) Subject: Validate mnemonic input type and format. X-Git-Tag: v0.10.5~46^2~21 X-Git-Url: https://git.codecow.com/?a=commitdiff_plain;h=7bd14a28873e9d02715ec1bc76d5fd3ba053cbf0;p=libnemo.git Validate mnemonic input type and format. --- diff --git a/src/lib/bip39-mnemonic.ts b/src/lib/bip39-mnemonic.ts index 7265c02..1305a39 100644 --- a/src/lib/bip39-mnemonic.ts +++ b/src/lib/bip39-mnemonic.ts @@ -87,7 +87,14 @@ export class Bip39Mnemonic { * @param {string} mnemonic - Mnemonic phrase to validate * @returns {boolean} True if the mnemonic phrase is valid */ - static async validate (mnemonic: string): Promise { + static async validate (mnemonic: string): Promise + static async validate (mnemonic: unknown): Promise { + if (typeof mnemonic !== 'string') { + return false + } + if (!/^(?:[a-z]{3,8} ){11,23}[a-z]{3,8}$/i.test(mnemonic)) { + return false + } const words = mnemonic.normalize('NFKD').split(' ') if (words.length % 3 !== 0) { return false