跳转至

输出、错误与脱敏

稳定信封

非流式 stdout 默认输出稳定 JSON 信封:

{
  "ok": true,
  "data": {},
  "meta": {
    "command": "host-info",
    "credits_used": null,
    "credit_impact": "none",
    "credits_estimated": null
  },
  "error": null
}

在命令组之前选择 --output json--output jsonl--output human。结构化成功结果写入 stdout;诊断、状态变更预览、重连事件和调试事件写入 stderr。

数据流默认每行输出一个信封。使用 --stream-format sse 时,每个信封作为 SSE data: 事件输出,并以空行结束。

退出码

退出码 含义
0 成功
2 用法错误或严格模式安全门禁
3 认证失败
4 授权或权限不足
5 积分错误
6 网络错误
7 API、下载或完整性错误
8 超时
9 数据流或操作被中断
10 未预期的内部错误

脚本应先检查退出码,再处理结果。数据流在达到请求数量前结束时会返回网络错误,不会把部分输出报告为完整成功。

递归脱敏

CLI 会从结构化输出和错误中脱敏 API Key、凭据类字段、Bearer Token、Authorization Header、Cookie、通知器参数、Routing Key、Webhook URL、签名下载 URL 和代理凭据。Shodan API Key 在内部作为查询认证传递,但不会显示在 URL 中。

脱敏只能降低意外泄露风险,不代表任意输出都适合公开。即使移除了凭据,主机数据、账户信息、告警、请求头和组织成员信息仍可能敏感。