AutoHedge
AutoHedge 安全运维:风险提示词不等于交易授权
检查环境发现、明文任务历史和签名函数,把模型建议与可强制执行的交易策略、已确认结果区分开来。
你将学会
- 不要把建议变成权限
- 阅读实际签名函数
- 隔离秘密与运行证据
开始前需要
- 基础 Python、Git 与依赖管理知识
- 虚构证据任务,不提供钱包或签名权限
解释所查实现与反例,不把模拟或生成文字当成已验证金融结果。
先看结论
- 建议性风险文字不是硬性授权关卡。
- 任何未来签名集成都需独立核验解码意图。
- HTTP 成功、业务状态与确认结果不是一回事。
不要把建议变成权限
风险提示词要求仓位与回撤分析,worker 却输出字符串。所查包装器没有执行数值上限,也没有在返回导演答案前要求类型化审批。提示词可以指导生成,但不是独立强制执行的授权系统。
未来若接入签名工具,需要另设策略边界,把拟执行资产、金额、目的地和请求身份与已授权指令核对。这是设计要求,不是默认流程已经验证的功能;本次没有加入这种集成,也没有把钱包控制权交给模型。
阅读实际签名函数
get_order 只检查资产和金额字符串非空,从配置密钥派生 taker、receiver、payer 后请求未签名交易。本地非空判断不是金额范围校验,也不证明服务接受订单。execute_trade 则加载密钥、解码传入交易、签署消息、填充签名列表并携请求 ID 提交。
所查 execute_trade 在签名前没有把解码交易内容与独立批准的资产、金额和目的地策略比较。它调用 raise_for_status 后序列化响应 JSON,并不独立解释所有业务状态为已确认成功。这是源码层观察,不是全面安全审计,也不是当前 Jupiter 服务行为实测。
隔离秘密与运行证据
签名读取 SOLANA_PRIVATE_KEY,而不是 README 的 WALLET_PRIVATE_KEY 标签。父目录 .env 搜索和导入时环境加载会使周围配置影响运行。纯研究进程应没有签名私钥和签名工具,不能只靠“提示词没要求交易”充当凭据边界。
任务明文保存在 recent_tasks.txt,搜索日志也包含查询前缀,因此应把提示与日志视作可能敏感的数据。记录请求尝试、返回状态与失败时不要泄露密钥。本次没有加载钱包、解码或签署交易,也没有验证真实部署的运行安全。
实施步骤
- 1
研究环境不提供签名私钥。
- 2
检查实际工具挂载与周围环境文件。
- 3
为未来集成设计明确意图、策略与结果核验。
- 4
按敏感程度处理任务历史和日志。
可复制示例
{"riskTextIsAuthorization":false,"signingVariableInSource":"SOLANA_PRIVATE_KEY","signingKeysLoaded":0,"transactionsDecoded":0,"actualSignatures":0,"actualTrades":0,"productionSecurityVerified":false}常见问题
生成风险分数就能允许签名吗?
不能,模型输出与独立授权不同;所查包装器没有建立这个策略边界。
200 响应一定代表交易已确认吗?
不能仅凭该包装器得出结论,它返回 JSON,没有独立校验全部业务结果和确认状态。
资料来源
- autohedge/main.py来源核查 2026-09-08
- autohedge/workers.py来源核查 2026-09-08
- autohedge/prompts.py来源核查 2026-09-08
- autohedge/cli.py来源核查 2026-09-08
- autohedge/env_loader.py来源核查 2026-09-08
- autohedge/tools/ultra_tools.py来源核查 2026-09-08
- autohedge/tools/exa_search_tool.py来源核查 2026-09-08