Readit News logoReadit News
sugarpimpdorsey · 12 days ago
> In response, Xiao pointed out that the package description can be read by any user who chooses to install the software, and it does mention the scan feature.

Wouldn't be the first (or last) time a Debian maintainer has pulled the "you should read the descriptions of all (hundreds) of your packages (most installed as dependencies)" card in response to a bug report.

If someone started reading all the package descriptions and READMEs we're meant to be thoroughly familiar with when Trixie was released a few days ago, they'd still be reading them.

jraph · 12 days ago
“the plans and the demolition orders have been on display at the local planning office on Alpha Centauri for fifty of your Earth years. If you can't be bothered to take an interest in local affairs...”

https://www.youtube.com/watch?v=Z1Ba4BbH0oY

tomsmeding · 12 days ago
For the uninformed: this is a quote from The Hitchhiker's Guide to the Galaxy.
jacquesm · 12 days ago
Such responses to me are proof of malicious intent.
avhception · 12 days ago
While I think the response was not well thought out, it's still a far cry from "proof of malicious intent".
npteljes · 12 days ago
Hanlon's razor applies here, I think. It's just ignorance, not malice. I doubt the maintainer has connection, or was pressured by these two random dictionary websites to include this - nor do I think that they gain any advantage of it.

People need to be on the lookout though, the xz incident showed that FOSS is indeed vulnerable.

thegrimmest · 12 days ago
Why can't reasonable people disagree here? Surely if the utility of some features might outweigh the security concerns for some people. Making features opt-in instead of opt-out significantly changes their discoverability and usage metrics. On the whole, a translation system that has a feature to translate selected text seems hardly surprising. Similarly, using an online service to improve translation quality and reduce local resource usage also seems reasonable.

Fundamentally, always-online, home-phoning features are the norm, and it should be up to OS distributions to manage security postures such as allowlists for network access. Think something along the lines of "StarDict wants to connect to dict.cn. Allow/Deny?".

Lockal · 12 days ago
There are dozens of chrome extensions that translate (read: submit to untrusted server) on hover / highlight / context menu / textarea edit / etc. It is implied, that user acknowledges this functionality and accepts the risk. This includes untrusted server (because that's how they proxy requests to Google/Bing/Yandex Translate without exposing API keys).

Security illiteracy? Yes. Malicious intent? Probably no.

Does being security illiterate equal malicious? Debatable.

rusk · 12 days ago
Such a response is not considered a valid defence under GDPR. You cannot sign away your right to privacy any more than you can sign away your right to life.
sim7c00 · 12 days ago
i agree. if in 2025 ppl dont understand plaintext of user data to places on the net is bad, they should not write code nor be maintainers of oss software -_-.

how many times does everyone need to be totally compromised by some shitty software before people start to care?

innocent individuals each days are suffering hacks and malicious interactions. people are losing their livelihoods. companies are getting shutdown... what more need to happen?? :S

CorrectHorseBat · 12 days ago
Malicious intent written in the package description? I would think that really unlikely.

I think it's just a cultural difference. Sogou, a super popular Chinese input program for Windows iOS and Android does the same with everything you type and nobody cares.

wat10000 · 12 days ago
That doesn’t even address the problem! The package description does mention the scan feature, but not the automatically-send-it-to-a-server-in-plain-text feature.

Sure, if you read the description and the list of plugins and correctly guess how this plugin is implemented, then you can deduce some of it.

chainingsolid · 12 days ago
I install stuff from Debian's repos for 2 reasons. Convience & trust. And while people do complain when maintainers modify packages behavior, I think people would rather have the send my clipboard contents to someone else to be opt-in. Instead of violating their trust!
zahlman · 12 days ago
If this level of modification is required for a package to fit in with the distro's philosophy, maybe better not to include it at all.
fodmap · 12 days ago
I do agree with your point, specially when it is not the first time a package maintained by that guy does non-expected behavior like https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1010165 (Inappropriate package, modifies other package's (conf) files, should be removed from archive).
tremon · 12 days ago
I disagree that "modifying other packages' conf files" is a problem. Conf files in general are there for the user to modify, and as the maintainer points out, it shouldn't matter if the user uses vi, joe, emacs or this specific tool to modify them.

The problem in this case is that the package modifies generated files belonging to another package. Making it about conffiles is bad phrasing by the bug submitter.

cesarb · 12 days ago
> If someone started reading all the package descriptions and READMEs we're meant to be thoroughly familiar with when Trixie was released a few days ago, they'd still be reading them.

That used to be viable back in the late 1990s and early 2000s when I first used Debian. It would take an afternoon of going through all the packages in dselect (does anyone here still remember dselect?) and marking the ones you wanted to install, and around the same amount of time going through every option on the kernel's menuconfig to precisely tailor the kernel to your specific hardware configuration (things were much less dynamic back then).

Nowadays, there are simply too many packages and kernel configuration options to go through (also, does anyone still use dselect?).

1vuio0pswjnm7 · 11 days ago
"If someone started reading all the package descriptions and READMEs we're meant to be thoroughly familiar with when Trixie was released a few days ago, they'd still be reading them."

Another option might be to reduce the amount of software one is "blindly"^1 using and relying upon

For example, I have been making own Linux distribution, not following Linux from Scratch (although that is a useful reference)

This is for both learning but also reliability and robustness purposes (where "robustness" includes ability to recover quickly from losing everything)

IME starting from scratch gives a better appreciation for the "inconveniences" that maintainers must endure

"Inconvenience" may be putting it mildly

Certainly, the inconvenience varies depending on the software

Some software builds even on the most deficient/broken installations

Other software is absurdly difficult to compile, often due to minor oversights, sometimes due to obivous carelessness

The wild inconsistencies from one project to another is itself part of the inconvenience

The ease with which software can be compiled by me, and presumably anyone else, on any computer, including underpowered ones, with minimal dependencies, is among the factors I consider when choosing whether to rely on any particular software

1. Here "blindly" means the user has zero curiosity about where it comes from or how it works

No comment on this particular software or the Debian maintainer

I have up on X11 many years ago

I never liked that Debian maintainers make subjective, opinionated changes to other peoples' software, especially since it seems like the majority of Debian users do not compile from source

juujian · 12 days ago
Also, someone looked at the package and the description, that is why this issue has been raised.
bayindirh · 12 days ago
"RTFM!" comments comes in flavors and bears nuances. In this case, as another commenter has pointed out, the answer smells fishy.

I have been told to "RTFM!" countless times in many places. Some of them were legitimately the correct answer in that context, in hindsight. Some were knee-jerk reactions like this.

Debian's discussion culture might be a little edgy sometimes, but this has nothing to do with Debian.

Deleted Comment

Dead Comment

CamouflagedKiwi · 12 days ago
> of course a dictionary program will include code to talk to dictionary-providing web sites.

I wouldn't say that is just a given, if I've apt-get installed a dictionary I might expect that is the whole thing on my machine. It's not like we haven't had dictionaries in physical books for centuries... It seems like stardict is very much an online thing, which I suppose could be legit, but the whole thing does seem like a trap.

kazinator · 12 days ago
I's a generational thing. I would guess that someone who expects applications to phone home, on the off chance that they are actually otherwise local, is likely someone pretty young who hasn't lived in a world of locally installed software that doesn't talk to anything.

If we search for the author's bio, that seems to check out. They are a well-credentialed CS person; obviously they know that dictionary programs such as translation pop ups can have offline dictionaries, and mentions that. But they are a person of their time with an according set of "of courses".

Today, an application being locally installed and works with offline data is like a a statement of quaint chivalry, promulgated by a few remaining Don Quixotes of computing. (It saddens me to say. So much that this analogy brings me insufficient amusement.)

yorwba · 12 days ago
For many languages, there simply isn't a comprehensive dictionary file that could be redistributed legally as part of a free-software offline dictionary application. You either settle for a few thousand words put together by a handful of volunteers, or you redistribute a commercial dictionary illegally, or you have to connect to an online service to provide sufficient coverage legally.
pxc · 12 days ago
Dictionaries are small! It's insane to think that a dictionary requires network access. If it did, why would I install it locally??

> Today, an application being locally installed and works with offline data is like a a statement of quaint chivalry, promulgated by a few remaining Don Quixotes of computing.

But a dictionary package has no valid reason to be online.

ryandrake · 12 days ago
Wouldn't someone's expectation instead depend on the nature of the application, and what data it needs? My expectation is that an application does not access the network unless it requires a resource only available from the network. I would totally expect a "Yelp" application to make network requests as part of its core functionality. Yelp is an online service, and in order to use it, you have to talk to the network, and you're generally requesting data that might often change, so you need fresh copies. Same for an Internet browser, or ftp or git (for remotes) or things like that. I would not expect a spell checker to need to access a network because it can all be done locally and the spelling of words doesn't change often enough to need a fresh dictionary from the network over and over. And I certainly would not expect the software to send data to the network. I would also not expect a calculator application to request math function from the network or send my equations to a network service so that the network service could provide a result.
jcelerier · 11 days ago
> I's a generational thing

... Is it? Dictionary apps have been working like this for more than twenty years. Babylon Pro of which stardict is pretty much a clone was doing this with already millions of users in the year 2000! Kindles work like that!

hdjrudni · 12 days ago
Even if it's "legit", it shouldn't be using unencrypted HTTP.
sam_lowry_ · 12 days ago
Why? Should it use the dict protocol, then?
account42 · 12 days ago
That stood out to me as well. It's a sad world when people expect even simple functionality to be a live service.
pantalaimon · 12 days ago
The venerable ding does well with a local dictionary - and it's packaged in Debian too

https://www-user.tu-chemnitz.de/~fri/ding/

mkesper · 12 days ago
But only english-german, sadly
mayama · 12 days ago
At some point I started running gui apps without network access, first with firejail and then bubblewrap. This was before flatpak became a thing. I still use collection of bash scripts that built up over time to run applications in sandbox.
waterhouse · 12 days ago

  ~> wc -cl /usr/share/dict/words
  235976 2493885 /usr/share/dict/words
One might even expect a program to use a common Unix preinstalled dictionary.

dkiebd · 12 days ago
"words" is nothing but a list of words. It does not contain definitions for those words, which is what one expects from a dictionary.
yjftsjthsd-h · 12 days ago
Dumb question... Could you do a per-word bloom filter to do online spell checking without actually disclosing the words you're checking?
markasoftware · 12 days ago
a bloom filter look up is by hash, and given the relatively small set of words in english, it would be pretty easy for the server to reverse the hash sent to it. Thus a bloom filter wouldn't be very private.

Additionally, a typical spell checker feature is to provide alternative, correct, spellings, rather than just telling you whether a word is correctly spelled.

I bet there's some cool way to do this with zero-knowledge or homomorphic cryptography though!

yk · 12 days ago
There are two scenarios I believe, first accidentally sending a (decent) password, and second the server not learning what you actually look up.

For the first case, sending a hash would prevent the server from learning a password that is not in the dictionary, something like password5 would hash to gibberish.

For the second, the server needs to know what to actually send back. I believe Google's malicious website check works (or used to) by truncating a hash an then just sending the answer for some 128 or so websites and have the browser figure out which of them the user wanted to visit. That creates some deniability over witch website you actually visited and should be also usable to prevent the server from learnering what you actually looked up.

So yes, I think you could design a more secure Protokoll. Though general security disclaimer the people trying to read your letters probably spend more time attacking than I spend writing this post.

CGamesPlay · 12 days ago
Just want to mention that the feature in question here is for translation, not spell checking.

Deleted Comment

Deleted Comment

phkahler · 12 days ago
>> of course a dictionary program will include code to talk to dictionary-providing web sites.

Maybe to download a dictionary, but not to provide the same services that the dictionary program provides locally.

wat10000 · 12 days ago
This sort of crap makes me sure I’ll be employable forever.

I may not be on top of the latest trends, but at least I understand how computers work and what they can actually do.

paffdragon · 12 days ago
Somewhat related, I was quite surprised when I discovered that my Samsung phone was sharing ALL my clipboard with all my other Samsung devices, including passwords copied into the clipboard, and even preserving the history. I can't remember if the sharing was enabled by default or I opted in by accident. I assume it also goes through their servers to reach my other devices. I could disable the sharing, but still can't turn off the clipboard history, even switching to a different keyboard, the Samsung keyboard still captures the clipboard and saves the history, when I switch the keyboard to Samsung everything is there... I guess my next phone won't be Samsung.
dannyw · 12 days ago
Yes, and we know at least Samsung TVs sell your details and what you watch to marketers and everyone.

Samsung’s privacy policy is the same for phones and TVs.

nullify88 · 12 days ago
I usually suggest not to create or login with a Samsung Account on Samsung devices. It's just another opportunity for a company to get at your data.
yonatan8070 · 12 days ago
I noticed this happening through KDE connect, where passwords copied on Linux show up in Android's clipboard history, is there a way to block passwords from being transported around like that without completely disabling clipboard sharing altogether?
fhcbix · 11 days ago
KDE connect lets you disable/configure individual plugins, just disable the "Clipboard sync". I don't think it can by itself figure out that you're copying a password, at least across UI toolkits. FWIW most toolkits and browsers don't actually copy from a password input anyway.
pabs3 · 11 days ago
You might want to disable KDE's clipboard history too btw, or at least find a solution that doesn't involve copying passwords. Either use the selection instead of the clipboard, or use password filling through non-clipboard channels.

Dead Comment

Elucalidavah · 12 days ago
Querying a local dictionary on each clipboard seems okay; having a feature to request remote dictionaries is okay; making it easy to combine both is dubious but understandable (would be better off as a special flag); but having them combined by default? That's pretty much malicious.
maxglute · 12 days ago
It's talking about querying youdao, which is more translation service. Offline translation < online translation, i.e. I don't want to fallback to local google offline translate language package unless I have no data. I don't use stardict, but it should be completely expected functionality if translating more than words like dictionary.

This entire article should be, Chinese translation program sends clipboard data to it's own website and chinese translation services, but on http.

Dead Comment

eadmund · 12 days ago
The Wayland framing at the end strikes me as misleading. This gets it exactly right:

> Or maybe StarDict would have started asking for special permissions to let it work on Wayland, and users would have accepted those defaults the same way they currently do.

Yes, that’s what it would do. Its installer might even configure that special permission automatically, without user intervention.

Malware’s gonna mal. Wayland might help defend against some things, but it’s not going to defend against packages installed as part of the distro.

heresie-dabord · 12 days ago
It is not misleading, Wayland is better than Xorg in this particular respect.

But the other concern is part of the systemic problem. Consider that the data that was transmitted was sent in the clear!

> StarDict ... while running on X11, using Debian's default configuration, it will send a user's text selections over unencrypted HTTP to two remote servers.

> Any user who did read the description of the package, and who knew what the YouDao plugin would do, might nevertheless expect the resulting communication to at least be encrypted. But the plugin actually reaches out to its backend servers — dict.youdao.com and dict.cn — over unsecured HTTP. So, not only are these servers sent any text the user selects, but anyone who can view traffic anywhere along its path can see the same thing.

kelnos · 11 days ago
It's extra misleading, because "Wayland" isn't a thing when it comes to policy like this. Unless a compositor implements some sort of user approve/deny UI when an app requests access to the clipboard, apps on Wayland can snoop on the clipboard just as easily as on X11. I haven't run GNOME or KDE in Wayland mode, so maybe they do implement something like that, but none of the wlroots-based compositors I've tried do.
CGamesPlay · 12 days ago
It's really difficult to not assume malice with something like this. From the maintainer:

> The stardict has "Scan" function, when user enable this function, after user select some text, it will trigger stardict do translate for this selected text... Why the user selects some confidential data to query dictionary?

netsharc · 12 days ago
Would be funny if they couldn't tell that the text in a foreign language is confidential... maybe it's stamped "秘密".

"Sir, we have intel, the enemy is having translation server errors."

hiAndrewQuinn · 12 days ago
>This would normally not be much cause for concern; of course a dictionary program will include code to talk to dictionary-providing web sites.

Hey, an area I finally know something about. It depends on what you're trying to do.

The slimmed down version of a Finnish dictionary I provide in `tsk` [1] weighs in at around 30 MB, for about 250,000 Finnish words. It's small enough that I embed the whole dictionary directly into the binary and reconstruct the prefix search on the fly every time the user starts the app.

However, the much larger database which contains things like lemmatization and etymology information easily balloons up to many, many gigabytes in size. My problem domain is providing Truly Instant Lookup, keystroke by keystroke, so I can't really get around this level of memoization. The work to figure all this out was sufficient that I decided to make future versions a paid product instead [2].

Most other use cases would just call out to a server, because it's silly to think most people are going to download a giant database for that use case alone. A hybrid approach could also make a lot of sense, eg cache the most common 10,000 words locally and call out for the next 1.5 million, which are statistically extremely rare.

[1]: https://github.com/hiandrewquinn/tsk

[2]: https://taskusanakirja.com/ (offline for now until I get Digicert to certify my downloads wholesome for Windows resale)

avhception · 12 days ago
While I have a lot of respect for the effort that goes into Debian, I always disliked this kind of "maximalism" from the package manager. Oh, the user wants "foo"? Let's install every software that might be even remotely useful somehow in combination with foo! Oh there is a network daemon in there? Fantastic, let's start it immediately!

I know that there is a flag to disable the installation for "recommended" packages. I just think the default is a disservice here.

bayindirh · 12 days ago
I'll politely disagree.

First of all, "Recommends" is reserved for packages which enhance the functionality of the package you're installing. Without these the package will not break, but some very useful functionality might be disabled.

The package-class you're talking about is "suggests", IOW, "these packages might also be useful for you, wanna look?" section. These are not installed by default already.

On the other hand, apt and aptitude provides previews before doing something. You don't have to accept them. In aptitude's case, you can fine tune before the final commit, even.

There's a tension. Minimalism vs. user utility. Somebody told in Debian 13 release comments that "Debian will never be a end-user friendly distro". Now, you're saying that packages shouldn't install recommends by default.

What should Debian be? "An IKEAesque DIY distro", or "A more user friendly, yet very stable and vanilla distro". I vote for the latter, personally. Plus, as I told before, advanced users are free to use what they want to change.

If you want to change the default, the configuration files are at /etc/apt/conf.d/. If you want to disable feature for once, it's --no-install-recommends.

avhception · 12 days ago
Well, as a user of one of the more "IKEAesque" distros, I guess I have made my choice ;)

And that's perfectly fine, it just means I don't align with Debian on this one. And that freedom is what Linux is all about, I guess. So it seems it's working as intended :)

Edit: And I totally get that users might often want that kind of maximalism. It's just not for me. Although starting network daemons by default might sometimes be a bridge too far, or the case described in the article here.

account42 · 12 days ago
I agree that recommends makes sense but this is a bullshit argument:

> On the other hand, apt and aptitude provides previews before doing something. You don't have to accept them. In aptitude's case, you can fine tune before the final commit, even.

You can't expect the average user to understand the entire dependency tree and read the description of dozens of random packages that the average program pulls in. RTFM is not a valid excuse for bad defaults.

ethan_smith · 12 days ago
This is a classic tension between convenience and security - Debian's "recommends" defaults were designed for a pre-cloud era when network connectivity wasn't assumed and local functionality was prioritized over potential security boundaries.
barosl · 12 days ago
Actually the default value of `APT::Install-Recommends` had been false, and it was changed to true in Debian 6.0 Squeeze (2011-02-06). I didn't like the change at the time because my Debian and Ubuntu systems suddenly installed more packages by default. However, now that I think of, the distinction of recommended packages and suggested packages was blurry before the change, because both were opt-in. Auto-installing recommended packages, while allowing the user to opt out is a better default I guess. But I still turn off auto-installation of recommended packages in the systems I manage.
tremon · 12 days ago
I don't have a problem with --install-recommends being the default. I think it's a fine distinction to have Recommends be "most of our users will want these" and "this package provides some niche feature that most users won't need".

However, like you, I do have a problem with maintainers abusing the Recommends: field to further their own world domination plans. There is no valid reason that installing an archive tool should mandate a specific init system (looking at you, file-roller and gnome team in general).

account42 · 12 days ago
The other extreme where you are missing expected functionality because it's optional isn't any better. The problem is not that recommended dependencies are installed by default, it's that package recommendations should perhaps be more conservative. Note that Debian already differentiates between recommended dependencies (which most users should want) and suggested dependencies (related functionality or enhancements that are not relevant for every user).
rfoo · 12 days ago
For me it's my most used super long command line flag.

For a brief moment `--break-system-packages` surpassed it, then I discovered `pip` accepts abbrev flags so `--br` is enough, and sounds like bruh.

IshKebab · 12 days ago
> --break-system-packages

You can avoid that clusterfuck using `uv tool install`. E.g. `uv tool install pre-commit`.