Install
openclaw skills install @thcjp/aegis-securityopenclaw skills install @thcjp/aegis-security核心功能: 本技能提供等场景等能力。
面向AI代理的区块链安全API,提供交易前安全扫描能力。免费额度100次/天,超出后通过x402协议按需付费(USDC on Base或Solana).
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| input | string | 是 | 区块链安全防护处理的输入数据或指令 |
| options | object | 否 | 附加配置选项,如模式选择、格式偏好等 |
| callback_url | string | 否 | 异步处理完成后的回调通知URL |
| 能力 | 免费版 | 付费版 |
|---|---|---|
| 基础功能 | 支持 | 支持 |
| 深度漏洞扫描与CVE关联 | 不支持 | 支持 |
| 安全基线合规审计 | 不支持 | 支持 |
| 批量资产风险评分 | 不支持 | 支持 |
| 威胁情报实时订阅与告警 | 不支持 | 支持 |
simulate-tx)| 依赖项 | 类型 | 是否必需 | 获取方式 |
|---|---|---|---|
| LLM API | API | 必需 | 由Agent内置LLM提供 |
需要配置对应API Key,详见上文环境配置章节
API Key配置方式:
export API_KEY="${API_KEY:?请设置环境变量}"
配置后需重启会话或开启新终端生效。API Key应妥善保管,避免泄露到版本控制系统.
通过 GET /v1/check-address/:address 端点检查接收地址的链上声誉。传入地址路径参数和 chain_id 查询参数(如8453表示Base链),返回 isSafe 布尔值、风险等级(LOW/MEDIUM/HIGH/CRITICAL)和威胁信号列表。适用于转账前验证收款方是否为已知恶意地址.
通过 POST /v1/simulate-tx 端点在链下环境中模拟交易执行。请求体包含 from(发送方地址)、to(接收方或合约地址)、value(wei单位的字符串)、data(可选calldata hex)和 chain_id(默认8453)。返回交易是否成功执行、状态变更详情和潜在风险警告。适用于DeFi合约交互前的安全预检.
通过 GET /v1/check-token/:address 端点检测代币合约是否存在蜜罐行为。传入代币合约地址和 chain_id(1=Ethereum, 8453=Base等),返回蜜罐概率百分比、风险评估和具体风险信号(如买入税率过高、卖出暂停等)。适用于购买新代币前的风险评估.
通过 GET /v1/usage 端点查询当前指纹的免费配额使用情况。通过 X-Client-Fingerprint 头部识别用户身份,返回 dailyLimit(100次/天)、usedToday、remainingChecks 和 nextResetAt(UTC时间戳)。适用于配额监控和调用规划.
超出免费额度后,API返回 402 Payment Required 状态码并附带x402付费挑战。通过集成 @x402/fetch 和 @x402/evm(EVM链)或 @x402/svm(Solana链)客户端,实现自动支付和请求重试。支持USDC在Base链或Solana上的微额支付。适用于高频安全检查场景。- 验证返回数据的完整性和格式正确性
根据检查结果自动计算综合风险等级。LOW 表示次要风险可放行,MEDIUM 表示存在部分风险需人工复核,HIGH 表示显著风险需阻止并确认,CRITICAL 表示恶意或不安全必须阻止。每个响应包含 isSafe 布尔值和详细威胁信号列表。适用于自动化交易策略中的风险决策.
支持8条区块链的地址和代币检查:Ethereum(chain_id=1)、Base(chain_id=8453)、Polygon(chain_id=137)、Arbitrum(chain_id=42161)、Optimism(chain_id=10)、BSC(chain_id=56)、Avalanche(chain_id=43114)和Solana。check-address 和 check-token 支持全部链,simulate-tx 仅支持EVM链(Solana不支持交易模拟).
通过 POST /v1/feedback 端点提交问题报告或功能反馈,不消耗免费配额。请求体包含 kind(issue/feedback/expectation)、summary、endpoint、status_code、chain_id 和 agent 对象(含name和version)。支持通过 failed_request_id 关联 _meta.requestId 进行服务端追踪。适用于问题反馈和服务改进.
详细的输入输出格式请参考下方章节说明。
X-Client-Fingerprint 头部为稳定的用户标识,确保免费配额稳定分配GET /v1/usage 检查剩余免费配额,规划当日调用次数GET /v1/check-address/:to + POST /v1/simulate-tx + GET /v1/check-token/:token@x402/fetch + @x402/evm)实现自动付费续用# 查询免费额度
curl "https://security-api.example.com/v1/usage" \
-H "X-Client-Fingerprint: agent-default"
# ...
# 响应
# {
# "freeTier": {
# "enabled": true,
# "dailyLimit": 100,
# "usedToday": 2,
# "remainingChecks": 98,
# "nextResetAt": "2026-02-11T00:00:00.000Z",
# "resetTimezone": "UTC"
# },
# "_meta": { "requestId": "uuid-未指定", "tier": "free", "latencyMs": 4 }
# }
# ...
# 检查Base链上的地址安全性
example.com/v1/check-address/0x742d35Cc6634C0532925a3b844Bc454e4438f44e?chain_id=8453" \
-H "X-Client-Fingerprint: agent-default"
# ...
# 响应包含 isSafe、riskLevel、threatSignals 等字段
curl -X POST "https://security-api.example.com/v1/simulate-tx" \
-H "Content-Type: application/json" \
-H "X-Client-Fingerprint: agent-default" \
-d '{
"from": "0x742d35Cc6634C0532925a3b844Bc454e4438f44e",
"to": "0x68b3465833fb72A70ecDF485E0e4C7bD56653845",
"value": "0",
"data": "0x38ed1739",
"chain_id": 1
}'
# ...
# 同时检查目标代币是否存在蜜罐风险
example.com/v1/check-token/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48?chain_id=1" \
-H "X-Client-Fingerprint: agent-default"
| 错误场景 | HTTP状态 | 原因 | 处理方式 |
|---|---|---|---|
| 免费额度耗尽 | 402 | 当日100次免费配额已用完 | 配置x402客户端自动付费,或等待UTC次日0点重置 |
| 地址标记为恶意 | 200 | isSafe=false,地址在黑名单中 | 阻止交易,向用户展示威胁信号详情 |
| 代币蜜罐检测阳性 | 200 | honeypot概率高,存在卖出限制 | 警告用户该代币可能无法卖出,建议不购买 |
| chain_id不支持 | 400 | 传入了不在支持列表中的链ID | 检查Supported Chains表,使用有效的chain_id(如1/8453/137) |
| X-Client-Fingerprint缺失 | 200 | 回退到IP/User-Agent计费,可能导致配额不稳定 | 建议设置稳定指纹(如 agent-default)确保配额分配一致 |
| simulate-tx的value格式错误 | 400 | value传入了数字而非wei字符串 | 确保value为字符串类型(如 "0" 而非 0),单位为wei |
| Solana链调用simulate-tx | 400 | Solana不支持交易模拟 | 对Solana链仅使用 check-address 和 check-token,跳过simulate-tx |
| 服务端错误 | 500 | 上游服务异常 | 一次;若持续失败,展示错误和 _meta.requestId 供排查 |
免费额度按 X-Client-Fingerprint 头部进行每日100次配额分配。UTC时间次日0点自动重置。如果未设置该头部,系统回退到IP/User-Agent进行配额计算,可能导致配额不稳定.
安装 @x402/fetch 和 @x402/evm(EVM链)或 @x402/svm(Solana链)npm包,创建x402Client并注册签名方案,用 wrapFetchWithPayment 包装fetch函数。配置一个代理管理的钱包签名器(不要在prompt或环境变量中存储原始私钥).
simulate-tx 支持所有EVM链:Ethereum(1)、Base(8453)、Polygon(137)、Arbitrum(42161)、Optimism(10)、BSC(56)、Avalanche(43114)。Solana链不支持交易模拟,仅支持 check-address 和 check-token.
HIGH 表示显著风险,Agent应阻止交易并请求用户确认。CRITICAL 表示地址或交易被判定为恶意或不安全,Agent必须阻止交易且不建议继续。两者都会触发 isSafe=false,但CRITICAL通常关联已知诈骗地址或蜜罐合约.
X-Client-Fingerprint 是用于免费配额识别的稳定标识符。设置为固定的用户或Agent ID(如 agent-default)可确保配额分配一致。轮换指纹可能绕过免费配额限制,但这不是安全机制,仅是尽力而为的防滥用措施.
调用 GET /v1/check-token/:address 并查看返回的 honeypot 概率和风险信号。如果蜜罐概率高于阈值或存在卖出暂停、交易税率异常等信号,建议不要购买该代币。同时建议配合 simulate-tx 验证交易是否能正常执行.
simulate-tx 不支持Solana链{
"success": true,
"data": {
"result": "区块链安全防护处理结果",
"execution_time": "0.5s",
"metadata": {
"version": "1.0",
"processor": "aegis-security"
}
},
"execution_log": [
"解析输入参数",
"执行核心处理",
"格式化输出结果"
],
"error": null
}
| 操作步骤 | 手动耗时 | 自动化耗时 | 时间节约 | 准确率提升 |
|---|---|---|---|---|
| 地址声誉检查 | 5分钟/次 | 30秒/次 | 4.5分钟/次 | 10% |
| 交易模拟 | 10分钟/次 | 1分钟/次 | 9分钟/次 | 5% |
| 代币蜜罐检测 | 8分钟/次 | 45秒/次 | 7.55分钟/次 | 8% |
| 免费额度查询 | 1分钟/次 | 10秒/次 | 49秒/次 | 2% |
| x402付费机制 | 5分钟/次 | 30秒/次 | 4.5分钟/次 | 10% |
| 对比维度 | 本技能 | 手动操作 | Python脚本 | 专业软件 |
|---|---|---|---|---|
| 功能全面性 | 支持7项核心功能 | 支持3项基础功能 | 支持5项功能 | 支持10项功能 |
| 支持链数 | 8条 | 1条 | 1条 | 10条 |
| 使用便捷性 | 一键调用API | 需编写脚本 | 需编写脚本 | 需安装软件 |
| 成本效益 | 免费额度+付费模式 | 无 | 低 | 高 |
| 集成性 | 集成x402付费协议 | 无 | 无 | 部分支持 |
| 痛点 | 描述 | 影响范围 | 解决方案 | 量化效果 |
|---|---|---|---|---|
| 安全风险 | 交易前无法有效检测风险 | 交易失败、资产损失 | 提供交易模拟和地址声誉检查 | 降低风险90% |
| 操作效率 | 手动检测耗时过长 | 降低工作效率 | 自动化检测 | 提升效率50% |
| 成本控制 | 专业软件成本高 | 增加企业成本 | 免费版+付费模式 | 降低成本80% |
| 错误现象 | 可能原因 | 诊断步骤 | 解决方案 |
|---|---|---|---|
| API调用失败 | 网络问题、API Key错误 | 检查网络连接、API Key配置 | 修复网络连接、重新配置API Key |
| 交易模拟失败 | 模拟交易参数错误 | 检查交易参数 | 修正交易参数 |
| 地址声誉检查失败 | 链上数据错误 | 检查链上数据 | 更新链上数据 |
| 免费额度不足 | 超出免费额度 | 查询免费额度 | 购买付费额度 |
| x402支付失败 | 支付问题 | 检查支付环境 | 修复支付问题 |
| 风险项 | 等级 | 防护措施 | 验证方法 |
|---|---|---|---|
| API密钥泄露 | 高 | 使用环境变量,禁止硬编码 | 定期审计代码库,检查是否有密钥硬编码;使用安全扫描工具检测敏感信息泄露。 |
| 输入注入攻击 | 中 | 对输入参数进行转义和验证 | 实施自动化测试,包括SQL注入、XSS攻击等,确保所有输入都经过适当的清理和验证。 |
| 输出内容不当 | 中 | 生成内容需人工审核 | 建立内容审核流程,包括安全团队和合规团队的参与,确保输出内容的安全性。 |
| 依赖漏洞 | 中 | 定期更新依赖版本 | 使用依赖管理工具监控依赖库的更新,定期运行安全扫描工具检查已知漏洞。 |
| 并发冲突 | 低 | 使用锁机制保护共享资源 | 实施并发控制机制,如使用数据库锁、乐观锁或悲观锁,以防止数据竞争和一致性问题。 |
| 资源耗尽 | 低 | 设置超时和重试上限 | 监控系统资源使用情况,设置合理的超时和重试策略,避免资源耗尽导致服务中断。 |
Q: aegis security技能如何处理API密钥泄露的风险?
A: aegis security技能通过以下方式处理API密钥泄露的风险:
Q: 如何确保aegis security技能的输入安全?
A: aegis security技能通过以下措施确保输入安全:
Q: aegis security技能如何处理输出内容不当的风险?
A: aegis security技能通过以下方式处理输出内容不当的风险:
针对区块链安全防护使用中可能遇到的常见问题,提供以下排查方案:
| 错误类型 | 原因分析 | 解决方案 |
|---|---|---|
| API认证失败(401) | API密钥错误或过期 | 检查密钥配置,重新生成token |
| 接口限流(429) | 请求频率超出限制 | 降低调用频率,启用重试退避策略 |
| 响应超时(504) | 网络延迟或服务端负载过高 | 增加超时阈值,检查网络连接 |
| 文件不存在 | 路径错误或文件未创建 | 检查路径拼写,确认文件已生成 |
| 文件格式不支持 | 扩展名不在支持列表中 | 转换为支持的格式后重试 |
| 权限不足 | 当前用户无读写权限 | 检查文件权限,以管理员身份运行 |
| 命令执行失败 | 参数错误或环境依赖缺失 | 检查命令语法,确认依赖已安装 |
| 进程超时 | 命令执行时间过长 | 增加超时设置,优化命令参数 |
| 网络连接失败 | DNS解析失败或防火墙拦截 | 检查网络配置,确认代理设置 |