TE
TechEcho
AccueilTop 24hRécentsMeilleursQuestionsPrésentationsEmplois
GitHubTwitter
Accueil

TechEcho

Une plateforme d'actualités technologiques construite avec Next.js, fournissant des nouvelles et discussions technologiques mondiales.

GitHubTwitter

Accueil

AccueilRécentsMeilleursQuestionsPrésentationsEmplois

Ressources

HackerNews APIHackerNews OriginalNext.js

© 2025 TechEcho. Tous droits réservés.

Show HN: Using eBPF to see through encryption without a proxy

189 pointspar tylerflintil y a environ 8 heures
Hi HN, I&#x27;m Tyler Flint, one of the creators of qtap.<p>For a while now, my team and I at Qpoint.io have been grappling with the challenge of understanding what&#x27;s actually happening inside the encrypted traffic leaving our production systems. Modern apps rely heavily on third-party APIs (think payment processors, data providers, etc.), but once TLS kicks in, figuring out exactly what data is being sent, identifying PII exposure, or debugging integration issues becomes incredibly difficult without resorting to complex and often brittle solutions.<p>Traditional approaches like forward proxies require terminating TLS (MITM), managing certificates, and often introduce performance bottlenecks or single points of failure. Network firewalls usually operate at L3&#x2F;L4 and lack payload visibility. We felt there had to be a better way.<p>That&#x27;s why we built qtap. It&#x27;s a lightweight agent that uses eBPF to tap into network traffic at the kernel level. The key idea is to hook into common TLS libraries (like OpenSSL) before encryption and after decryption. This gives us deep visibility into the actual request&#x2F;response payloads of HTTPS&#x2F;TLS traffic without needing to terminate the connection or manage certs. Because it leverages eBPF, the performance impact is minimal compared to traditional methods.<p>With qtap, we can now see exactly which external services our apps are talking to, inspect the payloads for debugging or security auditing (e.g., spotting accidental PII leaks), monitor API performance&#x2F;errors for third-party dependencies, and get a much clearer picture of our egress traffic patterns.<p>We&#x27;ve found this approach really powerful for improving reliability and security posture. We&#x27;ve packaged qtap as a Linux Binary, Docker container, and Helm chart for deployment.<p>This is still evolving, but we&#x27;re excited about the potential of using eBPF for this kind of deep, yet non-intrusive, visibility.<p>We&#x27;d love to get the HN community&#x27;s feedback:<p><pre><code> Do you face similar challenges monitoring encrypted egress traffic? What are your thoughts on using eBPF for this compared to other methods? Any suggestions or potential use cases we haven&#x27;t considered? </code></pre> Happy to answer any questions!

19 comments

bbkaneil y a environ 8 heures
Does this work for Go binaries? My understanding is that Go programs do all the encryption &quot;in the process&quot; so the data is encrypted before eBPF can intercept it. I&#x27;d love to be wrong about that!
评论 #43928612 未加载
评论 #43928485 未加载
zxillyil y a environ 5 heures
There&#x27;s a similiar tool <a href="https:&#x2F;&#x2F;github.com&#x2F;gojue&#x2F;ecapture">https:&#x2F;&#x2F;github.com&#x2F;gojue&#x2F;ecapture</a>
评论 #43930948 未加载
compscidril y a environ 8 heures
Have been following this project for a while, cool stuff!<p>I work a bunch with vpn-like networking on Android phones and it would be cool to have a bit of info on how I might get something like working on phones. I guess its probably not your typical usecase.<p>Currently since the project is a VPN client, I already intercept all of the packets, I have a pcap writer and can write to files or a tcp sockets and connect wireshark to it - but it needs a bunch of complication to setup the keys so that I can see through encryption, so anything that would make that process easier would be great.
评论 #43928585 未加载
eptcykail y a environ 6 heures
I know that arguing that SSLKEYLOGFILE is all you need will just be a different version of the rsync&#x2F;dropbox comment, but I do wonder under what circumstances is one able to strace a binary and isn’t able to make it dump session keys? I read the headline and set high hopes on finding a nifty way to mitm apps on Android - alas, I’m not sure this would work there necessarily.
评论 #43932173 未加载
评论 #43929991 未加载
mrbluecoatil y a environ 2 heures
Was going to ask if it was only passive monitoring or active controlling and found <a href="https:&#x2F;&#x2F;docs.qpoint.io&#x2F;appendix&#x2F;qcontrol-beta" rel="nofollow">https:&#x2F;&#x2F;docs.qpoint.io&#x2F;appendix&#x2F;qcontrol-beta</a><p>&gt; Security enforcement: Allowing or denying traffic based on precise conditions<p>Very cool. What are your supported log sinks?
评论 #43932392 未加载
worldsavioril y a environ 7 heures
Isn&#x27;t there already mechanisms for patching specific SSL libraries to view encrypted requests (e.g. frida)? What is the benefit of using eBPF?
评论 #43928897 未加载
CMCDragonkaiil y a 24 minutes
Does this work in NixOS?
pclmulqdqil y a environ 8 heures
To hook into OpenSSL, don&#x27;t you either need dynamic linking or userspace programs to compile your hooks in? Go and many Rust and C++ binaries tend to prefer static linking, so I wonder if this solution is workable there.
评论 #43928572 未加载
kristopolousil y a environ 7 heures
Just found out about a related things: <a href="https:&#x2F;&#x2F;github.com&#x2F;cle-b&#x2F;httpdbg">https:&#x2F;&#x2F;github.com&#x2F;cle-b&#x2F;httpdbg</a><p>Anyone have any experience with it?
评论 #43929449 未加载
tecleandoril y a environ 2 heures
Can it output pcap files or anything similar I can import onto Wireshark or a similar tool? Haven&#x27;t found anything checking the docs...
评论 #43932255 未加载
Severianil y a environ 5 heures
Kinda related, anyone know of something similar for Windows? This is definitely going in my toolkit, but I need something similar for Windows client traffic inspection (tls 1.2+) to get the full picture. Working with proprietary client&#x2F;server coms over tls. Can use a special debug build, but requires shutting down and replacing. Need something in-sutu.
nikolayasdf123il y a environ 7 heures
sounds like a security breach. how you ensure this does not become link in some next complex CVE?
评论 #43929025 未加载
评论 #43928841 未加载
octoberelevenil y a environ 5 heures
I don&#x27;t have any answers&#x2F;questions, but reading through the discussion, all I can say at this point is — Super impressive guys!
onnimonniil y a environ 2 heures
Is there anything like this but for MacOS?
评论 #43932249 未加载
dahatebil y a environ 6 heures
Does it also work on android? Afaik ebpf is also available there.
评论 #43930130 未加载
评论 #43930465 未加载
0nethacker1il y a environ 7 heures
I like the fact this doesn&#x27;t impact performance like MITM solutions do.
评论 #43929154 未加载
armitronil y a environ 5 heures
There are many independent implementations of the same idea (given how easy it is to implement) but all suffer from similar shortcomings:<p>1. uprobes can be expensive and add latency (they force a context switch and copy data), especially when the hooked functions are called a lot<p>2. EBPF is not widely available outside of Linux, requires elevated privileges (compared to a MITM proxy that requires no privileges and works with every OS)<p>3. Doesn&#x27;t work with JVM, Rust, any runtime that doesn&#x27;t use the hooked functions
评论 #43930407 未加载
delusionalil y a environ 6 heures
What does the usage pattern look like for this. Will I need to be root to run it, and can it run from inside a container without &quot;real&quot; host root?<p>I&#x27;m always looking for a way to make sniffing traffic from inside a container easier, and if I could attach a debug sidecar with something like an eBPF based SSL pre-master key extractor (both on incoming and outgoing requests) it starts to feel a lot like having network JTAG.
评论 #43930126 未加载
adampkil y a environ 7 heures
How easy is the set up, does this need to be deeply integrated in each step of the life-cycle?
评论 #43928686 未加载