News for hackers. Stuff that matters.
Re:Button Stealer by purple-leafy on Tuesday July 23, 2024 @03:25AM (#41043505)
Issue with this “benign” extension is that it will be using

“host_permissions”: “<all_urls>”

In its manifest means it can basically do anything on any webpage you visit, scrape data etc.

As an extension developer, no thanks. “Fun” pointless extensions like this that have no real utility, but funnily enough require broad permissions, are dangerous

Re:Button Stealer by elaus on Tuesday July 23, 2024 @03:33AM (#41043561)
> [...] but funnily enough require broad permissions

I don't think there is a way to implement this without said permission. You can always check out the code from GitHub and install the extension locally to avoid any malicious changes in the future.

Re:Button Stealer by skybrian on Tuesday July 23, 2024 @04:10AM (#41043760)
And that’s why it shouldn’t be in the Chrome app store at all.

As a hobbyist developer, having that kind of access in other people’s browsers is not something I want, and I’m suspicious of developers who do seem to want it. At least limit it to people who know what Github is.

Re:Button Stealer by firtoz on Tuesday July 23, 2024 @06:28AM (#41044533)
> hey, I wrote a fun game that requires root access

So... Just like AAA game studios, eh?

Re:Button Stealer by MOARDONGZPLZ on Tuesday July 23, 2024 @07:13AM (#41044777)
No. They are large and presumably have some sort of trust, and can lose the trust of people if they do particularly shady things. This may not bear itself out in practice of course. But a game studio has something to lose, whereas hobbyist developer 73683 asking for root permissions for no real gain to you has nothing to lose from any number of things like scraping sites you visit or using your browser as a tor exit node or any number of things.
Re:Button Stealer by gryn on Tuesday July 23, 2024 @07:38AM (#41044908)
yeah, I'm sure Genshin impact's creators went out of business when their Kernel access anti-cheat was hacked by ransomware or more recently the hacks mid live broadcasted tournaments (don't remember which game, I think it was apex).

I mean that's what kids, teenagers, and young adults and non technical people in general are known for: their prudence and good technical decision making.

lets not talk about the other risk vector that Tencent, a chinese company is the one buying most of these game studios that have Kernel access (not exclusively).

Re:Button Stealer by MOARDONGZPLZ on Tuesday July 23, 2024 @07:46AM (#41044967)
I don’t know what that is.
Re:Button Stealer by dspillett on Tuesday July 23, 2024 @09:08AM (#41045600)
Which is the problem with games having kernel access for anti-cheat and <whatever-else-they-want-to-do-with-it>.

You don't know what they are doing in there. You don't really know who they are. Even if you do, corporate machinations might mean who has access to the facility to <what-ever-they-want-to-do> on your PC could change at any moment without your knowledge.

Most end-users are blissfully unaware of the potential consequences of these level of access (Games having kernel access, and browser extensions having all-sites/all-contexts access).

Re:Button Stealer by techjamie on Tuesday July 23, 2024 @10:33AM (#41046383)
Can you imagine if one of the big anti-cheats got hit with a supply chain attack? That would be devastating.
Re:Button Stealer by dspillett on Tuesday July 23, 2024 @09:13AM (#41045651)
It doesn't even need to be a hack, or a malicious new owner taking over a game or other software package that has such access.

The original company could be malicious/stupid/both. See https://en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootk... for the most famous example of “both”.

Re:Button Stealer by sandworm101 on Tuesday July 23, 2024 @09:41AM (#41045941)
>> No. They are large and presumably have some sort of trust, and can lose the trust of people if they do particularly shady things.

Sony? Microsoft? EA? Apple? Exactly which giant megacorporation is beyond shady things?

https://en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootk...

Re:Button Stealer by ocodo on Tuesday July 23, 2024 @11:08PM (#41053292)
Apparently people are a telepathically interconnected species, who won't fall for corporate scams in waves.

Sadly, both those things are untrue.

Re:Button Stealer by oneeyedpigeon on Tuesday July 23, 2024 @10:20AM (#41046260)
Right, but Google is surely the one at fault here. There should be absolutely no reason that this extension can "change all my data on all websites", whatever the hell that actually means.
Re:Button Stealer by tetromino_ on Tuesday July 23, 2024 @12:19PM (#41047757)
Not "change all my data on all websites" but "read the content of all websites I visit".

Because an extension that finds all button elements on all websites you visit, must necessarily start by reading the content of all websites you visit.

Re:Button Stealer by oneeyedpigeon on Tuesday July 23, 2024 @01:48PM (#41048834)
Yes, I think that one's acceptable in this case. It's the "change all my data" that is problematic.
Re:Button Stealer by Retr0id on Tuesday July 23, 2024 @12:11PM (#41047632)
I was under the vague impression that Manifest V3 was supposed to prevent this sort of thing. But looking at the extension, it is using MV3. Maybe it really was just about weakening ad blockers.
Re:Button Stealer by skybrian on Tuesday July 23, 2024 @01:31PM (#41048648)
I think both the developer and Google have some control over what appears in the Chrome store.
Re:Button Stealer by beeboobaa3 on Tuesday July 23, 2024 @11:39AM (#41047187)
What are you even talking about? Every piece of desktop software you have ever ran has more permissions than a browser extension.

Is your stance that hobbyist developers should not be allowed to develop desktop software or CLI tools? The entire software development ecosystem would collapse in an instant. Or are you just not familiar with Windows & Macs (lack of a) permission system?

Re:Button Stealer by skybrian on Tuesday July 23, 2024 @01:39PM (#41048732)
The lack of sandboxing in desktop applications is bad, but you aren’t going to be writing code to read every web page a user visits by accident, and that’s what some browser extensions do on purpose. They’re inherently working with more sensitive data. So that’s worse in certain ways. (And they are more sandboxed in other ways.)
Re:Button Stealer by beeboobaa3 on Tuesday July 23, 2024 @02:13PM (#41049076)
> but you aren’t going to be writing code to read every web page a user visits by accident

No, instead you're just reading all files on the filesystem, including the browser's cookie store or whatever. The data you are, or can be, handling is just as, if not more, sensitive since it's literally a superset of what the browser has access to.

> The lack of sandboxing in desktop applications is bad

Some sandboxing would be nice, but the Google/Apple approach of needing to beg the vendor for every little permission isn't the way to go, either. I'd rather have software that can actually do things as opposed to only having useless sandboxed "apps".

Re:Button Stealer by skybrian on Tuesday July 23, 2024 @02:44PM (#41049404)
My Mac sometimes prompts me to see if a Mac application should have access to certain directories, such as “Downloads,” so I’m not sure that’s entirely true anymore?

But in any case I think this is missing a distinction between what software developers can install in “developer mode” versus stuff that’s in the store for non-technical people to use. Apps in app stores see widespread use by people who barely know what a computer is, so I think there should be hoops you need to jump through to get distribution to the masses, at least for certain types of apps.

And those apps aren’t useless, they do important but security-sensitive things like banking, things us developers need to do too sometimes.

It’s a different world than hacking around on your Raspberry Pi or an old phone, and I think it should be different. Treating these situations the same muddies the issues.

Re:Button Stealer by vunderba on Tuesday July 23, 2024 @11:25PM (#41053359)
Unbelievably poor comparison... for several reasons:

1. Most antivirus solutions built into operating systems such as Microsoft defender are unlikely to find suspicious extensions that are exfiltrating your data

2. Extensions autoupdate (and don't require you to re-authenticate their permission set)

3. It is not uncommon for large spyware companies to buy up a bunch of the most popular chrome extensions, and proceed to inject them with malware.

4. Since an extension runs inside your browser, it's much easier to forget that they're essentially always running, whereas once I exit a desktop app it's presumably gone. There's a dangerous level of passivity to browser extensions for an average user who might forget they even have them installed on the browser.

Maybe number 2 has changed in the last 10 years, but it certainly didn't used to be the case.

Re:Button Stealer by beeboobaa3 on Wednesday July 24, 2024 @06:42PM (#41062980)
> Most antivirus solutions built into operating systems such as Microsoft defender are unlikely to find suspicious extensions that are exfiltrating your data

They can flag antivirus signatures just like everything else, and I've experienced this happening in the past. In the end, extensions are just some javascript/css files in a folder and they get scanned just like everything else.

> Extensions autoupdate

So can any piece of software if it wants to. It's trivial to make an updater start on boot.

> It is not uncommon for large spyware companies to buy up a bunch of the most popular chrome extensions, and proceed to inject them with malware

The same can, and has, happened for "regular" software.

> Since an extension runs inside your browser, it's much easier to forget that they're essentially always running, whereas once I exit a desktop app it's presumably gone

Desktop apps can trivially just not show a window if they want to. They can trivially add themselves to autostart. It depends entirely on what they're doing, just like an extension.

Re:Button Stealer by dougseismic on Friday July 26, 2024 @03:55AM (#41076680)
Gatekeeping hobbyist mentioned
Re:Button Stealer by jimvdv on Tuesday July 23, 2024 @05:14AM (#41044146)
If chrome permissions made sense a user could choose to activate the extension when they visit a site.

Also the extension could have no network access and have read-only access to the DOM to name a few improvements.

Re:Button Stealer by purple-leafy on Tuesday July 23, 2024 @05:29AM (#41044231)
There is a way:

1) Extension could use the “activeTab” permission (would require user to click the extension once when inside the current tab to activate the extension, then the extension will run for any url they visit

Re:Button Stealer by lofaszvanitt on Tuesday July 23, 2024 @07:31AM (#41044872)
And that is so annoying noone would do it.
Re:Button Stealer by m3kw9 on Tuesday July 23, 2024 @09:17AM (#41045683)
hard to know if github code is the code it is being installed unless you build it from github. 1/10000 people check+install like this
Re:Button Stealer by Refusing23 on Tuesday July 23, 2024 @03:31AM (#41043549)
just like 'Grammarly' which is basically just a keylogger
Re:Button Stealer by MrSS on Tuesday July 23, 2024 @04:37AM (#41043949)
Grammarly has to be able to connect back to their online service while the button addon could be implemented in a way that it can read every website but not send antyhing anywere (in theory, the addon could of course simulate a form and send data out through that or somehow).

But yeah i tested grammarly for 5 minutes and found it crazy.

there has to be a better way getting both worlds :|

Re:Button Stealer by bargainbin on Tuesday July 23, 2024 @05:00AM (#41044078)
Local software of course! But good luck getting funding for a product that doesn’t phone home every 5 seconds and present an opportunity to plague the user with ads “that they want to see”
Re:Button Stealer by vstollen on Tuesday July 23, 2024 @05:29AM (#41044232)
I haven’t used it myself, but the LanguageTool browser extension might allow users to use a self-hosted or locally running instance.
Re:Button Stealer by dspillett on Tuesday July 23, 2024 @09:20AM (#41045731)
In DayJob we've had to block (actually block, because people didn't listen to being asked not to use it and similar tools) Grammarly because it sending text that could potentially include client data off to their servers for checking would have given us a nasty fail should a client request or conduct an audit.

As an alternative there is LanguageTool which you can install locally. We have it running on a small VM that people can configure their installs to talk to, and block the public service end-point (as sending to that would be a big no-no for us for the same reason as Grammarly). It doesn't have all the features of Grammarly so isn't a complete drop-in replacement, but the self-hosted version works as well as the free features of Grammarly.

Re:Button Stealer by Suppafly on Tuesday July 23, 2024 @11:50AM (#41047333)
>As an alternative there is LanguageTool which you can install locally. We have it running on a small VM that people can configure their installs to talk to, and block the public service end-point

I'm surprised that Grammarly hasn't come up with a local service like that, I bet they have a ton of enterprise users that would appreciate it.

Re:Button Stealer by d--b on Tuesday July 23, 2024 @05:16AM (#41044162)
Yes they sell for quite a bit, and the buyer may not have the same idea of “fun” than the original guy.
Re:Button Stealer by vstollen on Tuesday July 23, 2024 @05:35AM (#41044268)
Are (updates to) extensions from the Chrome and Firefox store usually vetted before publication?

I‘ve heard that Firefox will only run signed extensions. Would you trust this process?

Re:Button Stealer by zinekeller on Tuesday July 23, 2024 @07:01AM (#41044703)
> Are (updates to) extensions from the Chrome and Firefox store usually vetted before publication?

Mozilla does not manually review most extensions (only extensions which Mozilla recommended are manually reviewed: https://support.mozilla.org/en-US/kb/add-on-badges).

Chrome's policy is extensions are "reviewed periodically for compliance", but is unclear on how frequent is this periodic review (https://developer.chrome.com/docs/webstore/review-process).

Re:Button Stealer by 6510 on Tuesday July 23, 2024 @05:37AM (#41044279)
The permissions need to be more specific some how.

I think the correct approach is to have the option to have a function isolated from the rest of the code. Then pay a trusted party to review the functionality of the function.

In this case said function may only 1) access the html on the website, 2) find the button and 3) return only that what makes the button.

Then the permission prompt, written by the trusted party, can be something accurate like: This extension wants to copy buttons from websites.

I'm calling it DEWISOTT computing: does exactly what it says on the tin

You can go wild update your extension 1000 times per day without touching the function.

Re:Button Stealer by dotancohen on Tuesday July 23, 2024 @10:37AM (#41046418)

  > written by the trusted party
This is the weak, and expensive, link.
Re:Button Stealer by 6510 on Tuesday July 23, 2024 @12:43PM (#41048102)
The programming notary should be expensive per line.

If a function gets certified and a decent description it can be published for other developers to further scrutinize and use the same.

With user.script or greasemonkey scripts it is kinda expected to read the script before use. Short scripts are easier to check.

Funny example

https://userscripts-mirror.org/scripts/show/179526

If the potentially dubious part can be isolated the notary, the publisher, the other developer and the user can easily review it. It seems much better than the current installing black boxes?

Re:Button Stealer by resonious on Tuesday July 23, 2024 @05:54AM (#41044348)
It seems crazy that extensions don't have a permission for making network requests. Getting permission to access the DOM on all pages I visit is fine if there's no way to exfiltrate!
Re:Button Stealer by emadda on Tuesday July 23, 2024 @08:07AM (#41045119)
Or also a permission to disable automatic updates to reduce the issue of “popular extension sold to malware corp”.
Re:Button Stealer by robryk on Tuesday July 23, 2024 @06:13AM (#41044440)
You can always exfiltrate by inserting stuff into the page's DOM that will do the exfil from the page's context.
Re:Button Stealer by aembleton on Tuesday July 23, 2024 @06:55AM (#41044673)
Should have a seperate permission to modify the DOM. This extension only needs to read the DOM.
Re:Button Stealer by teruakohatu on Tuesday July 23, 2024 @11:35AM (#41047121)
Yes, a network access and DOM write permission should be one and the same. I think the reason it isn't done is because there are so many ways to leak data over a network. If the extension can trigger a DNS lookup somehow, it can exfiltrate data.

Android used to have a network permission but Google removed it.

Re:Button Stealer by beeboobaa3 on Tuesday July 23, 2024 @02:18PM (#41049126)
> Android used to have a network permission but Google removed it.

That's because google is in the ads business and wants apps to always be able to exfiltrate data to google (google analytics, google ads, etc) & display ads without needing additional permissions.

Having a network permission means there is an incentive for apps to not have the network permission which means they can't load ads. And Google wants you to look at their ads.

Re:Button Stealer by gtsteve on Tuesday July 23, 2024 @09:27AM (#41045807)
I would hope that high value target sites such as banks would implement CSPs to prevent that or make it more difficult though.
Re:Button Stealer by pigeonhole123 on Tuesday July 23, 2024 @09:57AM (#41046092)
You can save the data and exfiltrate through a site without CSP
Re:Button Stealer by pastage on Tuesday July 23, 2024 @02:24PM (#41049197)
I block all external resources on my pages, but sure it works well in most places! It think the default policy should be block on most pages.
Re:Button Stealer by ivanjermakov on Tuesday July 23, 2024 @07:18AM (#41044802)
1. Wait for an extension to become popular

2. Sell it to a company with malicious intentions

3. Get ad/spy/malware in your browser

Re:Button Stealer by geek_at on Tuesday July 23, 2024 @07:21AM (#41044824)
that happened to me. I installed a plugin that would parse all pages for email addresses and store them for later reference. A few months later i started to see strange ads on pages that shouldn't have ads.
Re:Button Stealer by rc_mob on Tuesday July 23, 2024 @10:56AM (#41046635)
How is OP supposed to build the extension without doing this?
Re:Button Stealer by doctorpangloss on Tuesday July 23, 2024 @05:39PM (#41051232)
My dude. Google Chrome hoovers up all your browsing history. Google knows the content of pages you visit, because you make search queries to visit them, and most sites use Google Analytics or Webmaster tools, or the sites are in their index and can be looked up by URL reported by Chrome. Google has your Gmail, YouTube, Google Drive… if it wanted to, it could access your private stuff because it has access to your email. You are whinging about a silly joke project with a hypothetical concern, when you are already granting broad permissions to all of your data.
Re:Button Stealer by dougseismic on Friday July 26, 2024 @03:54AM (#41076675)
As a fellow extension developer, you'll know that remote code is extremely sandboxed by the review process and you can jump into the code easily.

Hell if you're that paranoid, sniff any remote connections with mitmproxy and generally just... understand what an extension does before you leave it on your machine.

Some extensions are just fun; this extension is wicked for me as design inspiration but yeah, salty take and hackernews PB+J