The AI Slop Problem
Bug bounty platforms face a flood of AI-generated reports. Claude bots and other agents submit automated reports that look legitimate. Human verifiers waste time checking each one. The incentives push more spam: if a fake report slips through, the submitter gets paid. Trust issues compound the problem. Companies underpay, steal bugs, or refuse to acknowledge findings. The current system runs on βtrust me, weβll do the right thing.β That trust breaks when AI slop overwhelms the pipeline.
Zero-Knowledge Proofs and ZK-TLS
Zero-knowledge proofs let one party prove a statement without revealing underlying data. Think masking tape on a driverβs license: the bouncer sees the photo and age, not the home address. ZK-TLS applies this to TLS connections. It splits the symmetric key into two shards using multi-party computation. Neither the prover nor the notary holds the full key. TLS Notary, an open-source project from the Ethereum Foundation, implements this. A Docker container handles the cryptography. The notary attests that a specific HTTPS request and response occurred.
Trustless Bug Bounty Workflow
A hacker finds a SQL injection. They use TLS Notary to attest the HTTP request and response. The proof is posted to the bug bounty platform. Screenshots are replaced with cryptographically verifiable proofs. AI cannot fake those. The platform automatically verifies the proof. An optional pay-to-reveal flow protects the researcher. The HTTP request stays hidden. The company sees the response and knows a bug exists. They bid a payout amount. Once agreed, the researcher reveals the full request. The system cryptographically ties the revealed request to the earlier proof.
Demo: Proving a SQL Injection Without Revealing the Request
Anto coded a HackerOne clone called Acme Corp. He logged in as a hacker, opened Burp Suite, and found an auth bypass by changing a cookie to βadmin.β The flag appeared in the response. He used the TLS Notary Burp extension to generate a proof with the request hidden. The proof was uploaded to Acme Corp. Logging in as the company, he saw the response but not the request. The company bid $5,000 to unlock the request. The hacker revealed the full request. The system verified the cryptographic match. The company paid. No AI slop, no underpayment.
Q&A
Hiding disclosure until payout sounds like ransom. How do researchers stay out of that path? The pay-to-reveal is optional. Researchers can simply prove their report is not AI slop without hiding anything. The feature exists to prevent underpayment. βΆ 28:38
What does the customer need to do on their web app to help verify the response? Nothing. The system uses regular TLS. As long as the server has an SSL certificate, the proof works. βΆ 29:42
How does this verify that a prove a vulnerability exists, not just that a request was sent? The HTTP response contains the bugβs output, like database contents from a SQL injection. The cryptographic proof ties that response to the serverβs SSL certificate. AI cannot generate a fake cryptographic proof of an actual exploit. βΆ 30:10
Notable Quotes
AI cannot break cryptography yet. Anto Joseph Β· βΆ 17:32
This is a full-on actually working bug bounty system. Anto Joseph Β· βΆ 19:06
We fixed two things. Anto Joseph Β· βΆ 26:55
the whole pay to reveal is more is an optional flow Anto Joseph Β· βΆ 28:41
Key Takeaways
- ZK-TLS cryptographically proves HTTP requests without revealing the request payload.
- Bug bounty hunters can submit verifiable proofs instead of AI-generated screenshots.
- The pay-to-reveal flow ensures researchers get fair compensation before disclosing exploit details.