Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. AI-generated posters don’t have to be horrible(john.hartnup.uk ↗)
    94comments
  2. Human brain is two separate organs, Stanford Medicine-led research finds(stanford.edu ↗)
    106comments
  3. If math is more than proof, we need to better celebrate the rest of it(terrytao.wordpress.com ↗)
    82comments
  4. GPT-6 Astra Solves a WWI German Radio Cipher(prinzai.com ↗)
    62comments
  5. Android 17 is the first since 3.x to add new APIs without releasing to the AOSP(grapheneos.social ↗)
    433comments
  6. San Francisco Onion Futures Company(onionfutures.com ↗)
    72comments
  7. “The Secret Life of Circuits” is here(coredump.cx ↗)
    17comments
  8. Apple M6 Pro Achieves the Highest Single-Core CPU Score in Geekbench 7(geekbench.com ↗)
    49comments
  9. Cloudflare Quick Tunnels(cloudflare.com ↗)
    285comments
  10. SDCC – Small Device C Compiler(sourceforge.net ↗)
    18comments
  11. How to Write with an LLM(sockpuppet.org ↗)
    337comments
  12. Science Is Open Software(jepedersen.dk ↗)
    39comments
  13. Saving another 100TB of RAM(cloudflare.com ↗)
    81comments
  14. You can run Git on object storage if you re-make packfiles(tigrisdata.com ↗)
    15comments
  15. Why building a Rust LSP is hard(rust-glancer.github.io ↗)
    32comments
  16. How OpenAI Used Its Own LLMs to Design Its Jalapeño Chip(ieee.org ↗)
    92comments
  17. Ctenophores: Wonders of Biology(quantamagazine.org ↗)
    6comments
  18. NASA-IBM Lunar Foundation open-Source Geospatial AI Model(usra.edu ↗)
    2comments
  19. The first new cat species discovered in 100 years(nationalgeographic.com ↗)
    106comments
  20. OpenJev(openjev.com ↗)
    267comments
  21. Communication by means of modulated Johnson noise(pnas.org ↗)
    1comments
  22. Goroutine Leak Profiles(go.dev ↗)
    4comments
  23. Show HN: Cactus Needle 3: 8-29MB automation models can match DeepSeek V4 Flash(cactuscompute.com ↗)
    89comments
  24. Photon-Emission-Guided Laser Fault Injection Enables RP2350 Secure Debug(ledger.com ↗)
    72comments
  25. Typesafe-computer-use drives a Mac toward a goal for 1/50th of a cent per step(github.com/awlevin ↗)
    54comments
  26. Veronese's Dogs(publicdomainreview.org ↗)
    1comments
  27. Cache-to-Cache: Direct Semantic Communication Between LLMs (2025)(arxiv.org ↗)
    13comments
  28. Warez: The Infrastructure and Aesthetics of Piracy (2021)(archive.org ↗)
    71comments
  29. Inside ZCode: Silently uploading your Git history to the cloud(ferstar.org ↗)
    100comments
  30. Cyclomatic Complexity in C#(ndepend.com ↗)
    24comments

Show HN: Generating Collisions on NeuralHash

22 pointsby 5y agogist.github.com
6 comments
5y agoHN ↗

This is a proof of concept on generating collisions on a perceptual hash similar to the one Apple recently decided to use to scan your devices for CSAM. (https://www.apple.com/child-safety/pdf/CSAM_Detection_Techni...)

Perceptual hashes are not cryptographically secure, so no matter how much crypto you add on top of them, they are one weak point of attack of the whole system.

To create a collision you search for an input image which minimize the distance between the hash and the target hash. Because neural network are continuous you can use a gradient method.

I don't have the architecture nor the weights of the actual neural hash they use so this is only a POC in the general case.

What does this mean : An attacker can easily produce natural images that have a specified perceptual Hash. An attacker can generate a meme image which looks normal but has a hash which is inside the CSAM database. (he can easily get one of these bad hash values by computing the neural hash of a known offensive image) Then he send you a mail, then you save the image to your cloud because you find it funny (or because your phone automatically back-up your mail to your cloud) , and a collision is registered and you get arrested (when the manual review fails, for example if the attacker has steganographically hidden offensive content in those images).

5y agoHN ↗

I don't have the architecture nor the weights of the actual neural hash they use so this is only a POC in the general case.

Then why is this titled "Generating Collisions on NeuralHash" and why are you making claims about the how easy it is to fool NeuralHash based on it?

5y agoHN ↗

It's a shorter version of "Generating Collisions on a Neural Perceptual Hash like Apple's NeuralHash" optimized for click-baitingness ;), but the spirit of the attack is there.

It's a pretty standard attack based on the fact they use a neural network, therefore the function is continuous(ly differentiable) and vulnerable to (gradient-)optimisation based attack. Neural networks are famous for being susceptible to adversarial attacks.

I don't own an IPhone, so that's as far as I can go. (If you have one, jailbreak it, locate and copy the weights).

Unless they have additional security on their version of the NeuralHash they don't speak about in their technical documentation, they have the same weakness that this standard generic neural network perceptual hash has.

The neural-network is considered public as it's run on device without homomorphic-encryption. They also can't change it very often because every-time they would need to recompute the hashes of the database of sensitive material they don't own (every-time leaking more information on the raw sensitive material).

5y agoHN ↗

In the manual review failure case, you're saying that the reviewer would decrypt the steganographical encryption, discover the hidden offensive content, and thereby decide that it's a true positive?

And related to that, I wonder how steganographically hidden offensive content would affect a perceptual hash. Would it help or would it hurt the similarity measure if an attacker were trying to generate a benign-looking collision in the manner described.

5y agoHN ↗

My guess is that adding steganographically hidden content is almost free for the attacker as perceptual hash is resistant to small variation.

There is a free parameter called gap in my code which help make sure that you can modify the image a little bit and still get the same hash.

So probably the attacker can use the least significant bit of each pixel as a hidden channel. Take 8 pictures and you can hide any grey image ((or hide them in the same one if the original image is of high resolution (perceptual hash is almost like acting on thumbnails) ).

The human eye won't be able to see anything special in the picture, but a forensic software will definitely notice that something's off in the least significant bits of your pictures and light some red flag. Then once the reviewer figure the steganographical scheme, he will decode the hidden picture, and after having a ha-ah moment he will be convinced 100% that this is offensive content and that it should be reported.

5y agoHN ↗

What you're highlighting is the lack of avalanche effect with perceptual hashes (on purpose). This makes them great for identifying transformed content (e.g. local TV channels via a cable box, ads on channels with slid in lower third tickets, etc) but horrible as an evidentiary basis.

That said, there's no need to clickbait here. Perceptual hashes are going to be a hot topic for a while here.