πŸ“¦

Ctrl Wallet

πŸ” Security Report Available
πŸ‘₯ 300K+ users
πŸ“¦ v36.9.1
πŸ’Ύ 71.55MiB
πŸ“… 2026-02-13
View on Chrome Web Store

Chrome will indicate if you already have this installed.

Lets you manage your cryptocurrency assets across multiple networks and thousands of tokens in a secure, universal wallet. Suitable for crypto enthusiasts and investors who need to track their holdings across various blockchain platforms. Benefits most those looking for a centralized hub to monitor and organize their digital assets.

Overview

Ctrl is the only wallet you need to manage cryptocurrencies and NFTs across 2,500+ blockchains.

β–  Get Started Instantly
Set up your Ctrl Wallet in seconds with email or social loginsβ€”no need to use seed phrases or private keys.

β–  Effortless Wallet Import
Easily import all your existing wallets from multiple blockchains in seconds.

β–  Every Asset and NFT on Every Chain
Manage every crypto asset and NFT across 2,500+ blockchains. Ctrl Wallet ensures everything is at your fingertips.

β–  Simplified Gas Management
Say goodbye to gas fee headaches! Deposit USDC into your Gas Tank, and Ctrl Wallet will automatically handle gas payments across major chains. Focus on what mattersβ€”your portfolio.

β–  Security You Can Trust
Ctrl Wallet has been rigorously audited by FYEO and has operated without incident for over four years. Your seed phrases, private keys, passwords, and sensitive data remain 100% privateβ€”accessible only to you.

It's time to take Ctrl.

Connect with us:
Twitter: @ctrl_wallet
Discord: https://discord.gg/ctrlwallet
Website: https://ctrl.xyz/

Tags

Productivity/workflow productivity/workflow

Privacy Practices

βœ“ Not being sold to third parties, outside of the approved use cases
βœ“ Not being used or transferred for purposes that are unrelated to the item's core functionality
βœ“ Not being used or transferred to determine creditworthiness or for lending purposes
v36.9.1 Critical Scanned Feb 22, 2026

Security Analysis

Analyzed v36.9.1 Β· Feb 22, 2026 Β· 125 JS files Β· 257187 KB scanned

Permissions

storage scripting activeTab tabs commands https://*/* http://*/*

Code Patterns Detected

eval() used β€” can execute arbitrary code innerHTML assignment β€” potential XSS vector Long hex-encoded string β€” obfuscation indicator Makes HTTP requests Listens to keyboard events Reads clipboard content

External Connections

github.com www.apollographql.com www.rfc-editor.org www.w3.org rpc-proxy.xdefi.services eips.ethereum.org eprint.iacr.org en.wikipedia.org feross.org floating-ui.com developer.mozilla.org docs.swmansion.com +8 more

Package Contents 301 files Β· 257MB

β–ΎπŸ“_locales
β–ΎπŸ“en
{}messages.json243B
β–ΎπŸ“_metadata40KB
{}verified_contents.json40KB
β–ΎπŸ“static132.5MB
β–ΎπŸ“background132.5MB
πŸ“œindex.js132.5MBlarge
β–ΎπŸ“tabs1.4MB
πŸ“œdapp-window.5161a8ce.js18KB
🌐dapp-window.html961B
πŸ“œonboarding.721f23e9.js1.4MBlarge
🎨onboarding.7d106ff7.css284B
🌐onboarding.html860B
πŸ“œAda.7b31bcfe.js12KB
πŸ“œBtc.0c8355b0.js265KBlarge
πŸ“œBtc.8d8333b4.js42KB
πŸ“œBtc.cc9f46c8.js209KBlarge
πŸ–ΌCTRL_keyboard_01_v005_BG.75729688.png317KB
πŸ–ΌCTRL_keyboard_01_v005_BeginYourCryptoJourney.311f7b1b.png55KB
πŸ–ΌCTRL_keyboard_01_v005_BeginYourCryptoJourney_Pressed.507263f7.png37KB
πŸ–ΌCTRL_keyboard_01_v005_Bridge.5c866c30.png32KB
πŸ–ΌCTRL_keyboard_01_v005_Bridge_Pressed.503f9541.png17KB
πŸ–ΌCTRL_keyboard_01_v005_Buy.ad666c38.png27KB
πŸ–ΌCTRL_keyboard_01_v005_Buy_Pressed.54885489.png17KB
πŸ–ΌCTRL_keyboard_01_v005_CTRL.b115012a.png28KB
πŸ–ΌCTRL_keyboard_01_v005_CTRL_Pressed.af8bd27a.png9KB
πŸ–ΌCTRL_keyboard_01_v005_DarkMode_BG.f211dafe.png248KB
πŸ–ΌCTRL_keyboard_01_v005_DarkMode_BeginYourCryptoJourney.808b5e74.png35KB
πŸ–ΌCTRL_keyboard_01_v005_DarkMode_BeginYourCryptoJourney_Pressed.25e527bb.png25KB
πŸ–ΌCTRL_keyboard_01_v005_DarkMode_Bridge.c43fc47b.png20KB
πŸ–ΌCTRL_keyboard_01_v005_DarkMode_Bridge_Pressed.2fb94ef1.png12KB
πŸ–ΌCTRL_keyboard_01_v005_DarkMode_Buy.7457b612.png20KB
πŸ–ΌCTRL_keyboard_01_v005_DarkMode_Buy_Pressed.75e8fbcc.png17KB
πŸ–ΌCTRL_keyboard_01_v005_DarkMode_CTRL.0407ec20.png12KB
πŸ–ΌCTRL_keyboard_01_v005_DarkMode_CTRL_Pressed.7899c465.png7KB
πŸ–ΌCTRL_keyboard_01_v005_DarkMode_Mint.d6e38af7.png22KB
πŸ–ΌCTRL_keyboard_01_v005_DarkMode_Mint_Pressed.0d9e8e20.png12KB
πŸ–ΌCTRL_keyboard_01_v005_DarkMode_Recieve.c42bed9e.png11KB
πŸ–ΌCTRL_keyboard_01_v005_DarkMode_Recieve_Pressed.1572cfcc.png7KB
πŸ–ΌCTRL_keyboard_01_v005_DarkMode_Send.4a57b0bb.png15KB
πŸ–ΌCTRL_keyboard_01_v005_DarkMode_Send_Pressed.b4acea33.png5KB
πŸ–ΌCTRL_keyboard_01_v005_DarkMode_Swap.be6241e1.png24KB
πŸ–ΌCTRL_keyboard_01_v005_DarkMode_Swap_Pressed.ba55c07b.png11KB
πŸ–ΌCTRL_keyboard_01_v005_Mint.501472de.png39KB
πŸ–ΌCTRL_keyboard_01_v005_Mint_Pressed.03027eb9.png17KB
πŸ–ΌCTRL_keyboard_01_v005_Recieve.2cdc85cd.png17KB
πŸ–ΌCTRL_keyboard_01_v005_Recieve_Pressed.4ba96a65.png13KB
πŸ–ΌCTRL_keyboard_01_v005_Send.e4935f10.png19KB
πŸ–ΌCTRL_keyboard_01_v005_Send_Pressed.a1ce58ac.png8KB
πŸ–ΌCTRL_keyboard_01_v005_Swap.9fbea793.png42KB
πŸ–ΌCTRL_keyboard_01_v005_Swap_Pressed.a473b71e.png19KB
πŸ“œComingSoonDark.5b9320a8.js13KB
πŸ“œComingSoonLight.ed3a3ade.js13KB
πŸ“œController_v008.104e890b.js2.2MBlarge
πŸ“œCreateWallet_v008.247072f5.js7MBlarge
πŸ“œDotsFailed.0dcaaa7b.js27KB
πŸ“œDotsGreen.13ee8c9e.js29KB
πŸ“œDotsIntro.552c27c1.js9KB
πŸ“œDotsLoaded.b38a6947.js23KB
πŸ–ΌEmptySwapTokenStateForChain.11eb0530.svg9KB
πŸ“œEth.03fdbd62.js6.5MBlarge
πŸ“œEth.ee15838f.js6.9MBlarge
πŸ“œExplorePage.02dfdacf.js3KB
πŸ“œExportWalletPage.70698f1e.js55KBlarge
πŸ“œExportWalletPage.c12f3093.js22KB
πŸ“œExtension-Mobile-Transfer_Rive.22ca23bd.js29KB
πŸ“œGasTank_001.46ad9d27.js5MBlarge
πŸ“œGasTank_001_DarkMode.b4aa2cc3.js4.9MBlarge
πŸ“œGasTank_001_DarkMode_Iddle.1b19f90e.js6KB
πŸ“œGasTank_001_Iddle.c9c0c61d.js8KB
πŸ“œGlacier_Transition_001.1da6e7e2.js22KB
πŸ“œGlobalActivityScreen.08ec2f07.js845KBlarge
πŸ“œGlobalActivityScreen.db9cf2c1.js30KB
πŸ“œLoading_v003.c603154a.js5.6MBlarge
πŸ“œPink_002.acf0110f.js5KB
πŸ“œPopupScreen.6d98e8ec.js2KB
πŸ“œRealRoot.3787662d.js55KBlarge
πŸ“œRealRoot.997358ed.js129KBlarge
πŸ“œRealRoot.ce322a34.js703KBlarge
πŸ“œRealRoot.e9703a1d.js23KB
πŸ–ΌReassuranceCreateWalletOrAccountIcons.9c7ad4a6.svg2KB
πŸ–ΌReassuranceImportWalletOrAccountIcons.362c6a28.svg2KB
πŸ“œSendAcceptedIcon.d533e6dd.js4KB
πŸ“œSendAcceptedLines.84fc9fba.js6KB
πŸ“œSendFailledIcon.b48c6403.js5KB
πŸ“œSendFailledLines.7dad08df.js6KB
πŸ“œSendLoading.eb9ddd97.js4KB
πŸ“œSendSquaredAcceptedIcon.a2e3ce72.js4KB
πŸ“œSendSquaredFailedIcon.46e8c45c.js5KB
πŸ“œSendSquaredLinesAccepted.7760dcb0.js6KB
πŸ“œSendSquaredLinesFailed.251d8059.js6KB
πŸ“œSendSquaredLoading.447c9d4b.js4KB
πŸ“œSettingsPage.84e676cc.js12KB
πŸ”€TomatoGrotesk-Bold.5c490c28.otf161KB
πŸ”€TomatoGrotesk-ExtraBold.9ae82d80.otf160KB
πŸ”€TomatoGrotesk-Medium.db00c160.otf159KB
πŸ”€TomatoGrotesk-Regular.2daa8765.otf148KB
πŸ“œTransportWebHID.20e1f7f9.js20KB
πŸ“œTransportWebHID.26b73af1.js29KB
πŸ“œTransportWebHID.3c024800.js25KB
πŸ“œTransportWebHID.6ade7175.js15KB
πŸ“œTransportWebHID.bcca2a59.js30KB
πŸ“œTransportWebHID.c7aee5b8.js20KB
πŸ“œUnlock_Intro_001.c4a1b1ff.js2MBlarge
πŸ“œUnlock_White.211b41bf.js2MBlarge
πŸ“œYellow_002.d252d30f.js5KB
πŸ–Όajax-loader.94271eca.gif4KB
πŸ–ΌalertIcon.07b6ac5c.svg410B
πŸ–Όandroid.92912447.svg1KB
πŸ–Όapple.4c69fecc.svg505B
πŸ–ΌbaseInfoFilled.430103e3.svg267B
πŸ–ΌbaseSuccessFilled.287dcd1e.svg312B
πŸ“œbitcoin.controller.180acb15.js32KB
πŸ“œbitcoin.controller.8336647e.js619KBlarge
πŸ“œbitcoincash.controller.e83aee6e.js642KBlarge
πŸ–ΌbringPortfolio.f080d956.svg40KB
πŸ–Όcampaigns.81df0920.svg34KB
πŸ“œcardano.controller.aafcce13.js923KBlarge
πŸ–ΌcardanoCard.7ae72566.svg227KB
πŸ“œccip.313be0de.js150KBlarge
πŸ–ΌchainFile.c5c4d66c.svg45KB
πŸ“œconfig.3cc50316.js110KBlarge
πŸ“œconfig.5be1dbe8.js233KBlarge
πŸ“œconfig.665e5aed.js26KB
πŸ“œconfig.79e03c7f.js15KB
πŸ“œconfig.b223e1f5.js9KB
πŸ“œconfig.cc947884.js39KB
πŸ“œconfig.e8d8e094.js19KB
πŸ–ΌconfirmRecoveryIcon.6325ff57.svg2KB
πŸ–ΌconnectChain.195ce135.svg3KB
πŸ–ΌconnectLedger.e2ac37d0.svg4KB
πŸ–ΌconnectTrezor.85b6fd7d.svg2KB
πŸ“œcosmos.controller.9cc4068d.js6.2MBlarge
πŸ“œcosmos.controller.9eaa1302.js60KBlarge
πŸ–ΌctrlDark.6e3e83ca.svg918B
πŸ–ΌctrlUsdc.20e94102.svg6KB
πŸ–ΌctrlUsdcDark.b2d04193.svg6KB
πŸ–ΌdAppDiscounts.b1dd84f7.svg37KB
πŸ–ΌdAppsEmpty.0b78621e.svg2KB
πŸ–ΌdAppsEmptyDark.7b7df3bd.svg2KB
πŸ“œdapps-2.eb1a9420.js706KBlarge
πŸ“œdapps_DarkMode-2.9fac76af.js1.1MBlarge
πŸ“œdoge.controller.5f3268ed.js17KB
πŸ“œdoge.controller.785f3d50.js23KB
πŸ“œdoge.controller.e17c523a.js22KB
πŸ“œdoge.controller.effdb776.js578KBlarge
πŸ–Όempty-state-illustrations-dark.33f4152c.svg3KB
πŸ–Όempty-state-illustrations.68feea59.svg3KB
πŸ“œesm.65b116dd.js59KBlarge
πŸ“œesm.741e2600.js2.7MBlarge
πŸ“œesm.90b9292b.js177KBlarge
πŸ“œesm.bbf3ea77.js13KB
πŸ“œesm.ed631b16.js14KB
πŸ“œesm.f0655a17.js287KBlarge
πŸ“œesm.f8b1c92d.js2.4MBlarge
πŸ–Όeth.fb84eb42.svg913B
πŸ–ΌextensionStep1CoinBase.cf8d0051.png44KB
πŸ–ΌextensionStep1Keplr.189f85d2.png13KB
πŸ–ΌextensionStep1MetaMask.e3d03268.png40KB
πŸ–ΌextensionStep1Phantom.2ad65ba5.png14KB
πŸ–ΌextensionStep1TrustWallet.418a7b6b.png30KB
πŸ–ΌextensionStep2CoinBase.5e307c88.png13KB
πŸ–ΌextensionStep2Keplr.39914a3a.png67KB
πŸ–ΌextensionStep2MetaMask.66b20565.png26KB
πŸ–ΌextensionStep2Phantom.3a8a3d6a.png10KB
πŸ–ΌextensionStep3Phantom.260240b3.png20KB
πŸ–ΌextensionStep4Phantom.a3b42d9d.png17KB
πŸ–ΌextentionStep2TrustWallet.acc54e0b.png22KB
πŸ–ΌgerryPeeking.a8c57c2e.svg81KB
πŸ–ΌhardwareDevices.be2811c0.svg3KB
πŸ–Όicon-connected_48.46343929.png3KB
πŸ–Όicon-connected_48.75472e24.png3KB
πŸ–Όicon-pending_48.31bef995.png3KB
πŸ–Όicon-pending_48.f5364fcf.png3KB
πŸ–Όicon128.plasmo.3c1ed2d2.png7KB
πŸ–Όicon16.plasmo.6c567d50.png665B
πŸ–Όicon32.plasmo.76b92899.png2KB
πŸ–Όicon48.plasmo.aced7582.png2KB
πŸ–Όicon64.plasmo.8bb5e6e0.png3KB
πŸ–ΌiconPhantomAlternative.773617ef.svg734B
πŸ–Όicon_48.17ed145e.png2KB
πŸ–Όicon_48.ec977955.png2KB
πŸ–ΌimportFailedBanner.302aa112.svg2KB
πŸ–ΌimportSuccessBanner.c3a14190.svg2KB
πŸ“œindex.browser.esm.76593d10.js257KBlarge
πŸ“œindex.browser.esm.95142ada.js269KBlarge
πŸ“œindex.umd.70d2b74e.js309KBlarge
πŸ–ΌinfoIcon.040c227d.svg423B
πŸ“œinpage.68f9dbfe.js15.3MBlarge
πŸ“œisolated.83568cd4.js7KB
πŸ“œledger.49d9094c.js272KBlarge
πŸ“œledger.53d3718e.js8.3MBlarge
πŸ“œledger.62cb878d.js123KBlarge
πŸ“œledger.7d3c7ae8.js12KB
πŸ“œledger.85b3a2de.js12KB
πŸ“œledger.b5c885ce.js341KBlarge
πŸ“œledger.b76f8a23.js76KBlarge
πŸ“œledger.ff8e4f3a.js455KBlarge
πŸ“œledger.getAppAndVersion.92148065.js4KB
πŸ“œledger.hardware.11a74600.js72KBlarge
πŸ“œledger.hardware.1c72ff5f.js45KB
πŸ“œledger.hardware.2964fcc8.js3.8MBlarge
πŸ“œledger.hardware.399d72e3.js406KBlarge
πŸ“œledger.hardware.3b0182ae.js13KB
πŸ“œledger.hardware.4395f696.js368KBlarge
πŸ“œledger.hardware.5a19a5d9.js87KBlarge
πŸ“œledger.hardware.651d3b40.js140KBlarge
πŸ“œledger.hardware.d698b2c4.js39KB
πŸ“œledger.hardware.edd9175c.js182KBlarge
πŸ“œledger.hardware.fe2fe9b1.js44KB
πŸ–ΌledgerConnectType.f407dbbc.svg3KB
πŸ–ΌledgerConnected.53baa34b.png4KB
πŸ–ΌledgerWallet.1382a7ee.svg4KB
πŸ–ΌledgerWalletNoShadow.a94e9668.svg4KB
πŸ“œlitecoin.controller.0bcc4466.js558KBlarge
πŸ–ΌloadingMock.6ce60fa1.svg2KB
πŸ–ΌlogoAster.428f3e4e.svg5KB
πŸ–ΌlogoCoinBaseAlternative.40b66fc2.svg702B
πŸ–ΌlogoCtrl-white.6422b276.svg1KB
πŸ–ΌlogoCtrl.91312e9d.svg1KB
πŸ–ΌlogoCtrlBorder.270b8924.svg2KB
πŸ–ΌlogoCtrlWallet.83c77c30.svg1KB
πŸ–ΌlogoDApps.1bd22949.svg37KB
πŸ–ΌlogoEmail.ebc883db.svg392B
πŸ–ΌlogoGMX.2a7421c9.svg4KB
πŸ–ΌlogoGoogle.a205dcba.svg594B
πŸ–ΌlogoHyperliquid.bc3a1095.svg7KB
πŸ–ΌlogoLeodex.465726bb.svg15KB
πŸ–ΌlogoMetaMask.db6252f3.svg2KB
πŸ–ΌlogoMoonpay.75459f08.svg5KB
πŸ–ΌlogoNews.c51d7db1.svg840B
πŸ–ΌlogoRPay.426f7948.svg473B
πŸ–ΌlogoRango.416288bc.svg12KB
πŸ–ΌlogoRevolut.3d6ba9cc.svg2KB
πŸ–ΌlogoSushiswap.43ec2f7c.svg7KB
πŸ–ΌlogoThorSwap.97f447b9.svg9KB
πŸ–ΌlogoTypoCtrl.fbbab797.svg2KB
πŸ–ΌlogoTypoCtrlWhite.fcc25665.svg2KB
πŸ–ΌlogoX.87c89379.svg680B
πŸ–ΌlogosGroupSocialImport.dea3166f.svg2KB
{}manifest.json2KB
βš™midnight_zswap_wasm_bg.41c27aab.wasm2.3MB
πŸ–ΌmobileStep1CoinBase.76720fad.png35KB
πŸ–ΌmobileStep1Keplr.d6503aac.png84KB
πŸ–ΌmobileStep1MetaMask.abaf160d.png20KB
πŸ–ΌmobileStep1Phantom.8db06c1b.png48KB
πŸ–ΌmobileStep1TrustWallet.5f94be5a.png12KB
πŸ–ΌmobileStep1Zerion.eda9ed7f.png46KB
πŸ–ΌmobileStep2CoinBase.6557eab9.png22KB
πŸ–ΌmobileStep2Phantom.56264ee6.png19KB
πŸ–ΌmobileStep2TrustWallet.d6ec067d.png15KB
πŸ–ΌmobileStep3MetaMask.a092822d.png22KB
πŸ–ΌmobileStep3TrustWallet.420dac22.png25KB
πŸ–ΌmobileStep3Zerion.ee7ab1bf.png32KB
πŸ–ΌmobileStep4Keplr.326bdc60.png65KB
πŸ–ΌmobileStep4MetaMask.adc21aed.png28KB
πŸ“œmoonpay-web-sdk.min.js31KB
πŸ–ΌnftSearchPlaceholder.9bca6676.svg2KB
πŸ–ΌnoAccountImage.77733f8f.svg4KB
πŸ–ΌnoActivityImage.ed8c41c8.svg3KB
πŸ–ΌnoActivityImageDark.441e25ec.svg3KB
πŸ–ΌnoNFTsImage.22ed2fe5.svg3KB
πŸ–ΌnoNFTsImageDark.150cfb59.svg3KB
πŸ–ΌnoTokensAlternative.542082bc.svg6KB
πŸ–ΌnoTokensDark.1affd7a0.svg6KB
πŸ–ΌnoTokensImage.5d4ed8d7.svg1KB
🎨options.0905e39a.css5KB
πŸ“œoptions.5018d11f.js19.7MBlarge
🎨options.854b3a1b.css16KB
πŸ“œoptions.95eda3f3.js28KB
🌐options.html546B
πŸ–ΌphraseImportLine1.4cd41990.svg15KB
πŸ–ΌphraseImportLine1Highlighted.09106df7.svg15KB
πŸ–ΌphraseImportLine2.bdb9a847.svg17KB
πŸ–ΌphraseImportLine2Highlighted.c98d1aab.svg17KB
πŸ–ΌpinIcon.7665b260.svg874B
πŸ“œpopup.100f6462.js23KB
πŸ“œpopup.9ee980a8.js31KB
🌐popup.html498B
πŸ–ΌpromoAster.82f2a7b3.svg6KB
πŸ–ΌpromoGasTank.6a753446.svg23KB
πŸ–ΌpromoSwap.27d278a1.svg4KB
πŸ–ΌpuzzleIcon.8d75cf74.svg446B
πŸ“œroutes.6502e13c.js118KBlarge
πŸ“œroutes.9d61edcc.js1.2MBlarge
πŸ“„slick.a220dbc1.eot2KB
πŸ”€slick.afff28b1.ttf2KB
πŸ”€slick.d547aa1e.woff1KB
πŸ–Όslick.f98a84ff.svg2KB
πŸ“œsolana.controller.3ee1f8f3.js1.2MBlarge
πŸ–ΌsuccessFillledDarkGreenIcon.f5e66fc2.svg326B
πŸ“œthorchain.controller.08c436f5.js269KBlarge
πŸ“œtrezor.88419aef.js11KB
πŸ“œtrezor.hardware.2dfc62d7.js80KBlarge
πŸ“œtrezor.hardware.46bc7b8c.js5KB
πŸ“œtrezor.hardware.ba93a6c2.js28KB
πŸ“œtrezor.hardware.d2268237.js123KBlarge
πŸ“œtrezor.hardware.ee65e0fb.js27KB
πŸ–ΌtrezorConnectType.88b832f1.svg713B
πŸ“œtron.controller.0a44fbff.js898KBlarge
πŸ“œtron.controller.ecff5fbd.js208KBlarge
πŸ–ΌupdateAvailableBg.84696908.svg81KB
πŸ–ΌupdateAvailablePeepo.68e70af8.png13KB
πŸ–Όusdc.038212e6.svg2KB
πŸ–Όutility.1ac04043.svg3KB
πŸ–Όweb3authLogo.ce1bbefd.svg6KB

What This Extension Does

Ctrl Wallet is a browser extension that allows users to manage cryptocurrency assets and NFTs across multiple blockchains.

Permissions

  • storageexpected: This lets the extension save your wallet data, settings, and preferences locally in your browser. It's necessary for remembering your accounts and configurations.
  • scriptingexpected: This permission allows the extension to inject scripts into web pages. It's needed for interacting with blockchain interfaces and dApps on websites.
  • activeTabexpected: This lets the extension access and modify the currently active tab's content when you interact with it directly (like clicking a button). It helps integrate with web pages for wallet actions.
  • tabsexpected: This lets the extension view and manage your browser tabsβ€”useful for switching between wallets or tracking which sites you're visiting.
  • commandsexpected: This allows the extension to respond to keyboard shortcuts set by the user, such as opening the wallet panel quickly.
  • https://*/*expected: This gives the extension broad access to all HTTPS websites, allowing it to interact with any secure siteβ€”needed for connecting to blockchain networks and dApps. ⚠ 1
  • http://*/*expected: This gives the extension access to any HTTP websiteβ€”useful for older or non-secure web apps, but also increases risk if those sites are untrusted. ⚠ 1

Your Data

The extension can access your browsing data and send information to external servers for blockchain interaction and analytics. It may collect details about the websites you visit, especially those related to crypto or finance.

Code Findings

Use of eval() functionHigh

The extension uses a JavaScript function called 'eval' that can run code dynamically. While sometimes necessary, it's risky because malicious actors could inject harmful commands if they gain control over the input.

πŸ’‘ Commonly found in extensions that dynamically process configuration or API responses where dynamic evaluation is needed for flexibility.

innerHTML assignmentMedium

The extension assigns HTML content directly to page elements. If this content comes from an untrusted source, it could lead to cross-site scripting (XSS) vulnerabilities.

πŸ’‘ Used for rendering UI components dynamically, often seen in extensions that build rich interfaces using templating engines.

Long hex-encoded stringHigh

The extension contains a very long encoded stringβ€”this is often used to hide code or data within the source. It could be hiding malicious behavior.

πŸ’‘ Used in minified code to reduce file size but not typically for hiding malicious behavior unless combined with other indicators.

Keyboard event listenerHigh

The extension listens for keyboard events, which could allow it to capture keystrokes or intercept user inputβ€”especially dangerous if used in phishing attempts.

πŸ’‘ Used for implementing shortcuts or hotkeys within the extension itself; however, in this case it appears to be listening globally.

Clipboard read accessMedium

The extension can read what's on your clipboard. While useful for some functions like pasting wallet addresses, it could also be misused to steal copied data.

πŸ’‘ Common in extensions that need to paste wallet addresses or tokens into forms automatically.

Trustworthiness

  • Developer: Developer name is missing from the Chrome Web Store listing; no clear company or contact information provided.
  • Privacy Policy: No privacy policy link visible in the extension metadata or description on CWS.
  • Install Base: Installed by 300K+ users with recent updates suggesting ongoing maintenance.
Bottom Line

This extension appears consistent with its purpose, but the presence of eval(), global keyboard listeners, and long hex-encoded strings raises concerns about potential misuse or hidden functionality. Users should exercise caution when installing it.

Extension Overview

Ctrl Wallet is a browser extension that allows users to manage cryptocurrency assets and NFTs across multiple blockchains.

Permissions

  • storageexpected: Exposes Chrome's storage API allowing read/write access to persistent key-value pairs (sync or local). An attacker with control over this could potentially extract saved credentials, account info, or session tokens if the extension is compromised.
  • scriptingexpected: Grants access to Chrome's scripting APIs (e.g., executeScript, insertCSS) which can run arbitrary JavaScript in contexts like tabs or content scripts. If misused, could enable manipulation of page behavior or data exfiltration from visited sites.
  • activeTabexpected: Provides read/write access to the current tab’s DOM, URL, and allows script injection. Could be used by an attacker to capture keystrokes or manipulate page elements if misused during user interaction.
  • tabsexpected: Grants access to Chrome's tab management APIs (get, update, query). Allows enumeration of open tabs and potentially monitoring browsing activity. Risk is moderate if combined with other permissions like activeTab or scripting.
  • commandsexpected: Enables binding of custom commands (e.g., Ctrl+Shift+W) that trigger background actions. No direct data exposure but could be used in phishing or malicious automation if misconfigured.
  • https://*/*expected: Permits network requests to any origin over HTTPS. Allows interception of traffic from any domain including sensitive ones (e.g., banking or email). If compromised, could enable man-in-the-middle attacks or data theft across all sites visited. ⚠ 1
  • http://*/*expected: Permits network requests over insecure HTTP. This is a significant concern because it allows potential interception of sensitive data (e.g., passwords) and enables exploitation of insecure protocols like HTTP/1.0. If compromised, could allow attackers to capture credentials or manipulate communications on non-HTTPS sites. ⚠ 1

Data Exposure (Technical)

Contacts domains including github.com, www.apollographql.com, rpc-proxy.xdefi.services, eips.ethereum.org, en.wikipedia.org, feross.org, floating-ui.com, developer.mozilla.org, docs.swmansion.com. Data transmitted includes potentially sensitive information such as page content (if injected scripts are active), cookies, and possibly keystrokes or wallet state depending on how the extension interacts with dApps. Some endpoints use HTTP instead of HTTPS which introduces risks for data interception.

Code Findings

Use of eval() functionHigh

Detected usage of eval() in background or content scriptsβ€”this is typically used to execute strings as code at runtime. In this case, it may be triggered by remote data (e.g., fetched from rpc-proxy.xdefi.services). If attacker-controlled inputs are passed into eval(), they can result in arbitrary code execution.

πŸ’‘ Commonly found in extensions that dynamically process configuration or API responses where dynamic evaluation is needed for flexibility.

innerHTML assignmentMedium

Assignment of innerHTML in a context where the value may be derived from user input or external data sources. This is particularly concerning if used without sanitization and can allow attackers to inject malicious scripts into web pages when rendered by browsers.

πŸ’‘ Used for rendering UI components dynamically, often seen in extensions that build rich interfaces using templating engines.

Long hex-encoded stringHigh

Detected a long hexadecimal string (likely base64 or similar encoding) that may represent obfuscated JavaScript logic. This pattern is frequently associated with anti-analysis techniques and can mask functionality such as keyloggers, credential stealers, or other hidden behaviors.

πŸ’‘ Used in minified code to reduce file size but not typically for hiding malicious behavior unless combined with other indicators.

Keyboard event listenerHigh

Extension registers a global keydown/keyup handler that can monitor all keystrokes across the browser. If misused, this allows capturing passwords, private keys, or other sensitive inputs entered on any page, particularly during login flows.

πŸ’‘ Used for implementing shortcuts or hotkeys within the extension itself; however, in this case it appears to be listening globally.

Clipboard read accessMedium

Uses the Clipboard API (readText) which allows reading of clipboard contents from any tab or page context. If combined with other permissions like activeTab or scripting, this can enable unauthorized access to sensitive information such as private keys or passwords that users have copied.

πŸ’‘ Common in extensions that need to paste wallet addresses or tokens into forms automatically.

Code Analysis

  • Obfuscation: Heavy obfuscation detected through long hex-encoded strings and likely identifier mangling. Techniques such as control flow flattening, string encoding, and variable renaming are present, making static analysis difficult.
  • Content Security Policy: Content Security Policy is defined but allows 'wasm-unsafe-eval' which can be dangerous in a browser extension context due to potential WASM exploitation vectors. Script-src includes 'self', but lacks strict restrictions on external origins or inline scripts that could allow XSS if not properly enforced.
  • Architecture: Built as a Manifest V3 extension with background service worker and content script injection into all URLs. This architecture enables broad access across web pages, increasing attack surface. No manifest anomalies detected.

Transparency

  • Developer: Developer name is missing from the Chrome Web Store listing; no clear company or contact information provided.
  • Privacy Policy: No privacy policy link visible in the extension metadata or description on CWS.
  • Code Visibility: Source code appears heavily minified and obfuscated, making independent auditing difficult without reverse engineering efforts.
  • Install Base: Installed by 300K+ users with recent updates suggesting ongoing maintenance.
Researcher Assessment

The extension presents a high-risk attack surface due to use of eval() and global key event listeners which can lead to arbitrary code execution and keystroke capture. The obfuscation makes manual inspection challenging, though the presence of insecure HTTP access is particularly concerning for data interception risks. Researchers should prioritize verifying whether these features are truly necessary or if they represent hidden malicious behavior.

Do more in Google Chrome with Adobe Acrobat PDF tools. View, fill, comment, sign, and try convert and compress tools.
Productivity/workflow
Block ads on YouTube and your favorite sites for free
Productivity/workflow
πŸ“¦
Remove ads on YouTube and everywhere else you browse.
Productivity/workflow
θΏ…ι›·δΈ‹θ½½ζ”―ζŒ
Productivity/workflow