HN user

kpcyrd

1,578 karma
Posts26
Comments327
View on HN
lists.reproducible-builds.org 8mo ago

GitHub Actions' VM image doesn't match published source code

kpcyrd
9pts0
lists.reproducible-builds.org 2y ago

Arch Linux minimal container userland 100% reproducible – now what?

kpcyrd
103pts17
github.com 5y ago

Experimental source code dump of pluggable transports for signal-desktop in rust

kpcyrd
3pts1
news.ycombinator.com 6y ago

Acme-redirect: easy to use acmev2 daemon in rust

kpcyrd
2pts1
lists.reproducible-builds.org 6y ago

Running an independent Arch Linux rebuilder

kpcyrd
127pts26
www.reddit.com 6y ago

How do I prevent my parents from sending me unencrypted messages in Telegram

kpcyrd
1pts0
vulns.sexy 7y ago

Building the great cannon of session flooding

kpcyrd
1pts0
github.com 7y ago

High performance nudity detection in rust

kpcyrd
3pts0
github.com 7y ago

Rocket_failure: Semantic error handling for rocket applications

kpcyrd
1pts0
gist.github.com 7y ago

Database corruption regression in sqlite 3.26.0

kpcyrd
2pts0
github.com 7y ago

VirtualBox E1000 Guest-to-Host Escape

kpcyrd
577pts108
github.com 8y ago

Rust reimplementation of lambdash, deploys a rust binary to aws lambda

kpcyrd
4pts0
github.com 8y ago

Scriptable network authentication cracker in rust

kpcyrd
3pts0
github.com 8y ago

TCP connection hijacking in rust

kpcyrd
4pts0
github.com 8y ago

Building from source is a waste of electricity

kpcyrd
1pts0
git.zx2c4.com 8y ago

Git-daemon-dummy – deprecate git:// for https://

kpcyrd
1pts0
donjones.com 9y ago

You Need to Rethink That “Jump Server.”

kpcyrd
3pts1
github.com 9y ago

Umask setting is ignored by npm for some directories

kpcyrd
56pts27
github.com 9y ago

Redis history file world readable

kpcyrd
3pts0
badlock.org 10y ago

Badlock details have been disclosed

kpcyrd
2pts0
mta.openssl.org 10y ago

OpenSSL security advisory 2016-03-01

kpcyrd
139pts11
www.evilsocket.net 10y ago

Mass pwning osx using the sparkle updater vulnerability

kpcyrd
2pts0
boingboing.net 10y ago

Symantec caught issuing rogue Google.com certificates

kpcyrd
2pts0
openwall.com 10y ago

S/party/hack/ like it's 1999 – Terminal escape sequences

kpcyrd
1pts0
github.com 11y ago

Saltstack/libnacl: crypto_onetimeauth_verify never fails

kpcyrd
2pts0
onionjson.net 11y ago

Show HN: Onionjson.net – tor2web for json

kpcyrd
1pts0

This makes the problem harder instead of easier. The most practical conclusion is "the package registry is the VCS, but with stricter rules".

Those stricter rules are useful, the registry acts as a authority to ensure no version string is ever reused in a way that would make it non-canonical. It also ensures availability of the source code, so your software won't suddenly fail to compile because somebody decided to delete the repository from their server, delete their Github/codeberg user, or they can't pay for their domain anymore (which is a fail-open identity system, not a fail-close one like crates.io). Sure there's also the risk of crates.io ceasing to exist, but that's less likely than "some software engineer gets layed off, decides tech is a dead-end and becomes a domain-less goose farmer".

This. Capitalism only became problematic the minute it stopped having a cozy spot for software developers~

And even then people prefer blaming the prediction machine instead of recognizing their situation as the logical conclusion of capitalism.

The server actually hosting the rootkit executable is npmjs.com, run by a for-profit company, and they still take about 24h to act on our reports, while reported AUR packages have been processed in about 1-2h by people that work unrelated dayjobs on top of this, to self-subsidize their open source work.

Sorry you're displeased with us not writing blogposts faster on top of all this. The situation is already exhausting enough without people like you.

You could try rkhunter or unhide from the official repositories, but I haven't tested this myself and I don't know how well they work with BPF rootkits (and/or this one specifically).

All of the packages I have triaged involved the atomic-lockfile npm package, so this is something you could try:

  npm cache ls | grep atomic-lockfile
The problem with an officially endorsed solution is that the rootkit authors could push an update that hides/removes the indicators of compromise the endorsed script checks for (e.g. it would be trivial to have the malware delete atomic-lockfile from the npm cache).

This is essentially what the [extra] repository is. Not using the AUR and sticking to official Arch Linux packages exclusively is a very valid and reasonable choice (that I follow myself actually).

A large number of "an Arch Linux update broke my system" is very likely due to incorrect AUR use that AUR helpers don't handle for you. There's an elaborate writeup here from just 2 months ago: https://lists.archlinux.org/archives/list/arch-dev-public@li...

This is an "in addition to" problem though, not an "instead of" problem.

Having code reviewed the PKGBUILD doesn't mean the upstream software is safe to use, having reviewed the upstream software and it's dependency tree doesn't mean the PKGBUILD is safe to use.

There's no shortage in ideas of how to make the AUR easier to moderate. A "quarantine button", an invite system, a request system for adoption similiar to how orphan requests work, code review attestations similiar to cargo-crev, pacing controls similiar to those in discourse.

There is a shortage however of people skilled enough to implement them (with available time to do so).

What we also don't have a shortage of is angry people in comment sections.

This may happen even with `pkgctl build` if a makedepends= (transitively) pulled in the shared library into the build environment, but depends= doesn't.

There's warnings in place if a .so dependency is detected, but it's up to the maintainer to notice and act on it.

For safety/security concerns, Arch Linux has been one of the driving forces in the reproducible builds project, and for large parts of the operating system it's possible to independently verify that those binaries have in fact been built from source code. It's auditing story for official packages is stronger than that of NixOS (and on par with Debian):

https://reproducible.archlinux.org/

All of this is entirely unrelated to the AUR incident however.

The repository suddenly contains thousands of files that I need to worry about. With regular locked-dependencies (but non-vendored) like Cargo.lock does, I have them contained in archives with well-known hashes that other people have also looked at.

If I have to manually match the content of the vendor/ folder with the contents of the Cargo.lock referenced source code anyway, I could just use Cargo.lock directly without having to concern myself with the thousands of files in your vendor/ folder.

You are getting distracted by domain names, your Cargo.lock files already cryptographically address the source code. Either make sure all your Cargo.lock files contain no known-bad hashes, or make sure all your Cargo.lock files contain only known-good hashes. Maybe also mirror the .crate files for the absolute worst case scenario of crates.io going offline.

1) This is only relevant for rustup.rs, most Rust source code is coming from crates.io 2) Most projects have a Cargo.lock that contain sha256 checksums of the source code. You can still announce new versions of everything and hope people pull them in through `cargo update`, but you are not going to get anywhere close to "all Rust users".

Step 1: discontinue the public repository, step 2: sell access to your GPL codebase.

The GPL (and even the AGPL) doesn't require you to make your modified source code publicly available (Debian explicitly considers licenses with this requirement non-free). The GPL only states you need to provide your customers with source code.

Gentoo on Codeberg 5 months ago

Security, sha1 was deprecated in 2011 by NIST due to security concerns, and browsers reject sha1 certificates as invalid since 2017.

Yet programmers in 2026 for some reason are still using it when signing their git tags and commits. Unless they are using a sha256 git repository.

The ch32v003 implements RISC-V without the M extension, meaning there's not even a MUL/DIV instruction.

Out of all micro controllers I've worked with, only a single one had AES cpu instructions.

Gentoo on Codeberg 5 months ago

I moved one of my projects from Github to codeberg because Github can't deal with sha256 repositories, but codeberg can.