- ✅ All dependencies are from trusted sources (npm registry)
- ✅ Regular dependency updates recommended
- Run
pnpm auditregularly to check for vulnerabilities
- ✅
storage- Required for vault and settings persistence - ✅
tabs- Required for network detection and dApp connectivity - ✅
scripting- Required for content script injection - ✅
activeTab- Minimal permission for tab access - ✅
host_permissions: <all_urls>- Required for dApp provider injection (standard for wallet extensions)
Permission Minimization: All permissions are necessary for core functionality. No excessive permissions granted.
- ✅ Manifest V3 enforces strict CSP by default
- ✅ No inline scripts (all code is bundled)
- ✅ No eval() or similar dangerous functions
- ✅ External resources only from trusted RPC endpoints
- ✅ Private keys encrypted with PBKDF2 (100,000 iterations) + AES-GCM
- ✅ Keys stored in
chrome.storage.local(encrypted at rest by Chrome) - ✅ Vault auto-locks after 15 minutes of inactivity
- ✅ Password required for all sensitive operations
- ✅ Private key reveal requires explicit password confirmation
- ✅ RPC endpoints are whitelisted (Solana and X1 official endpoints)
- ✅ No arbitrary RPC URL acceptance
- ✅ Network health monitoring with timeout protection
- ✅ All connection requests require user approval
- ✅ Transaction signing requires explicit approval
- ✅ Permissions are per-origin and can be revoked
- ✅ No automatic signing without user consent
- Phishing: User must approve all dApp connections and transactions
- Key Theft: Keys encrypted with strong password, auto-lock enabled
- Man-in-the-Middle: RPC endpoints are hardcoded, no arbitrary URLs
- Extension Hijacking: Minimal permissions, no external script loading
- Social Engineering: Clear warnings before sensitive operations
- User must protect their password (no password recovery mechanism)
- Physical access to unlocked device could compromise wallet
- Malicious dApps could trick users into signing harmful transactions (mitigated by approval flow)
- Regular dependency audits (
pnpm audit) - Monitor for security advisories in dependencies
- Consider adding rate limiting for failed password attempts
- Consider adding transaction simulation before signing
- Regular security reviews before major releases