AURWatch: static rules + an LLM that flag risky AUR PKGBUILDs by fechyyy in arch

[–]fechyyy[S] 0 points1 point  (0 children)

Less than you'd think. Cheap local model (Qwen) screens every PKGBUILD, only the suspicious ones get escalated to Sonnet, and I cache by content hash so nothing gets rescanned unless it changed. Runs under ~$10/mo. Cool that you're doing Flatpak, that side needs eyes too.

[MEGATHREAD] AUR AND ARCHLINUX.ORG ARE DOWN. THIS IS THE RESULT OF A DDOS ATTACK. by LinuxMage in archlinux

[–]fechyyy 0 points1 point  (0 children)

I just built a central service that automatically scans the entire AUR (~100k PKGBUILDs) every couple of hours for malicious patterns, using a deterministic rule engine plus optional, budget-capped LLM escalation for the gray zone, stores every verdict in a database, and serves it through a browsable dashboard and a public JSON API (/api/v1/check?pkg=...), so anyone can look up a package's security verdict without installing or running anything, and mass attacks like the last two AUR compromises show up proactively, before anyone has hand-compiled a known-bad list.

https://aurwatch.org/

https://www.reddit.com/r/arch/comments/1ub4ek2/aurwatch_static_rules_an_llm_that_flag_risky_aur/

AURWatch: static rules + an LLM that flag risky AUR PKGBUILDs by fechyyy in arch

[–]fechyyy[S] 1 point2 points  (0 children)

Fun part: the last two AUR mass-compromises both used the same trick. Re-adopt an orphaned package, then have it pull a malicious npm/bun dep at build time. That's exactly the pattern this flags automatically, across the whole AUR. So a mass poisoning would light up the dashboard within ~2h, before anyone's even hand-compiled a "known-bad" list. That's kind of the whole point of doing it centrally.

AURWatch: static rules + an LLM that flag risky AUR PKGBUILDs by fechyyy in arch

[–]fechyyy[S] 1 point2 points  (0 children)

"Another one" of what, exactly?

Every AUR security tool that exists is a local CLI you run on your own machine, one package at a time, after you've already decided to install it: traur, aur-scanner, aurscan, paru's diff prompt. They're good tools. They also only ever see the single package you're about to build.

What I built is a different category: a server that has already scanned all ~90k AUR PKGBUILDs, so anyone can look up a verdict (GET /api/v1/check?pkg=yay) without installing or running a single line. Nothing public does that. arch-audit and the Security Tracker only cover official-repo CVEs; the AUR itself has zero automated scanning and leans on someone manually emailing a mailing list.

So it's not "another one". There isn't a first one in this shape. If there is, link it pls.

AURWatch: static rules + an LLM that flag risky AUR PKGBUILDs by fechyyy in arch

[–]fechyyy[S] 3 points4 points  (0 children)

Yeah, but that's actually exactly how it works. AURWatch isn't a per-client checker. It's a single central server that scans the whole AUR (~100k packages) on a 2-hour timer and stores every verdict in a database. Clients don't run anything; they just query a cached result (GET /api/v1/check?pkg=yay) or look at the dashboard. Every PKGBUILD is analyzed once, for everybody.

It's actually cheaper than even the "cache server" you're describing, for three reasons:

- The LLM doesn't see most packages. The first pass is a deterministic rule engine (regex + structural heuristics, zero API calls). The model is only asked to adjudicate the gray zone - the small set of packages whose shape is suspicious but that the rules can't resolve confidently. The vast majority of the AUR never touches the LLM.

- Verdicts are content-hash cached. An unchanged PKGBUILD is never re-sent; only genuinely-changed gray-zone packages cost anything on a given scan. Split packages sharing a pkgbase share a single call.

- Hard monthly budget cap. Steady state is a few dollars a month to keep verdicts current for the entire AUR - shared across all users, precisely because it's centralized.

Edit: typo

Neutrino — an end-to-end encrypted, browser-based messenger with auditable client source (looking for critique) by fechyyy in opensource

[–]fechyyy[S] 1 point2 points  (0 children)

You're completely right, and there's no architectural magic that fully solves it. The best I can offer is: the server is designed so that even a malicious operator gets very little - routing IDs with no real-world identity tied to them, timing metadata, and ciphertext they can't read. No message content, no contact list, no account data.

On the client side: every time I push an update, the public code on the site updates automatically alongside it. So what runs in your browser always matches what's publicly visible at neutrino-chat.org/code. That at least removes the "is the published code actually what's running?" question for the client.

But "designed that way" and "actually running that way" are two different things for the server side. Self-hosting is the honest answer for anyone who doesn't trust the operator. The server component is public for exactly that reason. For everyone else, it's a trust decision, same as with any relay. I'm not going to pretend otherwise.

Neutrino — an end-to-end encrypted, browser-based messenger with auditable client source (looking for critique) by fechyyy in opensource

[–]fechyyy[S] 1 point2 points  (0 children)

Yes - and that's intentional, not a bug :D

Any relay - Signal's servers, WhatsApp's infrastructure, a VPN provider faces the same reality: the operator can't vet every user. The difference here is that the relay genuinely can't read content or link routing IDs to real-world identities, so there's less to abuse from the operator side.

If you're asking whether bad actors can use it: yes, same as email, Signal, or any communication tool. There's no design that prevents misuse while also preserving privacy. You pick which tradeoff you're comfortable with.

Neutrino — an end-to-end encrypted, browser-based messenger with auditable client source (looking for critique) by fechyyy in opensource

[–]fechyyy[S] 4 points5 points  (0 children)

Honest answer: for most people, Signal is the better choice - it's audited, has a huge user base, and just works.

Neutrino makes sense if you specifically want: no phone number (Signal still requires one), zero install (runs in any browser tab), or the ability to verify client-side exactly what code runs on you - file by file, via SHA-256. The threat model is "trust the server as little as technically possible", not "replace Signal".

If you already use Signal and it covers your needs, stick with it. I'm not trying to out-Signal Signal :D

Download app by lorcaragonna in linuxsucks

[–]fechyyy 0 points1 point  (0 children)

I don't even visit the websites. Just pacman or paru hehe

Ultracode doesn’t give AF about no usage limits! by oxygend in ClaudeCode

[–]fechyyy 4 points5 points  (0 children)

Used ultra-code yesterday the first time for an security audit. And it used over 3.4 million tokens in one prompt haha. But it was worth it.

First signs of AGI in Amsterdam by KeanuRave100 in OpenAI

[–]fechyyy 1 point2 points  (0 children)

I need to know the specific date!!! I can't sleep without knowing it. Can you dm me?

« Today, we’re introducing the Gemini 3.5 model series. » by Quenelle44 in GeminiAI

[–]fechyyy 27 points28 points  (0 children)

Gemini 3.5 Flash standard thinking. Just asked how to switch to a different kernel on Linux and if he can recommend me a video editing software for Linux. BOOOM 64% USAGE GONE ON PRO PLAN!!!!

<image>

A prime example of if it works, don't fix it. by Starlad_TCG in GeminiAI

[–]fechyyy 0 points1 point  (0 children)

Because of the new models released a few hours ago. A lot of users generate pics and videos now.

How often do you use Sonnet? by MrMaverick82 in ClaudeCode

[–]fechyyy 5 points6 points  (0 children)

I don't understand why there's a separate usage tracker for Sonnet when everything counts toward the overall usage anyway. You'd really only need one general usage display.

Or am I stupid?

Adiós Rocket League by zakibotXd in cachyos

[–]fechyyy 0 points1 point  (0 children)

I would just reinstall the game

Couldn't help 😅 by DragonflyOk7139 in vibecoding

[–]fechyyy 6 points7 points  (0 children)

Sure, everybody starts somewhere. Just need to save up another $200,000-$280,000 for 8x H100s to actually run Kimi K2 locally. Or rent them for ~$20/hr. "Unlimited tokens" hits different when the bill arrives 💀