本地扫描器 (On-Premise)
Ostorlab 支持通过在用户控制的基础设施上部署 Ostorlab 扫描器来进行本地扫描。 根据您的许可证,您可以对移动应用程序、Web/API 和专用网络执行扫描。
以下是执行本地扫描所需的步骤。
访问 report.ostorlab.co
1. 声明扫描器
单击顶部导航栏中的 menu 按钮以打开侧边导航抽屉。

单击 Scanning 以展开扫描部分。

然后选择 Scanners。

要声明新扫描器,请单击 Add 并选择 Add Scanner。

填写扫描器名称和描述(并可选择将其分配给现有的扫描器组)。

保存扫描器的 scanner-identifier(您可以直接使用表格中的复制图标进行复制)。最初,扫描器将显示为 Offline 状态,直到扫描守护程序连接。该标识符将在启动 Ostorlab 扫描守护程序时使用。

可选:扫描器组(并行执行与高可用性)
在同一个 Scanners 页面上,您可以通过切换到 Scanner Groups 选项卡或选择 Add Scanner Group 将多个扫描器节点组织成 扫描器组。

填写组名称、描述,并选择要包含在该组中的扫描器节点。

为什么使用扫描器组?
一次扫描会创建多个 Universe(子任务和 Agent 运行环境)。使用单个扫描器节点时,默认情况下扫描 Universe 会排队并按顺序依次执行(不过,单个节点如果配置了--parallel N也可以并发处理 Universe)。使用 扫描器组 时,扫描 Universe 会分发并在组内的所有扫描器节点上同时处理。例如,将 2 个扫描器分组可在多台机器之间使处理吞吐量翻倍;拥有足够多的扫描器(大于或等于 Universe 数量)时,所有 Universe 将同时运行,从而实现水平扩展、高可用性以及最快的扫描完成速度。
2. 安装并验证扫描器
在目标机器上安装带有 scanner 额外依赖项(ostorlab[scanner])的 ostorlab CLI 工具,其中包含运行扫描守护程序所需的 python-daemon 和 psutil。请注意,扫描守护程序支持 Linux 和 macOS(Unix 系统;目前不支持 Windows,因为守护程序依赖于 Unix 进程机制)。另请注意,Ostorlab 仅支持 Python 3.13+(>=3.13);旧版 Python(如 Python 3.11)已被弃用且不再受支持。有关更多详细信息,请遵循 Ostorlab GitHub 仓库 中的说明。
pip install --upgrade "ostorlab[scanner]"

接下来,创建用于身份验证的组织 API 密钥。在左侧边栏中导航至 Integrations/API → API Keys,单击 New API Key,指定名称,将角色设置为 Admin,并生成您的 API 密钥。有关详细步骤,请参阅 组织 API 密钥文档。

使用您的组织 API 密钥和之前获取的扫描器标识符在您的机器上运行扫描守护程序:
ostorlab --api-key=XXXX.XXXXXXX scanner --scanner-id=XXXX-XXXX-XXXXX
Tip
默认情况下,扫描器一次执行一个 Universe(--parallel 1)。您可以通过传递 --parallel N(例如 --parallel 2)来增加单台机器上的并发量。

连接成功后,返回 Scanners 页面。扫描器状态将更新为 Online(绿色),并显示实时系统遥测数据,包括 IP 地址、CPU 和内存指标:

3. 运行扫描
现在要运行扫描,请返回 Ostorlab 平台并单击菜单按钮。

单击 Scanning。

并选择 New Scan。

选择您的资产类型,例如 Web App。

填写您的目标(URL 或域名),然后单击 Continue。

在 Scanner 步骤中,选择您的单个扫描器节点或选择一个 Scanner Group 以跨多个扫描器分发扫描,然后单击 Continue。

选择扫描配置文件,例如:Full Web Scan。

如果需要,配置其他设置或凭证。

然后单击 Submit。
扫描将被创建并分发到您的本地扫描器(或分发到您选择的扫描器组中的各个扫描器节点)。
本指南展示了本地扫描的完整流程,涵盖了从声明扫描器和扫描器组到在指定基础设施上运行扫描的全过程。