TL;DR
- 场景:Browser Use / Stagehand / Crawl4AI 等浏览器 Agent 真正进入网页后,反爬、指纹、验证码、行为识别成为落地主要障碍。
- 结论 :Fortress(
tiliondev/fortress,2026/7/4 HN Show HN)把 stealth 从 JS 注入层下沉到 Chromium C++ 层,通过 34 个 single-surface 补丁保持浏览器故事自洽;这是 Agent stack 继续下沉的信号。 - 产出:33 行版本矩阵 / 8 节正文 / 12 行错误速查卡 / 8 项可选精确化建议 / 参考来源。
版本矩阵
| 类别 | 项 | 状态 | 说明 |
|---|---|---|---|
| 项目主体 | GitHub 仓库 tiliondev/fortress |
✅ 已验证 | README / AGENTS.md / SECURITY.md / llms.txt / GAUNTLET_RESULTS.md / BUILD_NATIVE.md / BENCHMARK.md / CHROMIUM_VERSION / patches/ 均存在 |
| 项目主体 | 仓库简介 | ✅ 已验证 | "Stealth Chromium engine that stops scrapers and browser agents from getting blocked, with one line of code change"(README) |
| 引擎版本 | CHROMIUM_VERSION 151.0.7908.0 |
✅ 已验证 | raw 文件直接读取 |
| 引擎版本 | 双 channel:stable (149) / latest (151) | ✅ 已验证 | README 显式说明 |
| 协议 | BSD-3-Clause | ✅ 已验证 | README "BSD-3-Clause for the Fortress patches and tooling" |
| 协议 | 字体 / Chromium 各自保留原协议 | ✅ 已验证 | README 引用 LICENSE / NOTICE |
| 补丁结构 | 34 个 single-surface C++ patches | ✅ 已验证 | README + repo layout "patches/ 34 per-surface C++ patches" |
| 补丁结构 | 位于 patches/ 目录 |
✅ 已验证 | repo layout |
| 接口 | Raw CDP endpoint on :9222 |
✅ 已验证 | README 多次提及 |
| 接口 | 无 Runtime.enable leak(rebrowser bot-detector 验证) |
✅ 已验证 | README + GAUNTLET_RESULTS.md |
| 接口 | 兼容 Playwright / Puppeteer / browser-use / Crawl4AI / Stagehand / LangChain | ✅ 已验证 | README "Works with your stack" 表格 |
| 指纹一致性 | 默认 coherent Windows identity | ✅ 已验证 | README + GAUNTLET_RESULTS.md |
| 指纹一致性 | navigator.vendor 等 getter 来自 C++、跨 realm 一致、toString() 返回 [native code] |
✅ 已验证 | README "Native-code parity" |
| 指纹一致性 | JA3/JA4 TLS 形态与 V8/Blink/User-Agent 一致 | ✅ 已验证 | README "Coherent by construction" |
| 指纹一致性 | WebGL Vendor Google Inc. (NVIDIA) / Renderer ANGLE (NVIDIA, NVIDIA GeForce RTX 3060 Direct3D11 vs_5_0 ps_5_0, D3D11) |
✅ 已验证 | GAUNTLET_RESULTS.md |
| Persona | --uxr-* 完整覆盖 platform / UA / hw / webgl / canvas / audio / timezone / languages / screen / webrtc |
✅ 已验证 | README "Configure the persona" 完整列表 |
| Persona | 单进程、单 persona(/proc/<pid>/cmdline 可见) |
✅ 已验证 | README troubleshooting "one persona per launch" |
| 检测基线 | CreepJS:0% headless / 0% stealth | ✅ 已验证 | README + GAUNTLET_RESULTS.md |
| 检测基线 | bot.sannysoft.com:0 failed / WebDriver Advanced passed | ✅ 已验证 | README + GAUNTLET_RESULTS.md |
| 检测基线 | browserscan.net:"No bots detected --- the visitor could be a human" | ✅ 已验证 | README + GAUNTLET_RESULTS.md |
| 检测基线 | rebrowser bot-detector:无 Runtime.enable leak |
✅ 已验证 | README + GAUNTLET_RESULTS.md |
| 检测基线 | Cloudflare Turnstile:bypassed(headed, datacenter IP) | ✅ 已验证 | README + GAUNTLET_RESULTS.md |
| 平台 | Linux x64 native(149 + 151) | ✅ 已验证 | README "Build & verify" |
| 平台 | Windows x64 native(仅 151,149 走 Docker) | ✅ 已验证 | README "Versions" |
| 平台 | macOS 通过 Docker;原生 .app 仍在路线图 |
✅ 已验证 | README troubleshooting + roadmap |
| 平台 | linux/arm64 仍在路线图 |
✅ 已验证 | README roadmap |
| 平台 | 代码签名安装包(Windows / macOS) | ✅ 已验证 | README roadmap |
| 渠道 | PyPI tilion-fortress |
✅ 已验证 | README badge |
| 渠道 | npm tilion-fortress |
✅ 已验证 | README badge |
| 渠道 | Docker tilion/fortress(latest / 149 / 151 标签) |
✅ 已验证 | README + Releases |
| 渠道 | GitHub Releases 含 SHA256SUMS | ✅ 已验证 | README "Verify a download" |
| 社区 | HN Show HN 标题 "Show HN: Fortress -- open-source Chromium that keeps browser agents unblocked"(HN item 48781600) | ✅ 已验证 | webfetch HN 页面确认标题、积分 7、提交时间约 2 days ago(≈ 2026/7/4) |
| 社区 | HN 提交者 arhamislam5766;评论区出现 arhamshahrier / armanluthra_ 多账号讨论,被其他用户质疑为同一运营者群体 | ⚠️ 项目方声明 | 观察本身由 HN 评论直接给出(gnabgib 提问),不代表对 Fortress 功能的否定 |
| 路线图 | v2 MaskConfig runtime personas(IPC-delivered,seed-driven,单 binary 多 fingerprint) | ✅ 已验证 | README "What's next" |
| 路线图 | Brave-style chromium_src/ overrides 迁移 |
✅ 已验证 | README roadmap |
| 路线图 | First-party MCP server + Puppeteer / raw-CDP SDK | ✅ 已验证 | README roadmap |
| 路线图 | reCAPTCHA v3 / DataDome / Kasada benchmark 行(dated, reproducible) | ✅ 已验证 | README roadmap |
| 上游 rebase | monthly Chromium rebase + dated reproducible gauntlet | ✅ 已验证 | README "Staying current" |
| 上游 rebase | build/rebase-monthly.sh 152.0.XXXX.0 脚本 |
✅ 已验证 | README "Build & verify" |
| 安全策略 | 检测向量(detection vector)与安全漏洞分离 | ✅ 已验证 | SECURITY.md "What counts as what" |
| 安全策略 | 检测向量走公开 issue + "Detection vector" 模板 | ✅ 已验证 | SECURITY.md |
| 安全策略 | 真实漏洞走 GitHub private vulnerability reporting | ✅ 已验证 | SECURITY.md |
| AI 上下文 | AGENTS.md 提供"paste-anywhere"完整 setup 上下文给 AI Agent |
✅ 已验证 | 文件存在 + README 引用 |
| AI 上下文 | llms.txt LLM-friendly 项目摘要 |
✅ 已验证 | 文件存在 |
| 同类对比 | Stock Playwright / puppeteer-extra-stealth / undetected-chromedriver / Camoufox / CloakBrowser 五方对比表 | ✅ 已验证 | README "How Fortress compares" |
| 同类对比 | Camoufox 是 Firefox fork(约 3% 流量);Fortress 是 Chromium fork(主流 Chrome/V8 身份) | ✅ 已验证 | README FAQ |
| 同类对比 | CloakBrowser 仍闭源,最新主版本 paywalled | ✅ 已验证 | README 对比表 |
| 上游经验 | fingerprint-chromium / ChromiumFish 等先前 Chromium fork 经验 |
✅ 已验证 | README 致谢 |
| 行为指纹 | FP-Agent 论文:arXiv 2605.01247 | ✅ 已验证 | arXiv 直接访问确认 |
| 行为指纹 | FP-Agent 结论:浏览器指纹在多 Agent 共用时区分力有限;行为指纹(typing / scrolling / mouse)更有区分度 | ✅ 已验证 | 论文摘要 |
| 行为指纹 | FP-Agent 检测全部 7 个 AI browsing agents,Cloudflare 仅检测 1 个 | ✅ 已验证 | 论文摘要 case study |
| 行为指纹 | FP-Agent 作者 Ethan Wang / Zubair Shafiq / Yash Vekaria;提交 2026/5/2 | ✅ 已验证 | arXiv 元数据 |
| Web 安全 | Mind the Web 论文:arXiv 2506.07153 | ✅ 已验证 | arXiv 直接访问确认 |
| Web 安全 | Mind the Web 结论:Task-aligned injection 攻击 ASR > 80%,对带安全机制的 Agent 仍有效 | ✅ 已验证 | 论文摘要 |
| Web 安全 | Mind the Web 作者 Avishag Shapira / Parth Atulbhai Gandhi / Edan Habler / Asaf Shabtai;v1 2025/6/8,v2 2025/10/20 | ✅ 已验证 | arXiv 元数据 |
| Cloudflare | Bot Management / JavaScript Detections 文档存在并说明 headless browsers / malicious fingerprints 识别机制 | ✅ 已验证 | developers.cloudflare.com/bots |
| 局限 | Fortress 不能解决行为识别 | ✅ 已验证 | README "Troubleshooting" + 第七节原文 |
| 局限 | Fortress 不能解决账号与业务风控(账号年龄、频率、支付、设备绑定、IP 信誉) | ✅ 已验证 | README troubleshooting |
| 局限 | 仍被 Cloudflare / DataDome / Kasada 拦截 ≈ 90% 概率是 IP(datacenter),不是 fingerprint | ✅ 已验证 | README "Troubleshooting" + AGENTS.md RULES 4 |
| 局限 | linux/arm64 与 macOS .app / 代码签名安装包仍待完成 |
✅ 已验证 | README roadmap |
| Akamai 案例 | README 展示 aa.com / lowes.com / macys.com / kohls.com 同 residential IP 下从 blocked → cleared | ⚠️ 项目方截图 | 与第三方独立基准不同,仅供 README 视觉佐证 |
| GitHub stars | README 引用 star-history.png;具体当前 star 数未在搜索结果中独立验证 |
⚠️ 项目方声明 | 链接可用,但未独立核对当前数值 |

过去一年,浏览器 Agent 的叙事明显加速。
Browser Use、Stagehand、Playwright Agent、Crawl4AI 这类工具,把"浏览器"变成了 Agent 的执行器:让 AI 打开网页、点击按钮、填写表单、提取数据,甚至跨站完成一个真实业务流程。
但一旦 Agent 真正进入网页世界,它面对的就不只是 DOM、按钮和表单。真实互联网里还有反爬、风控、验证码、行为识别、浏览器指纹检测、账号信誉、IP 质量和安全策略。
Fortress 就是在这个背景下出现的一个项目。
它的 GitHub 仓库是 tiliondev/fortress,项目定位很直接:一个 stealth Chromium engine,目标是让 scraper 和 browser agent 不容易因为自动化浏览器特征而被拦截。它在 2026 年 7 月 4 日出现在 Hacker News 的 Show HN 页面,标题是"Fortress - open-source Chromium that keeps browser agents unblocked"。HN 页面热度不算高,但它代表的方向值得关注:浏览器 Agent 的竞争,正在从"模型会不会操作网页",进入"浏览器执行环境能不能进入网页"。
这篇文章不把 Fortress 当成"绕过所有检测"的神器,而把它当成一个信号:Agent stack 正在继续下沉。模型、框架、浏览器控制层之外,浏览器内核、网络身份和风险边界都会成为基础设施的一部分。
一、Fortress 到底是什么
Fortress 不是一个新的爬虫框架,也不是一个 Puppeteer 插件。它更底层:它是一个 Chromium fork。
传统自动化方案通常是 Playwright、Puppeteer、Selenium 启动一个浏览器,再通过脚本层去隐藏自动化痕迹。例如改 navigator.webdriver,改 WebGL vendor,改 user agent,补 plugins、languages、permissions 等接口,或者在页面加载前注入 stealth 脚本。
Fortress 的思路不同。它不主要在页面 JavaScript 层打补丁,而是在 Chromium 的 C++ 层修改浏览器指纹表面。
按照项目 README 的说法,它会在 Chromium 内部修正 canvas、WebGL、audio、fonts、navigator 等多个浏览器指纹表面,使页面看到的结果更像普通 Chrome,而不是一个被自动化框架控制的浏览器。它同时暴露 CDP endpoint,因此现有 Playwright、Puppeteer 或任何 CDP 客户端可以继续连接,只是底层浏览器换成 Fortress。
这就是它所谓"一行代码替换"的含义:不是重写 Agent,不是重写爬虫流程,而是把原来的浏览器内核替换成一个经过指纹一致性处理的 Chromium。

二、为什么不能只靠 JS stealth 插件
Fortress 的核心判断是:JS 层伪装会自我暴露。
很多 stealth 插件会在页面加载前注入脚本,重写某些浏览器对象。早期反自动化检测比较粗糙,只要把几个显眼字段补掉,就能明显降低暴露概率。例如 navigator.webdriver 不要是 true,WebGL renderer 不要露出 Headless,plugins 和 languages 不要空得太奇怪。
但反 bot 脚本也在演进。它们不只看"字段值是什么",还会看"这个字段值是怎么来的"。
一个典型问题是原生 getter 与注入函数的差异。原生浏览器 API 的 toString() 往往表现为 native code,而 JS 注入改写的 getter 可能暴露脚本实现、属性描述符差异或跨 realm 不一致。更麻烦的是 iframe、worker、不同 execution realm 之间可以重新获取相对干净的原型方法,绕过主页面注入补丁。
所以 Fortress 的判断不是"还有哪个字段没补好",而是"补丁层本身会成为检测对象"。如果 stealth 逻辑停留在页面 JS 层,它就天然站在网站脚本可以观察和反推的位置。
Fortress 选择把伪装位置下沉到浏览器引擎内部。它让 getter 本身来自 C++,让 main frame、iframe、Web Worker 等不同环境里的返回更一致,也让页面脚本更难通过 toString() 或跨 realm 对比发现补丁痕迹。
这背后的判断很关键:反检测不再是"改几个字段",而是"让整个浏览器故事自洽"。

三、现代网站到底怎么识别 Agent
浏览器 Agent 被拦截,大体有三层原因。
第一层是自动化驱动痕迹。比如 ChromeDriver 特征、WebDriver 协议暴露、自动化变量、异常启动参数、Headless 行为差异。这类问题过去主要出现在 Selenium、早期 Headless Chrome 和不干净的自动化框架里。
第二层是浏览器指纹。网站会通过 JavaScript 读取 canvas、WebGL、AudioContext、字体、屏幕、时区、语言、硬件并发数、device memory、Client Hints 等信息,再判断这些信息是否像一个真实用户环境。Cloudflare 官方文档也提到,其 JavaScript Detections 会识别 headless browsers 和 malicious fingerprints,并在客户端执行轻量 JS 检测。
第三层是网络和行为。TLS 指纹、HTTP headers、IP 类型、代理质量、鼠标轨迹、滚动节奏、输入间隔、页面停留时间、点击路径,都会进入判断。
2026 年一篇关于 AI browsing agents 指纹识别的论文指出,浏览器指纹在多个 Agent 共用相似浏览器时区分力有限,但行为指纹更有区分度;研究者在受控网站上收集浏览器和行为特征,用于区分七类 AI browsing agents 与人类用户。
Fortress 主要解决第二层,也部分照顾第一层。它不能解决所有问题。项目 README 里也强调,如果仍然被 Cloudflare、DataDome、Kasada 等系统拦截,很多时候问题可能是 IP,而不是浏览器指纹;如果检测继续演进,也需要持续 rebase 和新增 patch。
这点很重要。Fortress 不是"万能通行证",而是把浏览器指纹这一层做得更接近真实 Chrome。

四、Fortress 的技术卖点
Fortress 的卖点可以概括为五个。
第一,基于 Chromium,而不是 Firefox。项目作者强调 Chrome/V8 是主流浏览器栈,因此用 Chromium fork 做 Chrome 身份更容易保持整体一致性。相比 Firefox fork,Chromium 在 user agent、Client Hints、V8、Blink、TLS 形态等方面更适合伪装为主流 Chrome 流量。
第二,补丁在 C++ 层。README 称当前有 34 个 single-surface C++ patches,覆盖多个指纹表面,并放在 patches/ 目录中,用户可以审计和重建。
第三,CDP 接入。Fortress 暴露 raw CDP endpoint,Playwright、Puppeteer、browser-use、Crawl4AI、Stagehand、LangChain Playwright toolkit 等都可以通过 CDP 接入。换句话说,它不是替代上层 Agent 框架,而是站在这些框架下面,作为浏览器执行环境。
第四,指纹一致性。README 提到它会让 V8、Blink、BoringSSL、user-agent、JA3/JA4 TLS 形态尽量一致,并默认提供一个 coherence-checked Windows identity。它也提供 --uxr-* 参数去覆盖 GPU、屏幕、时区、硬件、Client Hints 等表面。
第五,可验证。项目提供 gauntlet 测试,声称可复现 CreepJS、Sannysoft、BrowserScan、rebrowser bot-detector、Cloudflare Turnstile 等检测结果。README 中列出的结果包括 CreepJS 0% headless、Sannysoft 0 failed、BrowserScan "No bots detected"、rebrowser 无 Runtime.enable leak 等。
这些说法仍然应该被视为项目方声明,而不是独立第三方基准。它的价值在于:项目把"反检测能力"变成可复现测试,而不是只靠营销截图。

五、它为什么和 Agent 有关,而不只是和爬虫有关
过去"反检测浏览器"主要服务于爬虫、广告验证、账号矩阵、价格监控、自动化测试等场景。但 Agent 出现后,问题变了。
传统爬虫通常目标明确:打开 URL、解析 HTML、提取字段、翻页。Agent 的目标更接近真人操作:搜索、登录、比较、填写、购买、提交、跨站执行流程。它不只是读取网页,而是要在网页里行动。
这让浏览器从"采集工具"变成"执行环境"。Agent 能力越强,网站越有动机识别它。原因不只是反爬,还有安全、风控、欺诈、滥用和资源保护。
2025 年关于 Web-use agents 安全的研究指出,这类 Agent 拥有多标签页导航、DOM 操作、JavaScript 执行、认证会话访问等高权限能力,也会带来提示注入、越权操作、隐私泄露等攻击面。
因此,网站会越来越关心一个访问者到底是真人、普通自动化脚本,还是具备行动能力的 AI Agent。Fortress 站在 Agent 开发者一侧,试图让 Agent 不因为浏览器环境太"机器人"而被挡在门外。但从网站一侧看,这也意味着检测系统会继续升级到行为层、账户层、任务意图层。
这不是单向技术进步,而是一场对抗。

六、开源反检测浏览器的双刃剑
Fortress 的开源属性很有意义。商业反检测浏览器长期存在,但很多是闭源二进制,用户无法知道它到底改了什么,也无法确认有没有夹带风险。Fortress 把 patch series 放出来,允许用户自己构建、审计和验证。README 也写明它采用 BSD-3-Clause,补丁和工具链开放,Chromium 与字体保留各自许可证。
但这类工具天然有灰度。
合法用途包括:公开数据采集、自动化测试、可用性测试、研究测量、Agent 产品调试、浏览器指纹一致性研究。
风险用途包括:绕过网站风控、大规模爬取、账号滥用、垃圾注册、票务抢购、广告作弊、撞库辅助等。
Fortress README 自己也强调,它是用于合法自动化、测试和公开数据采集的浏览器工程项目,使用者需要遵守目标网站 ToS 和所在司法辖区法律。
这句话不是装饰。Agent 时代的浏览器自动化会变得更强,边界也会更敏感。越是底层的反检测能力,越需要明确用途边界。

七、它的局限在哪里
Fortress 目前至少有四个局限。
第一,它不能解决行为识别。Agent 的鼠标轨迹、滚动节奏、输入方式、任务路径、页面停留时间,仍然可能和真人不同。FP-Agent 论文的核心结论就是:行为指纹比浏览器指纹更能区分 AI browsing agents。
第二,它不能解决账号和业务风控。网站不只看浏览器,还看账号年龄、登录地点、支付方式、历史行为、请求频率、设备绑定、IP 信誉。浏览器像真人,不代表业务行为像真人。
第三,它需要持续维护。Chromium 版本、反 bot 脚本、Cloudflare、Akamai、DataDome、Kasada 的策略都会变化。Fortress README 也承认 detection keeps moving,并计划 monthly Chromium rebase 和新的 gauntlet rows。
第四,它当前平台支持还不完整。README 显示 Linux x64 和 Windows x64 有 native binary,macOS 仍通过 Docker,linux/arm64、macOS app、签名安装包等仍在路线图中。
所以 Fortress 更像一个"浏览器指纹层基础设施",而不是完整的 Agent 反拦截系统。

八、真正值得关注的趋势
Fortress 的出现说明一个趋势:Agent stack 正在分层。
第一层是模型。GPT、Claude、Gemini、Qwen、GLM 等负责理解任务和生成动作。
第二层是 Agent 框架。Browser Use、Stagehand、LangChain、Crawl4AI 等负责把自然语言任务转成浏览器动作、DOM 观察和结构化提取。
第三层是浏览器控制层。Playwright、Puppeteer、CDP、browser harness 负责把动作落到浏览器里。
第四层是浏览器执行环境。普通 Chromium、云浏览器、反检测浏览器、隔离浏览器、安全沙箱浏览器都会在这一层竞争。
第五层是网络和身份层。代理、会话、账号、cookie、权限、风控策略决定一次自动化是否能稳定、合规、可控地完成。
过去大家主要关注第一层和第二层,认为模型足够强,Agent 就能上网完成任务。Fortress 提醒我们:真正落地时,底层执行环境同样关键。Agent 不是在一个理想网页里工作,而是在一个充满风控、反自动化、验证码和动态检测的真实互联网里工作。
九、结论
Fortress 不一定会成为最终赢家,但它抓住了一个真实问题:浏览器 Agent 的瓶颈不只是"会不会点网页",还有"能不能以一个可信浏览器身份进入网页"。
它的技术路线是把 stealth 从 JS 注入层下沉到 Chromium C++ 层,通过引擎级指纹一致性减少自动化暴露;它的产品路线是保持 CDP 兼容,让现有 Playwright、Puppeteer 和 Agent 框架可以直接接入;它的开源路线是把 patch、build、gauntlet 公开,让用户能审计和复现。
但它也不会终结反 bot。网站检测会继续向行为层、账号层、网络层、任务意图层演进。未来的 Agent 浏览器不会只是"更像真人浏览器",还必须更安全、更可控、更合规,并能清楚区分授权自动化和滥用自动化。
Fortress 的意义不在于"绕过了某个检测",而在于它把一个新问题摆到了台面上:当 AI Agent 开始真正使用互联网,浏览器本身会成为 Agent 基础设施的一部分。
错误速查卡
| 症状 | 根因 | 定位 | 修复 |
|---|---|---|---|
pip install tilion-fortress 安装后启动失败 |
Docker 未启动 / 平台不支持 native binary | python -c "from tilion_fortress import Fortress; Fortress().start()" 报错信息 |
Linux x64 / Windows x64 直接 native;其他平台先装 Docker,再走 tilion/fortress:latest 镜像 |
connect_over_cdp("http://localhost:9222") 报 connection refused |
Fortress 未启动 / 端口被占用 | curl http://localhost:9222/json/version |
确认 Fortress().start() 成功执行;或显式 --remote-debugging-port=9222 |
| 仍被 Cloudflare 拦截 | 通常是 datacenter IP,不是 fingerprint | curl -v 看来源 IP 段 |
切换 residential / mobile 代理出口;README 明确指出 ≈ 90% 的拦截源自 IP 而非 fingerprint |
| 仍被 DataDome / Kasada 拦截 | 行为指纹 / 账号风控 | 参考 FP-Agent 论文结论 | 调整鼠标轨迹、滚动节奏、任务路径;多账号隔离、设备绑定 |
bot.sannysoft.com 出现红行 |
Persona 不一致或被识别为 headless | 看 WebDriver Advanced 与 WebGL 两行 |
核对 --uxr-* 参数与本地 TLS / OS 故事是否一致;避免 navigator.webdriver=true |
| CreepJS 报 headless 比例不为 0 | 单 surface 补丁被新检测向量盯上 | 跑 tools/gauntlet.py --bundle ./tilion-fortress |
提 issue + 检测页面 → 下一个 patch |
Runtime.enable leak 出现在 rebrowser bot-detector |
CDP 客户端发了 Runtime.enable |
看控制层 CDP 调用 | 切 raw CDP,不要 spawn chromedriver;Fortress README 三层检测框架明确这是 Layer B,需要控制层协作 |
creepjs 报 "38% like headless"(误读) |
误以为 38% 是 headless 命中率 | GAUNTLET_RESULTS.md 解释 | 那是 resemblance 模糊评分;hard headless 标志仍是 0% |
macOS 上 npm install tilion-fortress 报错 |
macOS native binary 仍在路线图 | README troubleshooting | 装 Docker Desktop;或换 Linux x64 / Windows x64 走 native |
linux/arm64(Apple Silicon 服务器 / ARM SBC)启动失败 |
镜像未发布 | docker run 拉取失败 |
临时用 linux/amd64 兼容(--platform linux/amd64);或跑 x64 emulator;等 roadmap |
Persona 在 /proc/<pid>/cmdline 暴露 |
单进程单 persona,且 cmdline 可读 | tr '\0' ' ' < /proc/<pid>/cmdline |
当前版本每个 persona 启一个进程;等 v2 MaskConfig runtime 上线(IPC-delivered,无 cmdline 痕迹) |
| 升级 Chromium 主版本后 patches 部分失败 | 上游 API 漂移 | build/apply-patches.sh 报 git apply 失败 |
用 build/rebase-monthly.sh 152.0.XXXX.0 三方合并;失败 patch 提 issue |
| Windows 149 channel 启动失败 | Windows native 仅支持 151 | SDK 默认 channel 是 stable (149) | Fortress(channel="latest").start() 切到 151;或走 Docker |
参考链接
- Fortress GitHub:github.com/tiliondev/f...
- Hacker News Show HN:news.ycombinator.com/item?id=487...
- Cloudflare Bot Scores / JavaScript Detections:developers.cloudflare.com/bots/concep...
- FP-Agent: Fingerprinting AI Browsing Agents:arxiv.org/abs/2605.01...
- Mind the Web: The Security of Web Use Agents:arxiv.org/abs/2506.07...
- Fortress Gauntlet Results:github.com/tiliondev/f...