<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: avastel</title><link>https://news.ycombinator.com/user?id=avastel</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 06 Sep 2026 21:35:08 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=avastel" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[A live browser fingerprinting and bot detection playground]]></title><description><![CDATA[
<p>Article URL: <a href="https://fingerprint-scan.com/">https://fingerprint-scan.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49359153">https://news.ycombinator.com/item?id=49359153</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 19 Aug 2026 09:36:04 +0000</pubDate><link>https://fingerprint-scan.com/</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=49359153</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49359153</guid></item><item><title><![CDATA[GPU-Based Device Fingerprinting]]></title><description><![CDATA[
<p>Article URL: <a href="https://shaderghost.gg/">https://shaderghost.gg/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49327627">https://news.ycombinator.com/item?id=49327627</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 17 Aug 2026 07:48:56 +0000</pubDate><link>https://shaderghost.gg/</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=49327627</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49327627</guid></item><item><title><![CDATA[Fingerprint Harvesting in the Bot Ecosystem]]></title><description><![CDATA[
<p>Article URL: <a href="https://castle.io/research/fingerprint-harvesting-in-the-bot-ecosystem/">https://castle.io/research/fingerprint-harvesting-in-the-bot-ecosystem/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47862372">https://news.ycombinator.com/item?id=47862372</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 22 Apr 2026 12:02:19 +0000</pubDate><link>https://castle.io/research/fingerprint-harvesting-in-the-bot-ecosystem/</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=47862372</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47862372</guid></item><item><title><![CDATA[BotmasterLabs: Powering an Era of Spam]]></title><description><![CDATA[
<p>Article URL: <a href="https://castle.io/research/botmasterlabs-powering-an-era-of-spam/">https://castle.io/research/botmasterlabs-powering-an-era-of-spam/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47502168">https://news.ycombinator.com/item?id=47502168</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 24 Mar 2026 13:19:40 +0000</pubDate><link>https://castle.io/research/botmasterlabs-powering-an-era-of-spam/</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=47502168</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47502168</guid></item><item><title><![CDATA[Inside a bot operator's email verification infrastructure]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.castle.io/inside-a-bot-operators-email-verification-infrastructure/">https://blog.castle.io/inside-a-bot-operators-email-verification-infrastructure/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47322888">https://news.ycombinator.com/item?id=47322888</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 10 Mar 2026 13:18:58 +0000</pubDate><link>https://blog.castle.io/inside-a-bot-operators-email-verification-infrastructure/</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=47322888</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47322888</guid></item><item><title><![CDATA[Account enumeration in the wild: analyzing a real-world Spotify enumeration tool]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.castle.io/account-enumeration-in-the-wild-analyzing-a-real-world-spotify-enumeration-tool/">https://blog.castle.io/account-enumeration-in-the-wild-analyzing-a-real-world-spotify-enumeration-tool/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47261040">https://news.ycombinator.com/item?id=47261040</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 05 Mar 2026 12:51:56 +0000</pubDate><link>https://blog.castle.io/account-enumeration-in-the-wild-analyzing-a-real-world-spotify-enumeration-tool/</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=47261040</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47261040</guid></item><item><title><![CDATA[New comment by avastel in "FPScanner – open-source browser fingerprinting and bot detection library"]]></title><description><![CDATA[
<p>Author here.<p>I first built FPScanner during my PhD around 2017–2018, when I was doing research on browser fingerprinting and bot detection. After that I did not really maintain it for years.<p>I recently decided to revive it because things changed a lot. Automation is much easier now. With free automation libraries like Puppeteer/Playwright/Selenium + headless Chrome and cheap proxies, you can build decent bots very quickly. At the same time, open source defensive tooling is still quite limited, or very basic.<p>To be clear, FPScanner is not trying to be a silver bullet.<p>It is a small, self-hosted library that focuses on deterministic client-side signals:
- webdriver and automation flags
- CDP-related artifacts
- automation framework markers (Selenium, Playwright, etc.)
- JS cross-context inconsistencies: main JS context, iframes and workers<p>It also generates a JA4-inspired fingerprint ID for clustering sessions, and includes encrypted payload + simple anti-replay protections.<p>There is no ML here, no "AI detection", and no claim to block 100% of bots. The idea is just to expose strong, explainable signals and make automation a bit more expensive. I assume attackers can read the source code.<p>I tested it on different devices and browsers to avoid JS errors and obvious false positives, but I’m sure there are edge cases. If you try it on less common browsers or hardened setups and it breaks, please let me know or open an issue.<p>Happy to answer questions or discuss design choices / limitations.</p>
]]></description><pubDate>Sat, 21 Feb 2026 15:04:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=47101482</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=47101482</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47101482</guid></item><item><title><![CDATA[FPScanner – open-source browser fingerprinting and bot detection library]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/antoinevastel/fpscanner">https://github.com/antoinevastel/fpscanner</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47101452">https://news.ycombinator.com/item?id=47101452</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Sat, 21 Feb 2026 15:01:30 +0000</pubDate><link>https://github.com/antoinevastel/fpscanner</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=47101452</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47101452</guid></item><item><title><![CDATA[New comment by avastel in "LinkedIn checks for 2953 browser extensions"]]></title><description><![CDATA[
<p>I wrote a blog post recently about the technique used by LinkedIn to do extension probing, as well as other ways to do it with less side effects<p><a href="https://blog.castle.io/detecting-browser-extensions-for-bot-detection-lessons-from-linkedin-and-castle/" rel="nofollow">https://blog.castle.io/detecting-browser-extensions-for-bot-...</a></p>
]]></description><pubDate>Thu, 05 Feb 2026 21:27:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=46905610</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=46905610</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46905610</guid></item><item><title><![CDATA[New comment by avastel in "Disrupting the largest residential proxy network"]]></title><description><![CDATA[
<p>Since I was also tracking this proxy network as part of my side project, I wrote a short blog post + give access to 16m+ proxy IPs IoCs that belong to this proxy network: <a href="https://deviceandbrowserinfo.com/learning_zone/articles/inside-ipidea-residential-proxy-network" rel="nofollow">https://deviceandbrowserinfo.com/learning_zone/articles/insi...</a><p>Note that even after the disruption, I'm still able to route millions of requests/day through IP IDEA's network</p>
]]></description><pubDate>Sat, 31 Jan 2026 18:01:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=46838960</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=46838960</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46838960</guid></item><item><title><![CDATA[New comment by avastel in "Disrupting the largest residential proxy network"]]></title><description><![CDATA[
<p>Since I was also tracking this proxy network as part of my side project, I wrote a short blog post + give access to 16m+ proxy IPs IoCs that belong to this proxy network: <a href="https://deviceandbrowserinfo.com/learning_zone/articles/inside-ipidea-residential-proxy-network" rel="nofollow">https://deviceandbrowserinfo.com/learning_zone/articles/insi...</a></p>
]]></description><pubDate>Thu, 29 Jan 2026 10:37:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46808267</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=46808267</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46808267</guid></item><item><title><![CDATA[Disrupting the Largest Residential Proxy Network]]></title><description><![CDATA[
<p>Article URL: <a href="https://cloud.google.com/blog/topics/threat-intelligence/disrupting-largest-residential-proxy-network">https://cloud.google.com/blog/topics/threat-intelligence/disrupting-largest-residential-proxy-network</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46808018">https://news.ycombinator.com/item?id=46808018</a></p>
<p>Points: 8</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 29 Jan 2026 10:04:12 +0000</pubDate><link>https://cloud.google.com/blog/topics/threat-intelligence/disrupting-largest-residential-proxy-network</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=46808018</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46808018</guid></item><item><title><![CDATA[Inside the IPIDEA residential proxy network disrupted by Google]]></title><description><![CDATA[
<p>Article URL: <a href="https://deviceandbrowserinfo.com/learning_zone/articles/inside-ipidea-residential-proxy-network">https://deviceandbrowserinfo.com/learning_zone/articles/inside-ipidea-residential-proxy-network</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46807320">https://news.ycombinator.com/item?id=46807320</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 29 Jan 2026 08:31:04 +0000</pubDate><link>https://deviceandbrowserinfo.com/learning_zone/articles/inside-ipidea-residential-proxy-network</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=46807320</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46807320</guid></item><item><title><![CDATA[You see an email ending in .eu.org. Must be legit, right?]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.castle.io/you-see-an-email-ending-in-eu-org-must-be-legit-right/">https://blog.castle.io/you-see-an-email-ending-in-eu-org-must-be-legit-right/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46779765">https://news.ycombinator.com/item?id=46779765</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 27 Jan 2026 13:39:38 +0000</pubDate><link>https://blog.castle.io/you-see-an-email-ending-in-eu-org-must-be-legit-right/</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=46779765</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46779765</guid></item><item><title><![CDATA[Detecting browser extensions for bot detection, lessons from LinkedIn and Castle]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.castle.io/detecting-browser-extensions-for-bot-detection-lessons-from-linkedin-and-castle/">https://blog.castle.io/detecting-browser-extensions-for-bot-detection-lessons-from-linkedin-and-castle/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46613690">https://news.ycombinator.com/item?id=46613690</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 14 Jan 2026 08:31:31 +0000</pubDate><link>https://blog.castle.io/detecting-browser-extensions-for-bot-detection-lessons-from-linkedin-and-castle/</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=46613690</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46613690</guid></item><item><title><![CDATA[Roll your own bot detection: server-side detection]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.castle.io/roll-your-own-bot-detection-server-side-detection-part-2/">https://blog.castle.io/roll-your-own-bot-detection-server-side-detection-part-2/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45589939">https://news.ycombinator.com/item?id=45589939</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Wed, 15 Oct 2025 09:23:49 +0000</pubDate><link>https://blog.castle.io/roll-your-own-bot-detection-server-side-detection-part-2/</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=45589939</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45589939</guid></item><item><title><![CDATA[Roll your own bot detection: fingerprinting/JavaScript]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.castle.io/roll-your-own-bot-detection-fingerprinting-javascript-part-1/">https://blog.castle.io/roll-your-own-bot-detection-fingerprinting-javascript-part-1/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45513356">https://news.ycombinator.com/item?id=45513356</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 08 Oct 2025 07:58:38 +0000</pubDate><link>https://blog.castle.io/roll-your-own-bot-detection-fingerprinting-javascript-part-1/</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=45513356</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45513356</guid></item><item><title><![CDATA[New comment by avastel in "Browser Fingerprint Detector"]]></title><description><![CDATA[
<p>I recently wrote about the limits of these kinds of fingerprinting tests. They tend to overly focus on uniqueness without taking into account stability. Moreover sample size is often really small which tends to artificially make a lot of users unique<p><a href="https://blog.castle.io/what-browser-fingerprinting-tests-like-amiunique-and-browserleaks-really-show-and-what-they-miss/" rel="nofollow">https://blog.castle.io/what-browser-fingerprinting-tests-lik...</a></p>
]]></description><pubDate>Mon, 08 Sep 2025 17:08:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=45170842</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=45170842</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45170842</guid></item><item><title><![CDATA[New comment by avastel in "Why a classic CDP bot detection signal suddenly stopped working"]]></title><description><![CDATA[
<p>(Author here) TBH I don't think the main goal of Google was to make bots undetectable. It was more a side effect of preventing side effects while reviewing errors in the devtools: <a href="https://source.chromium.org/chromium/_/chromium/v8/v8/+/e08e97347454255a337dcea361808fb25ca09077" rel="nofollow">https://source.chromium.org/chromium/_/chromium/v8/v8/+/e08e...</a><p>It was the same when Google released the new headless Chrome a few years ago: <a href="https://antoinevastel.com/bot%20detection/2023/02/19/new-headless-chrome.html" rel="nofollow">https://antoinevastel.com/bot%20detection/2023/02/19/new-hea...</a>
It made vanilla/naive bots more realistic/detectable by default.</p>
]]></description><pubDate>Thu, 28 Aug 2025 14:03:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=45052299</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=45052299</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45052299</guid></item><item><title><![CDATA[Why a classic CDP bot detection signal suddenly stopped working]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.castle.io/why-a-classic-cdp-bot-detection-signal-suddenly-stopped-working-and-nobody-noticed/">https://blog.castle.io/why-a-classic-cdp-bot-detection-signal-suddenly-stopped-working-and-nobody-noticed/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45051700">https://news.ycombinator.com/item?id=45051700</a></p>
<p>Points: 3</p>
<p># Comments: 2</p>
]]></description><pubDate>Thu, 28 Aug 2025 13:07:14 +0000</pubDate><link>https://blog.castle.io/why-a-classic-cdp-bot-detection-signal-suddenly-stopped-working-and-nobody-noticed/</link><dc:creator>avastel</dc:creator><comments>https://news.ycombinator.com/item?id=45051700</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45051700</guid></item></channel></rss>