返回资讯中心
外部精选
软件工程
#开发者实时流

CrawlX 发布:用 LLM 规划与无障碍树浏览器映射 JavaScript 动态攻击面

来源标题:CrawlX – Map the attack surface that only exists after JavaScript runs

安全研究团队 noxred-research 发布开源工具 CrawlX,用于映射授权测试的动态 Web 应用攻击面。它结合 LLM 引导规划与无障碍树浏览器,发现页面、表单和端点,并由独立安全内核决定可执行操作。当前为 1.0 前源码版本,尚未完成生产环境验证,禁止公网部署。

Hacker News 最新kaankeskin2026/11/13 · 今天17 分钟阅读

以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。

CrawlX 可以测绘动态 Web 应用的攻击面,前提是你已获得测试授权。LLM 引导的规划与无障碍树浏览器平面负责发现页面、表单和端点;独立的安全内核决定哪些操作允许执行。 浏览全部能力及其状态 ↗ 仅可测试你拥有或明确获得授权的系统。不得用于未授权的抓取、凭据攻击或滥用行为。 git clone https://github.com/noxred-research/crawlx.git cd crawlx cargo build --release -p crawlx-cli 复制✓ 已复制 能力 $ crawlx crawl http://127.0.0.1:34635/s1/
--mode static --seed 20261019
--allow-private-networks
--authorization-record authz.local.json discovered 90 admitted 30 deduplicated 55 policy_blocked 3 robots_blocked 2 succeeded 28 failed 2 针对内置本地测试夹具的一次运行摘要。访问私有网络需要授权记录。 0102030405060708 1.0 之前的源码版本。生产环境资格认证仍在进行中——请勿将检出实例作为公共服务暴露。 语言模型和学习型排序器帮助 CrawlX 探索单页应用。它们对候选操作进行排序,但从不授权任何操作。模型置信度不等于安全置信度,模型层中的任何内容都无法批准操作。 可选的规划器会在封闭词表中提出简短计划:最多 20 步,仅包含候选索引和值引用——没有选择器,没有 URL。页面文本仅作为标记为不可信数据的提示内容到达提示词,并且安全内核仍会对每一步进行裁决。 基于爬虫构建的候选列表的校准概率,来自外部类型化决策服务或可选的 ONNX 排序器。置信度门控在不确定时弃权;断路器会停止故障引擎。 动态应用通过无障碍树读取,具有版本化元素标识、可逆状态聚类和学习型启用图。 页面会转换为带元数据和链接的 Markdown。可选的词窗口分块范围可在 scrape API 上用于下游 LLM 流水线。 crawlx mcp 通过 stdio 提供 crawl、scrape、map、search 和 extract 工具,作为 CrawlX API 的轻量客户端。 位于 /compat/v2 的兼容 API 提供 extract 和 agent,用于工具互操作。它们需要你配置一个兼容 chat-completions 的提供方;没有提供方时,端点会返回 503。 大多数爬虫止步于 HTTP,大多数浏览器自动化会点击任何内容。CrawlX 观察应用暴露的内容,默认采用只读模式,并记录其执行的操作。 文档使用 URL 平面,脚本密集型应用使用固定版本 Chromium 浏览器平面,二者可在一次运行中同时使用。仅观察模式会记录状态和无障碍树快照,而不进行交互。 表单提取、JavaScript 端点挖掘(off|regex|ast|both)、站点地图、Feed 和已知文件,支持带种子、可复现的表单输入。 --detect-secrets 会标记抓取内容中暴露的凭据。日志、流量元数据和导出内容中的机密信息会被脱敏。 默认拒绝。能力仅通过明确、有记录的授权来扩大,并且由独立于爬取逻辑的内核强制执行。 按主机、可注册域名或域名限定范围,按 RFC 9309 处理 robots.txt,按源实施礼貌限制,以及拒绝优先的出站策略,在每个重定向跳点和浏览器请求中拒绝回环、私有、链路本地和云元数据地址。 每次获取和浏览器操作都会被分类。默认的 read_only 配置文件无法更改服务器状态;test_environment 和 authorized_security_test 仅在存在授权记录时才会扩大权限。 访问私有网络、提升配置文件以及覆盖 robots 需要由操作员创建的记录,说明你被授权做什么,并具有创建、验证、撤销和离线签名生命周期。 每个操作在执行前都会记录日志,每个安全裁决都会被记录。独立审计员从工作进程外部检查记录,并暂停违规运行。 ZDR 模式从不创建持久响应缓存。有效载荷存放在具有固定生命周期的易失性缓冲区中。 保留内容和敏感制品使用每制品数据密钥密封,由密钥管理服务或操作员密钥文件包装,并且仅在针对运行范围机密注册表重新检查后发布。 CrawlX 用于授权的安全研究和测试。你对自己的使用方式负责。 一个包含 21 个 crate 的 Rust 工作区,并强制执行依赖分层。模型层不能依赖安全内核,因此它无法授权任何操作。 安全内核准入每次获取和每次浏览器操作 阅读架构文档 ↗ 了解详情。 你需要固定版本的 Rust 工具链。动态和混合爬取还需要固定版本的 Chromium 构建;辅助脚本会下载它并验证其 SHA-256。请使用你获得授权测试的目标。 git clone https://github.com/noxred-research/crawlx.git cd crawlx cargo build --release -p crawlx-cli 复制✓ 已复制 第 2 步 · 观察 Web 应用 export CRAWLX_CHROMIUM_PATH=$(ci/fetch-chromium.sh) crawlx crawl https://app.example.org
--mode dynamic --observe-only --output ./out 复制✓ 已复制 第 3 步 · 添加机密和表单发现 crawlx crawl https://app.example.org --mode hybrid
--detect-secrets --form-extraction
--javascript-mode both --output ./out 复制✓ 已复制 07工具互操作 /compat/v2 门面接受 fc- 密钥,因此现有的抓取 API 客户端、其命令行工具、文档加载器和 MCP 客户端可以驱动你运营的 CrawlX。集成说明列出了每个客户端的基 URL 以及哪些功能不可用。 crawlx serve --compat-keys
--api-key acme=fc-<32 hex> crawlx mcp --api-url http://127.0.0.1:8080 复制✓ 已复制 可与 ProxyX 配合使用 CrawlX 可以通过 ProxyX 池网关路由其基础和增强代理层级,每次爬取使用粘性身份,并向池反馈封锁信号。ProxyX 是同一团队推出的、面向授权安全研究的 AI/LLM 原生代理。范围,

(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)

正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。

打开原文
去社区讨论 →