LWN: Comments on "The malicious "rustdecimal" crate" https://lwn.net/Articles/894808/ This is a special feed containing comments posted to the individual LWN article titled "The malicious "rustdecimal" crate". en-us Thu, 16 Oct 2025 05:10:16 +0000 Thu, 16 Oct 2025 05:10:16 +0000 https://www.rssboard.org/rss-specification lwn@lwn.net The malicious "rustdecimal" crate https://lwn.net/Articles/897652/ https://lwn.net/Articles/897652/ nybble41 <div class="FormattedComment"> <font class="QuotedText">&gt; In general, &quot;cmdA | cmdB&quot; is not safe without &quot;set -o pipefail&quot;.</font><br> <p> In the case of `curl | bash` the command isn&#x27;t safe even *with* `set -o pipefail`. The problem isn&#x27;t the exit status of the pipeline (which would typically be ignored in any case) but rather the fact that it runs the script *as it&#x27;s being downloaded*, without ensuring that the entire script is available before the first command is executed, and even worse that the shell will attempt to execute the last line downloaded even it was truncated.<br> </div> Sun, 12 Jun 2022 21:38:05 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/897637/ https://lwn.net/Articles/897637/ marcH <div class="FormattedComment"> In general, &quot;cmdA | cmdB&quot; is not safe without &quot;set -o pipefail&quot;.<br> <p> Safety discussions are a bit ridiculous the moment you use a language that ignores errors by default. We love high level discussions about memory safety and borrow checkers but in the real world the problems often start much more mundane: many C programs discard errors and even when they don&#x27;t the error handling code has never been tested. <br> </div> Sun, 12 Jun 2022 06:54:13 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/897636/ https://lwn.net/Articles/897636/ marcH <div class="FormattedComment"> <font class="QuotedText">&gt; the reason it hasn&#x27;t is that upstreams are generally not malicious.</font><br> <p> &quot;Generally&quot; is good enough except for security or safety issues. My smartphone &quot;generally&quot; does not crash: good enough. My bank account is &quot;generally&quot; safe from hackers: not good enough.<br> <p> But of course security bugs are also &quot;just bugs&quot;. So it&#x27;s funny to see some $BIGCORPS suddenly very obsessed about preventing security bugs and wondering &quot;how did that happen?&quot; when the answer is often just: <br> because crashing from time to time was considered good enough... until hackers look at our products.<br> </div> Sun, 12 Jun 2022 06:45:12 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895817/ https://lwn.net/Articles/895817/ dilinger <div class="FormattedComment"> And there&#x27;s the fact that such a malicious bug would only affect a certain subset of debian users (those running unstable) rather than stable users. An upstream could plant something debian-specific that waited several years before triggering so that it happened on debian stable systems, but that&#x27;s quite the long game. Or stable could be targeted by a fast-changing package in stable, like firefox/chromium.<br> </div> Fri, 20 May 2022 02:21:41 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895298/ https://lwn.net/Articles/895298/ mjg59 <div class="FormattedComment"> <font class="QuotedText">&gt; without looking at what was done since in order to make sure this issue doesn&#x27;t happen anymore</font><br> <p> Nothing was done. There&#x27;s no process in Debian to prevent something like this happening again - the reason it hasn&#x27;t is that upstreams are generally not malicious.<br> </div> Sun, 15 May 2022 03:53:05 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895297/ https://lwn.net/Articles/895297/ wtarreau <div class="FormattedComment"> &quot;nitpicking&quot; :-)<br> <p> Selecting an issue that happened more than 10 years before the ecosystem subject of this article was even imagined is hardly relevant to this discussion, I&#x27;m sorry. It&#x27;s presenting a process that&#x27;s supposed to be better than another one without looking at what was done since in order to make sure this issue doesn&#x27;t happen anymore. Yet the current situation is presented as having that limitation while it may very well be what made this issue not happen anymore. That&#x27;s precisely a swap of cause and consequence.<br> <p> </div> Sun, 15 May 2022 03:46:55 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895265/ https://lwn.net/Articles/895265/ khim <p>Not even Apple is arrogant enough to ask for the sources, only Linux distro guys ever tried to enforce that (and even they no longer try to do that).</p> <p>Of course only binaries are sent.</p> Sat, 14 May 2022 12:30:28 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895242/ https://lwn.net/Articles/895242/ flussence <div class="FormattedComment"> A webpage hit counter on its own can only ever tell you it probably wasn&#x27;t malicious for a high percentile of those downloads - hopefully 100, but that&#x27;s not a certainty. And notably, it doesn&#x27;t do anything for the OpenOffice problem where something gets to an impressive-sounding number then becomes tautologically self-sustaining based on that alone.<br> <p> Here&#x27;s a pretty extreme counterexample: <a href="https://pecl.php.net/package-stats.php">https://pecl.php.net/package-stats.php</a><br> Everyone knows what imagemagick and sdl_image are, they have an overlapping set of use cases, and from a quick glance they both appear perfectly legitimate packages by legitimate people. The download numbers though, if used as evidence in this way, tell a wildly different (and incorrect) story.<br> <p> Statistics are a footgun.<br> </div> Sat, 14 May 2022 05:49:29 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895243/ https://lwn.net/Articles/895243/ patrakov <div class="FormattedComment"> I am not familiar with iOS development. Do authors send source code to Apple, or only the compiled binaries?<br> </div> Sat, 14 May 2022 05:36:17 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895241/ https://lwn.net/Articles/895241/ pabs <div class="FormattedComment"> Distros do very little review, so them taking responsibility for something doesn&#x27;t really help the code quality/trust problem, you still need review even with a distro.<br> </div> Sat, 14 May 2022 04:11:27 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895222/ https://lwn.net/Articles/895222/ jwilk <div class="FormattedComment"> <a href="https://bugs.debian.org/842939">https://bugs.debian.org/842939</a><br> </div> Fri, 13 May 2022 20:24:51 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895221/ https://lwn.net/Articles/895221/ Chousuke <div class="FormattedComment"> What distros have that upstream authors don&#x27;t are enforced policies and best practices for packaging software. If you get a package signed with a distribution&#x27;s packaging key, you know there&#x27;s at least some level of quality guaranteed (depending on distribution).<br> <p> In Fedora, any packaged software is required to build offline (without any network access), and *only* from the sources provided; that means you at least have some hope of knowing what sources the binary was built from and rebuilding the software yourself.<br> <p> As an example of the frankly incompetent crap vendors sometimes do that wouldn&#x27;t fly in a serious distro, AWS&#x27;s package for OpenDistro for Elasticsearch at one point used a pre-install script to download a binary from the internet upon installation and dump it in /usr/lib. This was done in a noarch package that&#x27;s supposed to be architecture-independent! I remember it well because I had to spend time untangling a surprise broken upgrade in an ES cluster that had no internet access...<br> </div> Fri, 13 May 2022 19:53:56 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895174/ https://lwn.net/Articles/895174/ zdzichu <div class="FormattedComment"> The question was for ANY example of malicious code going into the distro. The example was provided. Nitpicking about the date is just moving the goalposts.<br> </div> Fri, 13 May 2022 13:50:05 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895171/ https://lwn.net/Articles/895171/ mathstuf <div class="FormattedComment"> <font class="QuotedText">&gt; You can filter rarely-used-untested crates, but not the malicious ones.</font><br> <p> There is `cargo-crev` which is aiming to help this problem. <a href="https://github.com/crev-dev/cargo-crev">https://github.com/crev-dev/cargo-crev</a><br> </div> Fri, 13 May 2022 13:16:26 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895169/ https://lwn.net/Articles/895169/ mathstuf <div class="FormattedComment"> <font class="QuotedText">&gt; one in five bugs are planted with malicious intent</font><br> <p> This doesn&#x27;t pass my smell test. The article says &quot;vulnerabilities&quot; without defining what they mean. I presume they actually mean &quot;CVEs on GitHub-hosted projects&quot; here, but it&#x27;s really hard to tell. There are plenty of vulnerabilities that never get a CVE. There are also plenty not on GitHub. So without some metric of what they&#x27;re talking about, I have no idea how useful such a statistic is. But &quot;bugs&quot; is almost certainly not what you mean here (at least as I understand the term).<br> </div> Fri, 13 May 2022 13:15:21 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895165/ https://lwn.net/Articles/895165/ excors <div class="FormattedComment"> I think they got the right numbers but the wrong context. The original report (<a href="https://octoverse.github.com/static/github-octoverse-2020-security-report.pdf">https://octoverse.github.com/static/github-octoverse-2020...</a>) says:<br> <p> <font class="QuotedText">&gt; Most software vulnerabilities are mistakes, not malicious attacks. Analysis on a random sample of 521 advisories from across our six ecosystems [Composer, Maven, npm, NuGet, PyPI, RubyGems] found that 17% of the advisories were related to explicitly malicious behavior such as backdoor attempts. These malicious vulnerabilities were generally in seldom-used packages, but triggered just 0.2% of alerts. While malicious attacks are more likely to get attention in security circles, most vulnerabilities are caused by mistakes.</font><br> <p> and:<br> <p> <font class="QuotedText">&gt; Analysis on a random sample of 521 advisories from across our six ecosystems finds that 17% of the advisories are related to explicitly malicious behavior such as backdoor attempts. Of those 17%, the vast majority come from the npm ecosystem. While 17% of malicious attacks will steal the spotlight in security circles, vulnerabilities introduced by mistake can be just as disruptive and are much more likely to impact popular projects. Out of all the alerts GitHub sent developers notifying them of vulnerabilities in their dependencies, only 0.2% were related to explicitly malicious activity. That is, most vulnerabilities were simply those caused by mistakes.</font><br> <p> To be honest, I can&#x27;t actually understand what that&#x27;s trying to say. But I don&#x27;t believe it&#x27;s saying that 17% (nor 0.2%) of vulnerabilities were maliciously inserted: it&#x27;s about advisories not vulnerabilities (and most projects won&#x27;t bother with advisories for regular boring vulnerabilities found through code review), and &quot;advisories related to explicitly malicious behaviour/activity&quot; sounds like it&#x27;s talking about active exploitation of a possibly-accidental vulnerability (vs an unexploited vulnerability found through code review), probably? Without more detail on the methodology (which I haven&#x27;t been able to find) the numbers seem largely meaningless.<br> </div> Fri, 13 May 2022 11:43:58 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895163/ https://lwn.net/Articles/895163/ mkj <div class="FormattedComment"> That zdnet article is off by a factor of 100. It has mistaken 0.2% for 20%.<br> </div> Fri, 13 May 2022 11:03:05 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895161/ https://lwn.net/Articles/895161/ wtarreau <div class="FormattedComment"> <font class="QuotedText">&gt; A more immediate problem with `curl | bash` is ensuring that the script is safe with respect to truncation; there is no buffering, so if the connection is interrupted `curl` just reports EOF and `bash` will attempt to run whatever was received for the interrupted line as if it were a complete command.</font><br> <p> Exactly! I&#x27;m pleased to read this because I feel like I&#x27;m constantly blowing in the wind when I say this, and even people do not believe my examples :-/<br> <p> </div> Fri, 13 May 2022 09:31:35 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895160/ https://lwn.net/Articles/895160/ wtarreau <div class="FormattedComment"> Review is not so much important as having a 3rd party accept to take some responsibility for it (which is what happens in a distro). That does help, obviously, but asking someone you don&#x27;t know to accept to maintain your crap over the long term is not an easy task, and doing that with purposely malicious software is even harder.<br> </div> Fri, 13 May 2022 09:29:14 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895159/ https://lwn.net/Articles/895159/ wtarreau <div class="FormattedComment"> <font class="QuotedText">&gt; This a nearly 20 year-old example, and it was done by the upstream maintainer.</font><br> <p> In fact it&#x27;s the perfect counter-example: all that could be found dates 20 years because the distro model works very well!<br> <p> </div> Fri, 13 May 2022 09:27:15 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895158/ https://lwn.net/Articles/895158/ wtarreau <div class="FormattedComment"> Distros have good virtues for packaging, they impose some deadlines and some stability. That prevents one from appearing in the middle of nowhere and becoming the new standard thing of the month then disappearing and leaving everyone in the dust. You also have to convince a package maintainer to adopt and maintain your package, so that usually comes with some compelling arguments about popularity and proofs of understanding of cycles of development and what long-term maintenance means.<br> <p> I&#x27;d say that software that are distributed a bit too directly to users tend to evade such controls and by losing some of these constraints they also lose many of the guarantees they used to offer to their users. I do have absolutely zero trust in such software distributed on such channels that are nothing but a market place where fame replaces money, and where engagement can be zero without anyone noticing.<br> <p> </div> Fri, 13 May 2022 09:26:10 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895122/ https://lwn.net/Articles/895122/ pabs <div class="FormattedComment"> The review problem is potentially solvable through distributed review and a web of &quot;review trust&quot;. The CREV folks are working on something like that.<br> <p> <a href="https://github.com/crev-dev/">https://github.com/crev-dev/</a><br> </div> Thu, 12 May 2022 23:40:23 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895120/ https://lwn.net/Articles/895120/ khim <p>iOS does have malware (although much smaller amount than Android) thus it's clear than <i>labor intensive review of all changes</i> doesn't work.</p> <p>Debian approach works more-or-less fine if you accept the fact that majority of software wouldn't delivered through that mechanism. This leaves you with feel-good impression without solving any real problems.</p> <p>This problem is not, actually, solveable: you are either popular (and then have some malware) and are not (and then people are using other things and receive their fix of malware from other sources).</p> Thu, 12 May 2022 22:57:20 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895113/ https://lwn.net/Articles/895113/ nybble41 <div class="FormattedComment"> <font class="QuotedText">&gt; There are instance where domain name renewal was allowed to lapse and the new owner replaced the software by a trojaned one.</font><br> <p> In terms of installation of software from new sources (as opposed to updates to existing software or centralized repositories managed by distros) the validation instructions, e.g. a GPG public key or signature file hosted on the same domain, are just as vulnerable to this sort of attack as the script itself. If you don&#x27;t want to be reliant on control of the domain name you need some out-of-band system to validate your sources, such as a PGP Web of Trust, but these systems have not really caught on as a practical general solution thus far. Identifying the source by its public key, e.g. using IPNS, or Tor .onion domains, would be one alternative; then the root of trust is pushed back to whoever directed you to that source.<br> <p> A more immediate problem with `curl | bash` is ensuring that the script is safe with respect to truncation; there is no buffering, so if the connection is interrupted `curl` just reports EOF and `bash` will attempt to run whatever was received for the interrupted line as if it were a complete command.<br> </div> Thu, 12 May 2022 22:01:24 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895100/ https://lwn.net/Articles/895100/ cesarb <div class="FormattedComment"> <font class="QuotedText">&gt; It&#x27;s also possible it was a targetted attack. i.e. someone uploaded the malicious crate, then sent a patch or pull request to a specific victim rather than waiting for people to innocently stumble on it.</font><br> <p> If that&#x27;s the case, perhaps looking for all merge requests at projects which are on gitlab, depend on the original crate, and where the merge request changed that dependency, might find the victim (if it&#x27;s a public project).<br> <p> Depending on how the CI is configured, it might automatically run on all merge requests, and it might expose important tokens (for instance, tokens to publish a finished and signed release) to the CI process. So this might be just the first step, and later we might be seeing a legitimate project publishing a malicious release due to this compromise.<br> </div> Thu, 12 May 2022 17:16:04 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895099/ https://lwn.net/Articles/895099/ ballombe <div class="FormattedComment"> There are instance where domain name renewal was allowed to lapse and the new owner replaced the software by a trojaned one.<br> HTTPS and domain name ownership are insufficient.<br> </div> Thu, 12 May 2022 17:09:02 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895095/ https://lwn.net/Articles/895095/ ballombe <div class="FormattedComment"> This a nearly 20 year-old example, and it was done by the upstream maintainer.<br> If you have nothing better, that rather prove that Linux distributions are quite safe<br> against malicious code injection.<br> </div> Thu, 12 May 2022 16:49:49 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895079/ https://lwn.net/Articles/895079/ zdzichu <p>mjg59 provided a link recently: <a href="https://lists.debian.org/debian-devel/2003/02/msg00771.html">https://lists.debian.org/debian-devel/2003/02/msg00771.html</a></p> Upstream included code <b>targeting</b> Debian specifically. Maintainer did not spot this. (I don't blame him. I wouldn't spot it either. Life is too short to read diffs between versions). Thu, 12 May 2022 14:50:06 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/895064/ https://lwn.net/Articles/895064/ tchernobog <div class="FormattedComment"> Well, log4j has been packaged and distributed for quite a while despite allowing remote execution, has it not? Not to mention a long list of CVEs in packages more (e.g. openssl) or less critical.<br> <p> Humans are imperfect, no human review process is 100% safe.<br> <p> A survey conducted through GitHub claims that about one in five bugs are planted with malicious intent.<br> <p> <a href="https://www.zdnet.com/article/open-source-software-how-many-bugs-are-hidden-there-on-purpose/">https://www.zdnet.com/article/open-source-software-how-ma...</a><br> <p> Considering the thousands of CVEs that have been open against a distro like Debian over the years, there is a good and fair chance that several bugs we have seen (and many we haven&#x27;t yet) were indeed intentionally planted.<br> </div> Thu, 12 May 2022 14:13:34 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/894993/ https://lwn.net/Articles/894993/ sionescu <div class="FormattedComment"> <font class="QuotedText">&gt; Unfortunately, history shows that malicious code has landed and will continue to land also in mainstream distributions. </font><br> <p> Do you have examples ?<br> </div> Thu, 12 May 2022 13:26:09 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/894982/ https://lwn.net/Articles/894982/ amarao <div class="FormattedComment"> <font class="QuotedText">&gt; Next you&#x27;ll be telling me that anyone can register a domain name and offer software for download, with no package management at all.</font><br> <p> You miss the point of my argument. I&#x27;m saying that imitating some reasonable number of downloads for crate is simple. It&#x27;s the simplest part of the trickery. That means, you can&#x27;t use it to meaningfully defend yourself from malicious crates by looking on download counter (and all cousins, like number of forks and stars on GH). That doesn&#x27;t mean you can&#x27;t use &#x27;little downloads&#x27; as a red flag, but you can&#x27;t use it as a qualifier for &#x27;safe to use&#x27;.<br> </div> Thu, 12 May 2022 13:03:40 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/894980/ https://lwn.net/Articles/894980/ wtarreau <div class="FormattedComment"> Ah ah, the trusted source is almost always <a href="https://github.com/something">https://github.com/something</a> and it always comes with a valid certificate without having to make any effort :-)<br> </div> Thu, 12 May 2022 13:01:14 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/894977/ https://lwn.net/Articles/894977/ amarao <div class="FormattedComment"> <font class="QuotedText">&gt; crates.io prominently shows not just the total download count, but a chart of downloads per version over the last 90 days.</font><br> <p> Okay. I need to a broken crate with misleading description, put a systemd timer with a curl with some randomness in it ... 15 minutes of playing with execution times based on chart from other well-known crate?<br> <p> Then I need to wait for 90 days, upload malicious create and send you a link.<br> <p> Still, &#x27;malicious crate&#x27; and &#x27;misleading description&#x27; is the hardest part in my opinion.<br> <p> That means, that looking on download counter as safe measure is useless. You can filter rarely-used-untested crates, but not the malicious ones.<br> <p> <p> </div> Thu, 12 May 2022 13:00:12 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/894968/ https://lwn.net/Articles/894968/ excors <div class="FormattedComment"> <font class="QuotedText">&gt; So, to install a malware on your machine I need to write a malicious crate with misleading description, send you a link and .. make 10000 downloads?</font><br> <p> crates.io prominently shows not just the total download count, but a chart of downloads per version over the last 90 days. (See the bottom of <a href="https://crates.io/crates/rust_decimal">https://crates.io/crates/rust_decimal</a>). So if you want to make a malicious crate that doesn&#x27;t look immediately suspicious and untrustworthy, you&#x27;ll need to spend 90 days replicating that pattern of downloads.<br> <p> I suspect you&#x27;d have more success by e.g. finding a popular but not-very-well-maintained crate, and sending a pull request that correctly implements a frequently-requested feature but includes a dependency on a new crate that you maintain yourself. Hopefully the maintainer will be glad to receive the patch and won&#x27;t be concerned enough about the new dependency to reject it or rewrite it.<br> <p> Developers who check the download history of the popular crate will have no reason to be concerned, and nobody has time to check the download history of every dependency of a crate before they use it. Then you can make a new release of your crate with some malicious code, and anyone starting a new project or running &quot;cargo update&quot; will receive your update.<br> <p> (Old projects that don&#x27;t explicitly update won&#x27;t see the new version, because the old version number is stored in the project&#x27;s Cargo.lock file, which is usually checked into VCS so every developer builds exactly the same code.)<br> <p> For a conscientious application developer, I think one possible solution is to run &quot;cargo vendor&quot; to retrieve a local copy of all dependencies, and check that into your VCS. Use the net.offline config option to prevent Cargo accidentally using a non-local crate. Whenever you want to update dependencies: run &quot;cargo update&quot;, &quot;cargo vendor&quot; again, then push it to your code review system and read the diffs of all the vendored dependencies. And whenever you want to add a new dependency to your project, look at the number and complexity of its indirect dependencies and consider the long-term costs of reviewing all that code and its updates forever, and balance that against the benefits it provides.<br> </div> Thu, 12 May 2022 12:11:40 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/894970/ https://lwn.net/Articles/894970/ tchernobog <div class="FormattedComment"> In a perfect world where every package maintainer had infinite time and would be paid to read and audit every single package you would be right. Unfortunately, history shows that malicious code has landed and will continue to land also in mainstream distributions. <br> <p> There is also a problem of freshness of packages, with patches taking time and effort in percolating from upstream to downstream. I&#x27;ve seen several packages with known vulnerabilities remaining outdated for far more time in distros rather than when following the upstream releases directly. <br> <p> The complexity of the current software ecosystem on a typical installation necessarily puts the burden of proof on developers who are including certain dependencies in their projects. Rather than on distro maintainers, I would expect library users (developers) to have some form of sandboxing in place on their CI systems, and static analysis of their code and its dependencies.<br> <p> A CI system should also not be allowed to connect to the Internet by default, rather going through a proxy such as Artifactory for downloading of packages. Hopefully, something like sigstore (<a href="https://www.sigstore.dev/">https://www.sigstore.dev/</a>) might take traction and help in ameliorating the issue.<br> <p> Putting the blame on cargo, pypi, npm, etc. misses the mark in my opinion. Except that they should be enforcing verified author-signing of packages.<br> <p> For a certain class of applications (e.g. GUIs) flatpak and its sandboxing approach offer a good improvement on security, provided it&#x27;s properly set up. For the rest... I can assure you I&#x27;ve seen developers bundling a lot of outdated and vulnerable dependencies without thinking, no matter how easy or hard a certain tool makes it.<br> <p> <p> </div> Thu, 12 May 2022 12:10:05 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/894954/ https://lwn.net/Articles/894954/ cortana <div class="FormattedComment"> No, the necessary level of assurance can only be achieved by using a https URL and checking the signature of the downloaded data throughout the supply chain.<br> </div> Thu, 12 May 2022 09:21:43 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/894940/ https://lwn.net/Articles/894940/ ddevault <div class="FormattedComment"> This is a fundamentally unsolvable problem with the (bloody stupid) approach to package management endorsed by Cargo, PyPI, npm, etc. Vendors cannot be trusted to publish their own packages. The distribution model, with a dispassionate third-party reviewing, packaging, and signing the software, is much better for security.<br> </div> Thu, 12 May 2022 08:09:32 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/894917/ https://lwn.net/Articles/894917/ pabs <div class="FormattedComment"> You also have to trust their hoster, while you don&#x27;t have to trust the hoster with a traditional package manager.<br> </div> Thu, 12 May 2022 04:42:35 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/894909/ https://lwn.net/Articles/894909/ developer122 <div class="FormattedComment"> Curl Sudo isn&#x27;t the level of problem people make it out to be.<br> <p> If HTTPS is enforced and you got your download URL from a trusted source, then it&#x27;s no different from installing through a package manager. It&#x27;s merely a question of whether you trust the person owning that website and providing the install script as much as you trust canonical/debian/etc.<br> <p> It&#x27;s a janky way to install things, but it isn&#x27;t an insecure one.<br> </div> Thu, 12 May 2022 04:04:25 +0000 The malicious "rustdecimal" crate https://lwn.net/Articles/894907/ https://lwn.net/Articles/894907/ raven667 <div class="FormattedComment"> I don&#x27;t think it is possible to always prevent this kind of typosquatting or malicious libraries in public distribution systems, without a much higher bar for upload, like Debian, or manual, labor intensive review of all changes, like Apple, but it is possible to catch them after the fact and stop them. With a good audit trail you can see exactly when and by who the malicious code was introduced and, if you keep the download logs, who was affected, so attacks using this mechanism don&#x27;t stick around for long, are noisy and relatively easy to clean up, making this mechanism a less attractive attack point for mass exploitation. Sometimes you can&#x27;t make you can&#x27;t make something perfectly secure but you can encourage the attacker to move along to a softer target elsewhere.<br> </div> Thu, 12 May 2022 03:52:17 +0000