⚠ NEXT is pre-alpha software. Do not use it with funds you cannot afford to lose. The wallet has not been audited by a third party. See
docs/security-model.mdfor the honest threat model — what we defend against and where the known cracks are.
Do not file a public GitHub issue for security bugs.
If you discover a vulnerability that could compromise users' funds, mnemonics, passwords, or keystore files, please report it privately:
- Email:
edwin.tuan@outlook.comwith subject[next-wallet security] <short summary>
We aim to acknowledge within 72 hours and ship a fix or workaround within 14 days for confirmed critical issues. Coordinated disclosure appreciated.
- Anything that lets an attacker recover a mnemonic, seed, or password from disk, memory, or network traffic
- Anything that lets an attacker sign a transaction the user did not authorize (incl. transaction substitution, address tampering, replay, signature malleability)
- Keystore decryption that succeeds with wrong password / tampered file
- Bypass of the send-tier confirmation gates without user consent
- Memory disclosure paths that leak SecretBytes / MlockedBytes
- Vulnerabilities in cryptographic primitive usage (KDF, AEAD, ECDSA, Keccak) — incorrect parameters, missing AAD, wrong hash function, unnormalized signatures
- Vulnerabilities in upstream Rust crates — please report to the crate maintainer first; if it impacts NEXT, we'll track separately
- macOS swap leakage when running without FileVault — documented limit; use full-disk encryption
- Phishing / shoulder-surfing — outside the wallet's threat surface
- A malicious TronGrid RPC node lying about balance / history (cannot steal funds, only mislead display) — documented limit
- Anything that requires the attacker to already have your password or unencrypted mnemonic — these are inputs to the trust model
- In scope: any code under
src/andtests/, build configs (Cargo.toml), runtime config schema, keystore format on disk, RPC interaction with TronGrid mainnet + Nile - Out of scope: third-party theme files in
~/.config/next/themes/, user's terminal emulator, OS-level swap behavior, network MITM where TLS is properly verified
- Test on Nile first. Faucet TRX is free; mistakes are free.
- Use a real-money wallet that is not a test wallet. Separate
mnemonics for separate purposes (see
docs/security-model.md). - Write the mnemonic on paper. Keystore file is convenience, not backup.
- Run with full-disk encryption. FileVault on macOS, LUKS on Linux.
- Don't paste your mnemonic into
nxt import -pflag — shell history is plaintext. Use the interactive prompt. - Don't run
nxton a screen-sharing call. - Pin a TRON_API_KEY rather than relying on TronGrid's anonymous tier. Reduces rate-limiting that can mask 0 balance vs fetch failure.
- v0.5: zeroize hardening pass, mlock for mnemonic + seed
- v0.10.2 ("Safety Supreme"): tiered send confirmation, 3-word mnemonic challenge at init, 30s minimum read countdown, scrollback clear on auto-lock
docs/security-audit-v0.4.md: in-repo audit notes from the v0.4 pass
Audits welcome — open a PR against docs/security-audit-v0.X.md with
findings.