Skip to content
HomeVideosBooksBlogs
AllTop postsTopics
Podcasts
HistoryListsWatch laterLiked videosFollowing

The videos, books, blogs and podcasts Hacker News keeps recommending, all in one place.

VideosBooksBlogsPodcastsAboutPrivacySettings

Data from Hacker News, HackerTube, HackerBooks, HackerBlogs and Open Library. Credits · Not affiliated with Y Combinator.

HomeVideosBooksBlogsPodcasts
Ctrl K

    Tony Arcieri

    tonyarcieri.com · Personal blog · on HN since 2012

    Tony Arcieri is a security and cryptography engineer who writes about Rust, memory safety, password managers, blockchains, and Tether.

    Visit blogHN submissions
    SecurityCryptoLanguages & Compilers
    What HN says

    HN commenters cite his posts as authoritative on deterministic password managers, in-browser crypto, Tether, and Rust and Heartbleed, and call the Tether piece a great article.

    Stats for nerds
    72HN people shared it
    44linked in comments
    2.1Kstory points
    Sep 2023last shared
    2012people per year2023

    Top posts on HN

    1. 1
      Would Rust have prevented Heartbleed? Another look
      9 people · 257 points · first shared 2015 · 186 comments on HN
    2. 2
      On the dangers of a blockchain monoculture
      6 people · 199 points · first shared 2016 · 63 comments on HN
    3. 3
      Flaws in deterministic password managers
      17 people · 197 points · first shared 2016 · 102 comments on HN
    4. 4
      A tale of two cryptocurrencies: Ethereum and Bitcoin’s ongoing challenges
      2 people · 144 points · first shared 2016 · 73 comments on HN
    5. 5
      Introducing TJSON, a stricter, typed form of JSON
      1 person · 140 points · first shared 2016 · 129 comments on HN
    6. 6
      Factual Inaccuracies of “Facebook Libra Is Architecturally Unsound”
      2 people · 138 points · first shared 2019 · 36 comments on HN
    7. 7
      All the crypto code you've ever written is probably broken
      8 people · 127 points · first shared 2012 · 128 comments on HN
    8. 8
      It’s time for a memory safety intervention
      3 people · 104 points · first shared 2017 · 92 comments on HN
    9. 9
      2012: The year Rubyists learned to stop worrying and love threads
      2 people · 99 points · first shared 2012 · 26 comments on HN
    10. 10
      Miscreant: a multi-language misuse resistant encryption library
      1 person · 97 points · first shared 2017 · 29 comments on HN

    What HN people wrote when they linked it

    • yellowappleApr 2015

      In the case of LibreSSL, it's probably not going to happen very soon; the OpenBSD devs are very much C programmers (and Ted Unangst already addressed this in the case of Heartbleed, though his methodology is the subject of some contention: http://www.tedunangst.com/flak/post/heartbleed-in-rust ).

      While Ted's post has been criticized by a few Rust programmers (see: http://tonyarcieri.com/would-rust-have-prevented-heartbleed-another-look ), it still brings up the argument that one's language choice isn't a magic bullet. There's an adage (I have no idea who originated it) that's along the lines of "every 'idiot-proof' system underestimates an idiot's ability to break things", and that's worth considering here. Rust prevents a lot of bugs, but it's not a guarantee of security. One needs to understand the actual problem that needs solved, and this is where the OpenBSD devs are focusing with LibreSSL (and their various other projects); their security track record stands as a good testament of that notion of understanding trumping language choice.

      This isn't to say that I disagree with you. Rust is readily poised to replace C in a lot of contexts (IIRC, one of the obstacles right now is the use of a different allocator, so trying to use a Rust library from C results in some performance overhead), and it would be nice to see it used in a lot more projects. Just bear in mind that moving to Rust isn't the only step that would be required to fix these sorts of security bugs.

    • bigmacApr 2017

      For those interested in security in particular, we've outlined the opinions and design decisions here: https://github.com/linuxkit/linuxkit/blob/master/docs/security.md

      In short:

      Kernel Security Incubator - We want to push linux kernel security as much as possible. In service of that, we want linuxkit to be a place where leading-edge linux kernel security patches can land and incubate. Feature examples are Landlock, Wiregurd, okernel, etc. We'll also incubate KSPP and container hardening improvements, like hardening the kernel eBPF JIT and namespacing the IMA subsystem.

      Modern and Securely Configured Kernels - Latest kernel, following all KSPP recommendations.

      Minimal Base - No extra dependences, just what's needed to run containerd. Absolutely no package manager.

      Type Safe, Containerized System Daemons - many linux privescs happen due to escalations using root system daemons. These daemons should be written in typesafe language like OCaml and Rust. We have an Ocaml dchpcd and look to invite more. If you're convinced by https://tonyarcieri.com/it-s-time-for-a-memory-safety-intervention?utm_content=bufferfe480&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer, linuxkit is a place to contribute to the solution.

      Built With Hardened Toolchains and Containers - uses notary signing for all dependencies and intermediate builds, uses musl libc for hardened libc implementation + hardened compiler options for building system packages.

      Immutable Infrastructure -…

    • dngrayApr 2022

      The problem with lists like this is they really are just a "here's 100 open source products", without any criteria or individual evaluation. It is often just parrots repeating what other parrots say.

      Something which is clearly alpha-state isn't usable to regular users shouldn't have a "recommendation". Then you get sub optimal recommendations, listing some projects which are unmaintained etc.

      With the cleanup at https://privacyguides.org, (since we split from PTIO) we've removed a lot of things, and gone down the part of actually providing guidance rather than "use this software to make you magically more private".

      I think it's important to think privately, modify behavior rather than rely on technology to do it all for you.

      Looking at this particular list there are some bad choices:

      - LessPass: We explicitly removed deterministic password managers https://github.com/privacyguides/privacyguides.org/pull/323, https://tonyarcieri.com/4-fatal-flaws-in-deterministic-password-managers

      - AndOTP: Uses PBKDF2 and a heap of rounds that is unbelievably slow when you have a number of OTPs. Aegis uses Argon, which doesn't have this problem, and we think it's code is developed by someone who is security conscientious.

      - Qwant: https://github.com/privacyguides/privacyguides.org/pull/342#issue-1057922379, we removed due to "due to bad privacy policies data is collected and shared with third parties"

      - Silence: Unmaintained, uses SS7 network, should never be recommended.

      -…

    • upperechelonNov 2014

      4) So they can redirect all users to a non-HTTPS site. That's interesting.

      What youre saying is ridiculous, it's nothing to do with "completely" trustless, you're not trustworthy at all. The "we promise we wont serve malicious code" is the same securi

      Basically your users have to trust:
      -You
      -Your staff
      -Cloudflare
      -Google
      -Any computer used to design, build or login to your web app
      -Anyone with access to any of these computers
      -Every single CA in existence (including the US and Chinese government)
      -Anyone with resources to spoof a CA SHA-1 signature (anyone with ~$700,000 [0])
      -The authors of the JS OTR library and any other code you use

      Do you see the problem here? There are literally millions of people in your trust chain.

      Libpurple sucks, but browsers are the #1 target for exploit writers, not to mention the HUGE attack surface they pose. There are just so many angles of attack for your service. Anything hosted on a shared server is not secure. The word cloud and security should not be in the same sentence. No offense, but you guys really do not seem like cryptography experts and there are so many pitfalls here that I would not recommend trying to promote this until you completely re-design everything.

      As far as WebCrypto.. I'm just going to leave this here:
      http://tonyarcieri.com/whats-wrong-with-webcrypto
      http://matasano.com/articles/javascript-cryptography/

      [0] https://www.schneier.com/blog/archives/2012/10/when_will_we_se.html

    • CiPHPerCoderFeb 2018

      > I don't really have the technical knowledge to evaluate it myself, and I suspect 99% of the people in HN are in the same position. Therefore, if I were to say "Signal's security is excellent" I would be falling for the cult of Moxie myself, not an informed opinion.

      Sure, but that's not what's happening when people whose day-to-day involve applied cryptography and/or application security are commenting on MTProto and Telegram.

      Here's a good read on why Telegram's "contest", which is a challenge meant to create the illusion of resilience, is totally bogus in the context of real-world cryptography: http://www.cryptofails.com/post/70546720222/telegrams-cryptanalysis-contest

      The things that the Signal Protocol does well:

      1. It maximizes forward secrecy,

      2. while working for mobile devices that may be offline or unreachable,

      3. and uses authenticated encryption.

      https://tonyarcieri.com/all-the-crypto-code-youve-ever-written-is-probably-broken

      https://paragonie.com/blog/2015/05/using-encryption-and-authentication-correctly

      Disclaimer: The last link (the paragonie.com one) was my writing on the subject.

    • natural219Dec 2017

      I recommend considering a non-cryptocurrency startup that's doing similar work in decentralization and creating new protocols for internet architecture. See a short list here: https://decentralize.tech/

      Blockchains get 80% of the conversation right -- we need fat protocols, new architectures, and new ways of doing things than traditional VC-controlled walled garden apps. But once the current Bitcoin bubble pops, I think that "blockchains" are going to sound extremely non-reputable to a lot of people and you'll likely regret the time you've put into it.

      If you're serious about core Blockchain-type engineering, I recommend looking at a couple of the projects outlined in this post: https://tonyarcieri.com/on-the-dangers-of-a-blockchain-monoculture

    Related

    Latacoralatacora.micro.blog112 people

    Stop Using Encrypted Email

    Latacora
    Company · last shared 2024
    Trail of Bits Blogblog.trailofbits.com278 people

    RSA is a fragile cryptosystem

    Trail of Bits Blog
    Company · last shared 2026
    Unlimited Noveltyunlimitednovelty.com42 people

    Node.js has jumped the shark

    Unlimited Novelty
    Personal · last shared 2023
    Tim Tauberttimtaubert.de22 people

    More Privacy, Less Latency – Improved Handshakes in TLS v1.3

    Tim Taubert
    Personal · last shared 2019
    Adam Caudilladamcaudill.com29 people

    Bitcoin is a Cult

    Adam Caudill
    Personal · last shared 2026
    Unhandled Expressionunhandledexpression.com41 people

    Why you should, actually, rewrite some of it in Rust

    Unhandled Expression
    Personal · last shared 2026
    IOActive Blogblog.ioactive.com65 people

    Reverse Engineer’s Perspective on the Boeing 787 ‘51 days’ Directive

    IOActive Blog
    Company · last shared 2025
    Thomas Ptaceksockpuppet.org155 people

    I Went to SQL Injection Court

    Thomas Ptacek
    Personal · last shared 2026