Live data from Hacker News

When random.bytes() runs but doesn't work

insider.btcpp.dev

31–40 of 63 posts

Re: When random.bytes() runs but doesn't work

#31

> You, as a developer working on Bitcoin, need to take your time to understand your changes, document them clearly, and verify they do what you think. Or, you could realize that using a financial technology which relies on no software bugs ever is probably flawed at its core. "Not your keys, not your coins" was (is?) the zeitgeist but even people who did the "right thing" and used a cold wallet still got screwed. I d…

I take it you get your paycheck in cash?

Re: When random.bytes() runs but doesn't work

#33

This post assumed that the author of the "runs" commit was not acting maliciously. Has that been established? It's not mentioned in this article.

Ironic:

> NEW POLICY If I don't know you, I don't merge you! Thanks XZ!

https://github.com/switck/libngu

Re: When random.bytes() runs but doesn't work

#34
post #31

> You, as a developer working on Bitcoin, need to take your time to understand your changes, document them clearly, and verify they do what you think. Or, you could realize that using a financial technology which relies on no software bugs ever is probably flawed at its core. "Not your keys, not your coins" was (is?) the zeitgeist but even people who did the "right thing" and used a cold wallet still got screwed. I d…

I take it you get your paycheck in cash?

Banking-related errors have recourse

Re: When random.bytes() runs but doesn't work

#35
post #31

> You, as a developer working on Bitcoin, need to take your time to understand your changes, document them clearly, and verify they do what you think. Or, you could realize that using a financial technology which relies on no software bugs ever is probably flawed at its core. "Not your keys, not your coins" was (is?) the zeitgeist but even people who did the "right thing" and used a cold wallet still got screwed. I d…

I take it you get your paycheck in cash?

No, via direct deposit. I had a co-worker once who miskeyed his routing+account numbers and guess what? He still got his money a few days later and it wasn't lost to the void.

There is no blockchain, seed phrases, nor cold wallets required for this amazing feat of money transfer/remediation to take place.

Re: When random.bytes() runs but doesn't work

#36

From the Twitter advisory on the issue being referenced here [1]: >>> To every other developer: we believe this is a sober reality of the new AI paradigm. AI-assisted code review can now find latent bugs at a speed that is outpacing even the industry’s most seasoned experts. If your firmware is open-source or has ever been public, assume it's already being read by attackers and defenders alike. Kinda turns the “many…

If your source is not open that's barely a speedbump, given a binary. At least that's my impression of the current state.

Re: When random.bytes() runs but doesn't work

#37
post #31

Earlier quoted context omitted.

I take it you get your paycheck in cash?

No, via direct deposit. I had a co-worker once who miskeyed his routing+account numbers and guess what? He still got his money a few days later and it wasn't lost to the void. There is no blockchain, seed phrases, nor cold wallets required for this amazing feat of money transfer/remediation to take place.

Great! Maybe the government should stop over regulating the banking system so the same protection will also be available to someone who buys drugs.

Re: When random.bytes() runs but doesn't work

#38
post #4

This post assumed that the author of the "runs" commit was not acting maliciously. Has that been established? It's not mentioned in this article.

Also: writing this stuff in C just begs for bugs. LLM agents are cheap and good enough that you can write in eg Lean or whatever. Or at least write it in Rust.

C isn't the problem here. one might argue that the combination of micro python and C and the person writing it having no understanding of how either one works is the problem.

Also running python on a microcontroller to do cryptography is fucking insane.

Re: When random.bytes() runs but doesn't work

#39
post #30
post #9

This writeup isn't very good and misses/misunderstands the programming error that leads to the flaw. I'm commenting because I think it's important to understand the issue. The article would have you think that the change in question was a tiny change to a flag to make it compile, but in reality the commit in question is a 1533 line addition of the entire RNG infrastructure. The fundamental cause is a mixup between a…

At no point did I ever think that setting "enable HW RNG" to 0 "provided a more aggressive handling of fault/error conditions". I always assumed it disabled the HW RNG.

[deleted]

Re: When random.bytes() runs but doesn't work

#40
post #30
post #9

This writeup isn't very good and misses/misunderstands the programming error that leads to the flaw. I'm commenting because I think it's important to understand the issue. The article would have you think that the change in question was a tiny change to a flag to make it compile, but in reality the commit in question is a 1533 line addition of the entire RNG infrastructure. The fundamental cause is a mixup between a…

At no point did I ever think that setting "enable HW RNG" to 0 "provided a more aggressive handling of fault/error conditions". I always assumed it disabled the HW RNG.

https://github.com/switck/libngu/blob/537519a829259622ea6b03...

vs

https://github.com/Coldcard/micropython/blob/4107246f8a08080...

Post reply on HN