feat(stealth): inject anti-detection patches in native Rust architecture

- Created cli/src/native/stealth.rs with stealth JS injection via CDP
- Extracted 32 patch IIFEs from TS stealth.ts into stealth_scripts.js
- Injected via Page.addScriptToEvaluateOnNewDocument on every launch/connect
- Added stealth Chrome args (disable AutomationControlled, use ANGLE GL)
- Auto-detects and cleans HeadlessChrome from User-Agent string
- Overrides navigator.userAgentData high-entropy hints
- Stealth enabled by default, disable with AGENT_BROWSER_STEALTH=0

Track 2 of native-stealth migration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
leeguooooo
2026-05-08 23:47:50 +09:00
co-authored by Claude Opus 4.6
parent 6addc80aa1
commit 77616a209c
7 changed files with 1515 additions and 0 deletions
+4
View File
@@ -147,6 +147,10 @@ fn build_chrome_args(options: &LaunchOptions) -> Result<ChromeArgs, String> {
"--remote-debugging-port=0".to_string(),
"--no-first-run".to_string(),
"--no-default-browser-check".to_string(),
// Stealth: reduce automation fingerprint surface
"--disable-blink-features=AutomationControlled".to_string(),
"--use-gl=angle".to_string(),
"--use-angle=default".to_string(),
"--disable-background-networking".to_string(),
"--disable-backgrounding-occluded-windows".to_string(),
"--disable-component-update".to_string(),