News for hackers. Stuff that matters.

theamk

that works too

For personal services, even something as simple as HTTP basic auth on the webserver dramatically reduces the attack surface by blocking all probers and drive-by attacks.

I see no inherent problem with that, since it's a very good idea to run agent inside container/VM anyway. And if the only things agent can access is the docker container and /project directory? It can go wild inside.

The variable alone, however, is kinda suspicious - I'd do both variable and command-line flag, just for extra assurance.

(another idea might be to enforce docker, but I know some people run agents in VMs, so this won't work)

Those "teen riders" were shooting toy guns at the passer-by.

As someone who walks on the streets / uses public transport, Waymo was 100% in the right there. Wish all taxi services were like that.

Re:Why is it so expensive to send an email? on Monday October 26, 2026 @01:11PM (#50247271)
Because of extra services. Unlike emails, which usually come with no guarantees or support, the money-sending services are protected. Even with something like EFT, consumers have 60 days in case of actual fraud or bank mistakes, and with credit cards, you are also protected from things like product non-delivery.

Those protections exist and cost money - both to pay for customer support handing those, as well as to reimburse customer when the original money cannot be found anymore.

(And related, this is one of the big problems with cryptocurrencies: most people are not happy to know that one typo / software bug means their money is lost forever. Those protections on regular baking are there for a reason.)

Re:There isn't an easy exploit for this PHP vulnerability on Thursday October 22, 2026 @05:11PM (#50201102)
The language makes all the difference because defaults matter. As someone said once, you can write C in any language. You can even do a heartbleed in python - just create one big buffer, do your own allocator, and pass (buffer, index) everywhere instead of proper object.

But would anyone do this? No. If you are writing pool-based packet processor in Python, you'd deal in buffers (safe from overread), in C# you'd return Span/Memory (safe from overread) and only in C you'd return overread-prone raw pointer.

Not that you can blame programmers in this case - C simply lacks the facilities for safe memory access, such as bounded pointers or spans. And you can't really blame it on custom allocator - malloc() would have had the same problem.

Re:There isn't an easy exploit for this PHP vulnerability on Thursday October 22, 2026 @10:40AM (#50196067)
No, they used a language where the preferred way to share memory is raw pointers. That is the problem.

Every language has a preferred way to deal with things. In C, it's raw pointers, which are very error prone. Other languages have something better. For example, if you were to implement custom allocator in C#, would you return raw pointer? Or maybe base array + offset pair? Of course not, you'd choose a Span or Memory, and those are not prone to buffer overruns.

> In my opinion, if you used Wikipedia, you should cite it [...] It's a really huge problem that people pull ideas from Wikipedia, attribute them to something like "paper 4"..

Your solution for using unreliable Wikipedia is to cite it. My solution (and the way I was taught) is to simply _never use it_ for stuff which goes into the paper.

If I wanted to claim something ("widgets are quux"), I might certainly _start_ with Wikipedia, just to make sure that my understanding is correct and that I am not wasting my time, but if I want to use this in the paper, I will need to move to primary sources, read them and ensure that there is a good evidence that widgets are indeed quux.

So now that I spent all that time reading primary sources, I'd certainly cite them and not Wikipedia - after all, primary sources are better, and a single citation is enough. And in the case the Wikipedia author was wrong, I will avoid a mistake.

By extension, if I am citing Wikipedia, this means I have not found/read any better sources, and that just shows that I am lazy or maybe those widgets are not quux at all. Any advisor/reviewer would immediately point to this mistake - "Why are you citing Wikipedia here? Find a better source or remove the claim"

And that's how the rule is made - it's not "Don't cite Wikipedia [put ideas unattributed instead]", it is actually "Don't cite Wikipedia [find a better source and cit it instead]".

(Although I agree that some lazy people do former rather than latter)

Re:There isn't an easy exploit for this PHP vulnerability on Wednesday October 21, 2026 @08:53PM (#50189716)
I think Heartbleed is close enough to memory safety to count. It was caused by memory allocator returning uninitialized memory and every memory safe language I know about does not allow this in best-practice code.

(And sure, there are escape hatches - like Python has "recv_into" that could be used to implement heartbleed if you are really inclined to - but this would not be a realistic python program. In python, even with buffer reuse, you'd be using memoryview or similar that can't have a heartbleed problem)

Isn't this directly against WP:NOR, specifically WP:TERTIARY? Every fact must be supported by reliable first-party source, and the idea's provenance is that source.

In the research, there are often long paths that lead to the ideas: lunch room conversation -> paper 1 -> web search on term seen -> paper 2 -> web search on another term seen -> wikipedia page -> another wikipedia page -> original source (paper 3) -> paper 3's citation list -> paper 4 -> fact for your own paper

We always cite only the very last item in the chain, paper 4. I'd might cite other papers I've seen, but only if they are relevant. I was taught that the tertiary sources, like encyclopedias, are never to be cited, unless they have original facts which cannot be traced to other sources.

Re:How I got over 300 Tor exit nodes removed on Tuesday October 20, 2026 @11:43PM (#50175833)
Are there restrictive firewalls which block unknown HTTP/HTTPS but not Tor? I'd expect Tor to be blocked first.

(And then proxying via your home is much faster and safer. You can do websocket-based proxy, but even exposing ssh server on port 443 works in a lot of places!)

Re:How I got over 300 Tor exit nodes removed on Tuesday October 20, 2026 @11:37PM (#50175786)
Can they? I believe SSH key bind the public key auth to the server identity, so this kind of MITM is impossible.

(Just don't turn on ForwardAgent)

Re:How I got over 300 Tor exit nodes removed on Tuesday October 20, 2026 @11:36PM (#50175774)

    2>/dev/null && echo nopass || echo maybe) || echo none)"
Writing a longer command to get less details and shorter output - this is so LLM!

A human would simply run the two commands in sequence and parse errors on the remote side - this would have gave more information about unexpected errors.

Re:Obnam Community on Saturday October 17, 2026 @09:09PM (#50136841)
huh, have not realized Obnam is still alive.

I remember Obnam being retired in 2017[0]. I was evaluating backup systems back then, and went to borg (and later to restic). But turns out, it came back 2020. I like the motivation [1]:

> Borg and Restic are both fine backup programs. I've been using Borg for a while. The point here for me is that I find implementing backup systems to be a fascinating hobby. Thus, I want to write my own. The act of developing being the point more than having something I can use myself. Everyone else should use something battle-tested, unless they want to help me build something they'd like to use themselves.

[0] https://blog.liw.fi/posts/2017/08/13/retiring_obnam/

[1] https://blog.liw.fi/posts/2020/11/10/why_write_obnam/

Re:Crypto thieves sell hardware wallets with secret eSIM on Tuesday October 13, 2026 @10:48AM (#50072618)
This is May version. If you look at the twitter thread, the October version is different and looks much more "stock"
Re:Crypto thieves sell hardware wallets with secret eSIM on Tuesday October 13, 2026 @10:48AM (#50072612)
No, this is May version. If you look at the twitter thread, the October version is different and looks much more "stock"

(sadly I have not found nice website with newer version photos yet)

Re:Has the Autonomous Trucking Revolution Arrived? on Saturday October 10, 2026 @12:01AM (#50029435)
Level 5 means "people inside are purely passengers and never have to take steering wheel". For humans, being level 4 means that because of some road condition, driver gets out of the car and asks someone else to drive - either one of the passengers, or some sort of emergency 3rd party service.

I never did this myself (except while learning how to drive). And I don't think I've heard about my friends doing this either. Turn around because the road was impassable? Sure. Pass the wheel to someone else? nope.

That means a lot (most?) human drivers are "level 5 autonomous".

Re:We Can Harden C on Friday October 09, 2026 @10:35PM (#50028968)
There is a lot of general handwaving, but for the practical advice, author only focus on single thing: out-of-bounds array accesses. And their solution is __attribute__((counted_by(...))) + to-be-written compiler extension which would statically check all the array dereferences.

This is amazingly naive. C has significant amount of problems, and while OOB array accesses cause a lot of bugs, there are plenty of other C parts which cause bugs too (like use-after-free and concurrency). And even if we just focus on the OOB array accesses, there are a lot of places which cannot be covered by simple counted_by()

Re:Smart contracts: Ship the parachute in v1 on Friday October 09, 2026 @10:26PM (#50028925)
This says every smart contract should have a backdoor (they use nice words like "owner" and "upgrade", but that's functionally the backdoor)

Wasn't the whole point of smart contracts that the "code is law", that people can audit the code they put their money into, and no one can change it?

If you are going to put the backdoors in, might as well do the regular finance. Much cheaper, no gas fee, more functionality and so on.

Original discussion, for the curious: [0]

Something of the note: despite the scary name, this is a "parsing mismatch" vulnerability. The discovery what was that one could make a tar file which would safe in the "tar" tool, but when extracted by an affected rust crate, it would find more files, possibly malicious. By itself, it's fine - if you are extracting untrusted tar files without the filter, you are going to have a bad time, vulnerability or not. The vulnerability would only occur if you have a combination of files: like a security scanner which uses one library, followed by the real app which uses a different library. Then the bad code could escape security scanner's attention.

[0] https://news.ycombinator.com/item?id=45665513

Re:Engineer says Claude Code has made his job "soul-sucking" on Monday October 05, 2026 @09:37PM (#49973099)
"ambiguous parts can simply be left to human judgment." - it does not work like that. If a human does not know how the code works, they cannot apply their judgement. And they don't know how the code works if they just press enter all day.
Re:Teaching Kids to Be Tall on Monday October 05, 2026 @01:16PM (#49967638)
You can't make someone taller, but you can certainly make them shorter. Diseases or lack of the nutrition can destroy kids' height potential.

So the role of school is to make sure that the kids have everything they need to reach their potential.

Re:The future of independence is interdependence on Monday October 05, 2026 @01:02PM (#49967452)
A lot of things have no total ordering, independence level including. If a person A can unclog the sink and person B can trim the hedges, they are not comparable to each other; however both of them are less independent that person C who can do both.

This ordering requires defining the scope, and the narrower the scope, the easier it is to compare people. If you only look at "maintain the rented city apartment" and "live in rural house" in isolation, it's pretty easy to rank people by independence. But if you say that _either_ of those counts as "independence", the things get much harder to qualify. But either way, there will be people who can't do anything, people who can do everything, and a large mass of "uncomparable" people in the middle.

Re:The bizarre world of the V Programming Language on Saturday October 03, 2026 @04:28PM (#49947480)
> If Alex had been conservative, never sharing until he was done and never risking a promise he might not keep, would you know his name?

I think you misunderstood the article - it's great to try new things, and it's not a problem to promise things you are not 100% sure about. What's important is the honesty - "I've tried, I've failed, here is what I learned". OP said the the best:

> "Failure" does not have to be a failure, and V itself does not have to be the sole product of V's development. Alex has time and time again promised to write blog articles on various aspects of V's development. Had he done that, instead of silently backpedalling on claims about V, we could have had very interesting reads reflecting on the challenges of creating a new programming language.

instead, we have disappearing claims that require internet archive to find out, denial of any problems, and blaming of every problem on "misinformation from haters".

You don't need to be corporate or in in academia for basic integrity.

Re:At Work, AI Is Mandatory. After Work, It's Forbidden on Thursday October 01, 2026 @11:13PM (#49929497)
It's under paywall, so I can't get the full story, but from the initial snippet, seems like a story of a person who tried to submit AI-coded PR to open-source project and got rejected.

To the author: project maintenance is hard work. Your PR might work for you just fine on your machine, but what about other setups? Will your code still work after the next library upgrade? If not, who will fix it? That's why the maintainers can reject any changes they want - they are ultimately on the hook for all that so they are the ones with final words.

Re:Mail Spam โ€“ Im stuck need help on Thursday October 01, 2026 @12:44PM (#49924020)
that's system working as intended.

SPAM is officially described as UCE, "Unsolicited Commercial Emails". Your emails are both unsolicited and commercial, so people rightfully block it. I know I always click "report spam" when I see an unsolicited commercial email, not just to clean my inbox ("report spam" and "delete" are right next to each other), but to make sure sender's reputation takes a hit and fewer other people get spam email.

Re:Recursive `Make` and `-J` on Wednesday September 30, 2026 @05:36PM (#49914812)
Disagree on main premise of that.

If you have sub-projects which cross-depend on each other (no total ordering), then recursive make will have a bad time. I agree.

Author thinks the best way is to stop doing recursive make. I disagree.

IMHO, the best way to solve this is to arrange your sub-projects properly, so the are no circular dependencies and thus there is one correct order. Not only your build should be a DAG on file level, it should also be a DAG on the sub-project/directory level. Then a single recursive "make" pass builds everything properly, no need for ugly tricks like running make twice, or intentionally omitting some dependencies.

(Even better option is to stop using make for such large projects - it's great for smaller ones, but for the huge ones, there are much better runners available. But I assume there is some reason to use make)

Re:Reverse-engineering a $35 backup camera display (AMT630A) on Wednesday September 30, 2026 @12:46PM (#49911304)
Neat! Can you add the pictures of your setup? Display, soldered wires, some overlays?

(sorry if they in the video - I generally don't watch the videos before reading the text first)

Re:The systems that no one will test on Tuesday September 29, 2026 @12:20PM (#49895894)
Not OP, but yeah, the data diodes need special software, you can't just proxy regular internet protocols over them. The way I've seen it, some use cases are:

- For ingress, you use special "file transfer" software. Run the receiver on secure side, run the sender on insecure side. It blasts the file "blind" - it has has no way to know if anyone ever received it. Make sure the receiver is fast enough, and the error-correcting codes are a great idea too, as they don't need feedback. It's up to user to want to secure side computer and check that the file was received without problems. Yeah, this is similar to sneakernet, but more secure, as you can't accidentally carry a virus on seemingly-empty drive.

- For status egress, you have secure side broadcast status periodically, say every minute. Insecure side receives the status, updates the database, and runs the regular web server to share the status. Again, secure side has no way to know if someone is listening on the other end, it just blasts out the messages and it's done.

And you are correct, if the secure system has both egress and ingress diodes, it is no longer isolated, and devious enough malware can establish two-way communications. But even if it won't save you from Stuxnet, the simple fact that it is no longer possible to have direct network connection to the outside raises security bar quite a bit - all the ideas about "let's just open this one port on firewall, it'll fine I swear" are completely stopped.

(Which reminds me of something in GP's (mikewaro) message: _why_ would a data diode need a promiscuous mode? Given every single data diode I have seen needs a special software on both sides, you should not need anything beoynd a basic TCP session)

Re:Mosquitoes Are a Choice on Tuesday September 29, 2026 @11:56AM (#49895506)
another misleading title. The subtitle is much clearer:

> The technology to eradicate mosquito-borne disease already exists.

One approach is eliminate one specific kind of mosquitoes, another is to change them so they don't carry diseases. Either way, we'd still get mosquito bites.

Older ยป