frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

Reverse engineering Gemini's SynthID detection

https://github.com/aloshdenny/reverse-SynthID
70•_tk_•2h ago

Comments

andrewmcwatters•1h ago
> We're actively collecting pure black and pure white images generated by Nano Banana Pro to improve multi-resolution watermark extraction.

Oh hey, neat. I mentioned this specific method of extracting SynthID a while back.[1]

Glad to see someone take it up.

[1]: https://news.ycombinator.com/item?id=47169146#47169767

raphman•1h ago
FWIW, I had Nano Banana create pure white/black images in February, and there was no recognizable watermark in them (all pixels really were #ffffff / #000000 IIRC).

Meta: your comment was marked [dead], like a few other constructive comments I saw in recent days. Not sure why.

andrewmcwatters•44m ago
I suspect they strip the SynthID for these specific cases to prevent exfiltration of the steganography.

I appreciate you pointing it out, but this account is banned. Thank you for vouching though!

refulgentis•1h ago
It says not to use these tools to misrepresent AI-generated content as human-created. But the project is a watermark removal tool with a pip-installable CLI and strength settings named "aggressive" and "maximum." Calling this research while shipping turnkey watermark stripping is trying to have it both ways in a way that's uncomfortable to read.

The README itself reads like unedited AI output with several layers of history baked in.

- V1 and V2 appear in tables and diagrams but are never explained. V3 gets a pipeline diagram that hand-waves its fallback path.

- The same information is restated three times across Overview, Architecture, and Technical Deep Dive. ~1600 words padded to feel like a paper without the rigor.

- Five badges, 4 made up, for a project with 88 test images, no CI, and no test suite. "Detection Rate: 90%" has no methodology behind it. "License: Research" links nowhere and isn't a license.

- No before/after images, anywhere, for a project whose core claim is imperceptible modification.

- Code examples use two different import styles. One will throw an ImportError.

- No versioning. If Google changes SynthID tomorrow, nothing tells you the codebook is stale.

The underlying observations about resolution-dependent carriers and cross-image phase consistency are interesting. The packaging undermines them.

jonshariat•1h ago
Agreed. This isn't punk this just helps the bad guys. Society needs to know what content is AI generated and what is not.
SR2Z•1h ago
If that's the case, society will inevitably be disappointed.

There are already ten million AI image generators, the overwhelming majority of which do not watermark their outputs. Google auto-inserting them is nice, but ultimately this kind of tool to remove them will inevitably be widespread.

recursive•40m ago
This was never going to be a reliable way to do it. It's basically the evil bit . It only works for as long as everyone is making a good-faith effort to follow the convention. But the bad guys do not do that.
charcircuit•32m ago
It really doesn't need such capability. Nor does it need the capability to know what human generated it either.
kelsey98765431•1h ago
if you downscale then upscale it removes the watermark
armanj•1h ago
kinda ironic you can clearly see signs of Claude, as it shows misaligning table walls in the readme doc
rafram•1h ago
Parenthesized, comma-separated lists with no “and” is an even stronger tell. Claude loves those.
TacticalCoder•23m ago
> kinda ironic you can clearly see signs of Claude, as it shows misaligning table walls in the readme doc

This one is such a gigantic clusterfuck... They're mimicking ASCII tables using Unicode chars of varying length and, at times, there's also an off-by-one error. But the model (not Claude, but the model underneath it) is capable of generating ASCII tables.

P.S: I saw the future... The year is 2037 and we've got Unicode tables still not properly aligned.

dgellow•12m ago
I mean, just reading the readme content it is pretty obvious it is Claude
khernandezrt•1h ago
Ok i get that eventually someone was gonna do this but why would we want to purposely remove one of the only ways of detecting if an image is ai generated or not...?
lokar•56m ago
It was always going to be available to some people, but not everyone would know or believe that. Now they will.
raincole•55m ago
Uh... you can do this pretty easily since day 1. Just use Stable Diffusion with a low denoising strength. This repo presents an even less destructive way[0], but it has always been very easy to hide that an image is generated by Nano Banana.

[0]: if it does what it claims to do. I didn't verify. Given how much AI writing in the README my hunch is that this doesn't work better than simple denoising.

M4v3R•58m ago
SynthID is visible in some generations (areas with a lot of edges, or text), I wonder if this would make them look better.
sodacanner•29m ago
I don't understand all the handwringing. If it's this easy to remove SynthID from an AI-generated image then it wasn't a good solution in the first place.
rustyhancock•27m ago
Yes. This kind of project needs aggressive red teaming, it leads to better products and we need excellent products in this space.

This project proves what red teaming was in place wasn't good enough.

raincole•27m ago
There is no solution. I don't know why people discuss this subject as if there is a technical solution. As if there are fairies or souls hidden in the pixels that help us tell what is AI generated and what is not.
sodacanner•22m ago
Sure, and things like this help drive home that SynthID wasn't a solution at all.
DonsDiscountGas•16m ago
If you want to make an AI generated image but don't want other people to know that it's AI, the most obvious solution is to not use Gemini. Synth ID is watermarking. It's only ever going to be useful to good actors, who want an AI generated image and aren't trying to hide the fact that it's AI generated.
levocardia•3m ago
Sure there is a solution, you are just looking at it the wrong way. Make non-AI images provably unaltered with signed keys from the device (e.g. the camera) that took it.
doctorpangloss•11m ago
Okay... this tests its own ability to remove the watermark against its own detector. It doesn't test against Gemini's SynthID app. So it does nothing...
Tiberium•7m ago
Seems like a very low-quality AI-assisted research repo, and it doesn't even properly test against Google's own SynthID detector. It's not hard at all (with some LLM assistance, for example) to reverse-engineer network requests to be able to do SynthID detection without a browser instance or Gemini access, and then you'd have a ground truth.

Native Instant Space Switching on macOS

https://arhan.sh/blog/native-instant-space-switching-on-macos/
180•PaulHoule•2h ago•85 comments

Charcuterie – Visual similarity Unicode explorer

https://charcuterie.elastiq.ch/
48•rickcarlino•2h ago•3 comments

Reverse engineering Gemini's SynthID detection

https://github.com/aloshdenny/reverse-SynthID
71•_tk_•2h ago•25 comments

PicoZ80 – Drop-In Z80 Replacement

https://eaw.app/picoz80/
89•rickcarlino•3h ago•17 comments

Hegel, a universal property-based testing protocol and family of PBT libraries

https://hegel.dev
61•PaulHoule•3h ago•22 comments

Unfolder for Mac – A 3D model unfolding tool for creating papercraft

https://www.unfolder.app/
93•codazoda•5h ago•21 comments

Research-Driven Agents: What Happens When Your Agent Reads Before It Codes

https://blog.skypilot.co/research-driven-agents/
91•hopechong•5h ago•38 comments

Microsoft is employing dark patterns to goad users into paying for storage?

https://lzon.ca/posts/other/microsoft-user-abuse/
90•jpmitchell•1h ago•37 comments

Bitmap fonts make computers feel like computers again

https://korigamik.dev/blog/bitmap_fonts/
74•speckx•3h ago•56 comments

Top laptops to use with FreeBSD

https://freebsdfoundation.github.io/freebsd-laptop-testing/
257•fork-bomber•13h ago•146 comments

Moving from WordPress to Jekyll (and static site generators in general)

https://www.demandsphere.com/blog/rebuilding-demandsphere-with-jekyll-and-claude-code/
8•rgrieselhuber•1h ago•3 comments

Show HN: I built a Cargo-like build tool for C/C++

https://github.com/randerson112/craft
101•randerson_112•6h ago•94 comments

Instant 1.0, a backend for AI-coded apps

https://www.instantdb.com/essays/architecture
16•stopachka•3h ago•1 comments

Reallocating $100/Month Claude Code Spend to Zed and OpenRouter

https://braw.dev/blog/2026-04-06-reallocating-100-month-claude-spend/
265•kisamoto•13h ago•181 comments

EFF is leaving X

https://www.eff.org/deeplinks/2026/04/eff-leaving-x
935•gregsadetsky•5h ago•814 comments

Old laptops in a colo as low cost servers

https://colaptop.pages.dev/
100•argentum47•3h ago•51 comments

Maine is about to become the first state to ban major new data centers

https://www.gadgetreview.com/maine-is-about-to-become-the-first-state-to-ban-major-new-data-centers
189•rmason•2h ago•269 comments

Show HN: Druids – Build your own software factory

https://github.com/fulcrumresearch/druids
10•etherio•1d ago•1 comments

Progressive encoding and decoding of 'repeated' protobuffer fields

https://schilk.co/blog/protobuffer-repeat-append/
5•quarkz02•4d ago•0 comments

Introduction to Nintendo DS Programming

https://www.patater.com/files/projects/manual/manual.html
198•medbar•1d ago•39 comments

A WebGPU implementation of Augmented Vertex Block Descent

https://github.com/jure/webphysics
114•juretriglav•10h ago•14 comments

The Future of Everything Is Lies, I Guess: Part 3 – Culture

https://aphyr.com/posts/413-the-future-of-everything-is-lies-i-guess-culture
82•aphyr•8h ago•59 comments

Wit, unker, Git: The lost medieval pronouns of English intimacy

https://www.bbc.com/future/article/20260408-the-extinct-english-words-for-just-the-two-of-us
170•eigenspace•12h ago•106 comments

Show HN: CSS Studio. Design by hand, code by agent

https://cssstudio.ai
133•SirHound•10h ago•89 comments

Meta removes ads for social media addiction litigation

https://www.axios.com/2026/04/09/meta-social-media-addiction-ads
511•giuliomagnifico•8h ago•205 comments

How Do You Find an Illegal Image Without Looking at It?

https://mahmoud-salem.net/the-invisible-shield
20•danso•2d ago•5 comments

Doing Impressions: Monet's Early Caricatures (ca. late 1850s)

https://publicdomainreview.org/collection/claude-monet-caricatures/
40•prismatic•3d ago•1 comments

Help Keep Thunderbird Alive

https://updates.thunderbird.net/en-US/thunderbird/140.0/apr26-1e/donate/
476•playfultones•14h ago•332 comments

LittleSnitch for Linux

https://obdev.at/products/littlesnitch-linux/index.html
1246•pluc•21h ago•410 comments

Building a framework-agnostic Ruby gem (and making sure it doesn't break)

https://newsletter.masilotti.com/p/on-building-a-framework-agnostic
45•joemasilotti•2d ago•6 comments