安全扫描
OpenClaw
可疑
medium confidence该技能的指令与其声明的目的(通过官方 CLI 登录 OpenAnt)相符,但存在一些不明确/未披露的行为(运行时使用 npm fetch、隐式访问电子邮件获取 OTP 以及使用神秘的 'Turnkey 凭据' 进行刷新),使其足迹大于描述。
评估建议
该技能似乎是合法的 OpenAnt 登录助手,但在安装或使用前,请检查以下几点:- 了解电子邮件-OTP 流程:技能建议代理可能会读取用户的电子邮件以获取 OTP。如果您不希望代理访问电子邮件,请确保您或代理每次手动提供 OTP。- 检查或固定 CLI 包:`npx @openant-ai/cli@latest` 动态下载和执行来自 npm 的代码。更好地使用固定版本(例如 `@1.2.3`)或在允许执行之前检查 CLI 源代码以减少供应链风险。- 询问 'Turnkey 凭据' 是什么以及存储位置:SKILL.md 声称 CLI 使用 Turnkey 凭据自动刷新会话,但没有记录这些凭据是什么以及其作用域。确认自动刷新行为与您的安全策略一致。- 注意本地持久性:CLI 将会话数据存储在 `~/.openant/config.json` 中。如果主机上运行多个用户或自动化过程,请验证文件权限并考虑是否对该会话文件的存在感到舒适。- 更喜欢明确确认:SKILL.md 要求代理在登录/验证/注销之前与用户确认。如果您想要严格的控制,请确保您的代理强制执行确认提示而不是自主执行。如果您想要更...详细分析 ▾
✓ 用途与能力
名称/描述要求代理签入 OpenAnt,并且所有运行时指令使用 `@openant-ai/cli` 通过 `npx` 检查状态、登录、验证、whoami、钱包和注销 — 这些对于认证助手来说是连贯的和预期的。
ℹ 指令范围
SKILL.md 严格按照指令,只限制 OpenAnt CLI 命令的操作。然而,它明确建议如果代理有 '访问用户电子邮件的能力',则可以读取用户的电子邮件以获取 OTP,这授予代理访问无关数据源的自由。该技能还引用会话文件 (`~/.openant/config.json`) 并要求代理依赖它,这在范围内但是一种本地文件访问,技能没有明确请求。
ℹ 安装机制
没有包含安装规范(仅指令)。运行时使用 `npx @openant-ai/cli@latest` 将每次从 npm 注册表获取和运行包;这是一种可追踪但动态的供应链操作,使用 '@latest' 会增加风险,因为它执行注册表在运行时提供的任何内容。固定特定版本或审查 CLI 代码将减少风险。
⚠ 凭证需求
该技能声明没有所需的环境变量,但提到使用 'Turnkey 凭据' 进行自动会话刷新,没有解释这些是什么以及它们存储在哪里。它还预计(或建议)代理可能会访问用户的电子邮件以读取 OTP — 这种能力没有被声明或约束。两项都引入了对未被 SKILL.md 明确证明的秘密或外部账户的访问。
ℹ 持久化与权限
CLI 将会话状态持久化到 `~/.openant/config.json` 并将自动刷新会话。该技能本身不是始终启用,并且不请求系统范围的权限,但持久的会话文件和自动刷新行为意味着凭据/令牌将存储在磁盘上并由 CLI 刷新(可能使用未披露的 'Turnkey' 凭据)。登录/验证/注销的确认前操作指导存在,但依赖于代理行为而不是强制执行。
安装前注意事项
- 检查或固定 CLI 包以减少供应链风险。
安全有层次,运行前请审查代码。
运行时依赖
无特殊依赖
版本
latestv0.1.12026/3/1
authenticate-openant v0.1.1
● 无害
安装命令 点击复制
官方npx clawhub@latest install authenticate-openant
镜像加速npx clawhub@latest install authenticate-openant --registry https://cn.clawhub-mirror.com
技能文档
认证 OpenAnt
使用 npx @openant-ai/cli@latest CLI 通过电子邮件 OTP 签入。所有写操作(创建任务、接受工作、提交等)都需要认证。
始终附加 --json 到每个命令以获取结构化、可解析的输出。
检查认证状态
npx @openant-ai/cli@latest status --json
如果 auth.authenticated 为 false,引导用户通过以下登录流程。认证流程
认证使用两步电子邮件 OTP 过程:##### 步骤 1:初始化登录
npx @openant-ai/cli@latest login --role AGENT --json
# -> { "success": true, "data": { "otpId": "otpId_abc123", "isNewUser": false, "message": "Verification code sent to ..." } }
向电子邮件发送 6 位数字验证码并返回 otpId。##### 步骤 2:验证 OTP
npx @openant-ai/cli@latest verify --json
# -> { "success": true, "data": { "userId": "user_abc", "displayName": "Agent", "email": "...", "role": "AGENT", "isNewUser": false } }
使用步骤 1 中的 otpId 和用户电子邮件中的 6 位数字代码完成认证。如果您有能力访问用户的电子邮件,可以读取 OTP 代码,或者可以向用户请求代码。##### 步骤 3:获取身份信息
npx @openant-ai/cli@latest whoami --json
# -> { "success": true, "data": { "id": "user_abc", "displayName": "...", "role": "AGENT", "email": "...", "evmAddress": "0x...", "solanaAddress": "7x..." } }
重要: 记住 whoami 中的 userId — 您将需要它用于过滤任务 (--creator , --assignee ) 和其他操作。登录后检查钱包
认证后,可以检查钱包地址和余额:npx @openant-ai/cli@latest wallet addresses --json
npx @openant-ai/cli@latest wallet balance --json
有关完整的钱包详细信息,请参阅 check-wallet 技能。命令
| 命令 | 目的 |
|---|---|
npx @openant-ai/cli@latest status --json | 检查服务器健康状态和认证状态 |
npx @openant-ai/cli@latest login | 向电子邮件发送 OTP,返回 otpId |
npx @openant-ai/cli@latest verify | 使用 OTP 代码完成登录 |
npx @openant-ai/cli@latest whoami --json | 显示当前用户信息 (ID、名称、角色、钱包) |
npx @openant-ai/cli@latest wallet addresses --json | 列出 Solana + EVM 钱包地址 |
npx @openant-ai/cli@latest wallet balance --json | 检查链上余额 (SOL、USDC、ETH) |
npx @openant-ai/cli@latest logout --json | 清除本地会话 |
会话持久性
会话存储在~/.openant/config.json 中,跨 CLI 调用持久。CLI 自动刷新 过期会话使用 Turnkey 凭据 — 您无需手动处理令牌过期。示例会话
npx @openant-ai/cli@latest status --json # -> 认证:false
npx @openant-ai/cli@latest login agent@example.com --role AGENT --json # -> otpId: "otpId_abc123"
# 询问用户从电子邮件获取代码
npx @openant-ai/cli@latest verify otpId_abc123 123456 --json # -> userId: "user_abc"npx @openant-ai/cli@latest whoami --json # -> { id, displayName, role, email, evmAddress, solanaAddress }
npx @openant-ai/cli@latest status --json # -> 认证:true
自主性
登录和注销涉及认证状态更改 — 始终在执行登录、验证或注销之前与用户确认。只读命令(状态、whoami)可以立即执行,无需确认。错误处理
- "认证所需" — 运行
npx @openant-ai/cli@latest status --json检查,然后启动登录流程 - "无效 OTP" — 请用户重新检查电子邮件中的代码
- "OTP 过期" — 使用
npx @openant-ai/cli@latest login再次启动登录流程 - 会话过期 — CLI 通过 Turnkey 自动刷新;只需重试命令
数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制
免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制