CloakBrowser : L'Arme Anti-Détection
Si vous avez déjà essayé de développer un agent IA autonome pour naviguer sur le web (par exemple pour faire de l’OSINT, de la veille tarifaire ou automatiser des tâches), vous avez sûrement heurté le même mur : les systèmes anti-bots.
Dès que votre agent, piloté par Playwright ou Puppeteer, tente d’accéder à un site protégé par Cloudflare, DataDome ou Akamai, il est bloqué par un CAPTCHA infranchissable.
Mais un projet Open Source, CloakBrowser [1], vient changer la donne en s’attaquant au problème non pas en résolvant les CAPTCHAs, mais en les évitant.
Le problème des navigateurs “Headless”
Les outils classiques d’automatisation trahissent leur nature de robot en quelques millisecondes. Les systèmes de sécuriter analysent l’empreinte du navigateur (Fingerprinting) : la façon dont il gère le Canvas HTML5, le WebGL, les polices d’écriture, ou encore la vitesse inhumaine de la souris.
Jusqu’ici, on tentait de masquer ces traces en injectant des scripts JavaScript par-dessus Playwright (ex: playwright-stealth). C’était un jeu du chat et de la souris, et les anti-bots finissaient toujours par gagner.
Qu’est-ce que CloakBrowser ?
CloakBrowser adopte une approche radicalement différente. L’équipe derrière le projet a littéralement modifié le code source C++ du moteur Chromium.
Ils ont appliqué plus de 50 patchs au cœur même du navigateur pour altérer les empreintes (Canvas, WebRTC, Audio, GPU). Résultat : aux yeux des systèmes de sécuriter, CloakBrowser est totalement indiscernable d’un véritable navigateur Google Chrome utilisé par un humain [1].
Il obtient d’ailleurs des scores parfaits aux tests de détection, comme un score reCAPTCHA v3 de 0.9 (le niveau d’un humain légitime).

Installation et utilisation (Playwright)
L’énorme avantage de CloakBrowser, c’est qu’il se veut être un remplacement “Drop-in” (transparent) pour Playwright. Vous n’avez souvent qu’une seule ligne de code à changer.
1. Installation du navigateur :
# Via pip pour Python
pip install cloakbrowser
2. Intégration dans votre code Python :
from cloakbrowser import launch
import asyncio
async def run_agent():
# On lance CloakBrowser au lieu de Playwright standard
# Le flag humanize=True est la fonction magique
browser = await launch(headless=False, humanize=True)
page = await browser.new_page()
print("[*] L'agent IA navigue sur le site protégé...")
await page.goto("https://un-site-ultra-protege.com")
# Avec humanize=True, le clic ne sera pas instantané.
# La souris va faire une courbe de Bézier réaliste avant de cliquer.
await page.click("button#login")
await browser.close()
asyncio.run(run_agent())
La fonction magique : humanize=True
Modifier l’empreinte matérielle du navigateur ne suffit pas si votre agent IA clique sur 3 liens en 10 millisecondes.
C’est là que le flag humanize=True intervient. En l’activant, CloakBrowser va automatiquement traduire les commandes de votre agent IA en comportements humains :
- Les mouvements de souris suivent des courbes naturelles (Bézier).
- La frappe au clavier est rythmée avec des pauses aléatoires (et de potentielles “fautes” corrigées).
- Le défilement (scroll) imite celui d’une molette physique.
Pourquoi c’est indispensable pour l’IA ?
Les frameworks d’agents IA (comme browser-use, Crawl4AI ou les Tools de LangChain) sont excellents pour comprendre le contenu d’une page Web, mais ils sont de très mauvais conducteurs. Ils ont besoin d’un “corps” physique pour interagir avec le Web sans se faire repérer.
En associant un LLM (comme GPT-4 ou Gemini) capable de planifier des actions complexes, avec CloakBrowser pour exécuter ces actions de manière furtive, on obtient des agents d’une puissance redoutable pour la recherche OSINT automatisée ou l’extraction de données massives.
Conclusion
Jouer au chat et à la souris avec les WAF à coups de scripts JS injectés, c’est terminé. En recompilant directement le C++ de Chromium pour nettoyer les empreintes matérielles au plus bas niveau, CloakBrowser offre un vrai “corps” furtif à vos agents IA. C’est la brique manquante pour l’OSINT ou le scraping massif, permettant enfin de passer les portes de Cloudflare sans déclencher les alarmes.
Sources
Si vous voulez plus d’information sur l’infrastructure vous pouvez voir l’ repo à ce sujet : https://github.com/ravindrajob/InfraAtHome


