用途:workspace-cli(命令名 cws)是长亭科技安全产品的统一 CLI,用于管理 SafeLine WAF、X-Ray 扫描器、CloudWalker CWPP 和 T-Answer。官方将其定位为这些产品唯一受支持的操作接口,建议优先使用 cws 子命令而非 curl 或手工 HTTP 请求;若某操作未被 CLI 暴露,应停止并说明不支持,不要自行直连 API 执行可能有风险的操作。
安装与前置条件:可从 GitHub Releases(https://github.com/chaitin/workspace-cli/releases)下载预编译二进制,或从源码构建:git clone https://github.com/chaitin/workspace-cli.git、cd workspace-cli、go build -o cws .,源码构建需 Go 1.25+。运行前需保证机器能访问各产品控制台/API 地址,并生成 API key(如 SafeLine → System → API Token)。调用形式为 cws <product> <command> [flags]。
配置:在工作目录创建 config.yaml,按产品填写 url 与 api_key(safeline、xray、cloudwalker、tanswer 各自字段),也可用环境变量或 .env(如 SAFELINE_URL、SAFELINE_API_KEY、XRAY_URL、XRAY_API_KEY)。优先级为 flags > 环境变量/.env > config.yaml。用 -c 切换不同环境配置。TLS 自签名证书方面,cws xray 默认不跳过校验,需传 --insecure 开启;cws safeline 默认已跳过校验(--insecure 默认 true),传 --insecure=false 可恢复校验;safeline-ce、cloudwalker、tanswer 不暴露该标志且始终跳过校验。
命令发现与输出:以 --help 为准,可逐级查看产品、命令组、具体命令的标志。xray 命令由 OpenAPI 规范自动生成,数量庞大。各产品输出格式不统一,没有全局 -f/--format:safeline 默认表格,用 --indent 输出 JSON;safeline-ce 用 -o json;xray 固定 JSON;cloudwalker 用 -f json,text 模式有 --no-trunc;tanswer 用 --raw。--dry-run 的支持情况因产品而异。
主要能力(按任务):SafeLine 侧包括站点管理(site)、IP 组(ip-group)、ACL 模板与规则(acl,支持封禁、限速、限流)、策略规则(policy-rule,可针对 URL 路径、Header、Body 等条件)、检测模块开关(policy-group,如 m_sqli、m_xss)、攻击/访问/限速日志(log)以及系统与网络信息。X-Ray 侧包括扫描任务(plan,如 PostPlanCreateQuick 快速扫描)、结果与漏洞、报告、资产(web/domain/ip/service)、基线检查、自定义 POC 等。CloudWalker 侧重主机事件响应(webshell、反弹 shell、爆破)、主机资产、勒索防护、文件隔离、进程终止、主机防火墙。T-Answer 提供流量层威胁检测防火墙与规则管理。
典型用法示例:cws safeline stats overview --duration h 查看统计;cws safeline site list 列出站点;cws safeline log detect list --count 20 查看攻击日志;用 acl template create 创建封禁或限速规则,用 acl rule delete <id> --add-to-whitelist 解除误封;用 policy-rule create 创建自定义规则。
限制:文档未提供各产品支持的完整命令清单,需以 --help 为准;部分产品对 --dry-run 支持不一致(safeline-ce 存值未使用、tanswer 忽略);输出格式不统一;API key 生成入口与各产品具体字段名称以官方为准,部分细节暂未提供。