{
  "projectId": "kraken-cli",
  "title": "Kraken CLI · 发布产物与执行边界",
  "summary": "已检查真实发布二进制。MCP 的危险操作确认在参考源码中由布尔 acknowledged 门控，启动参数可关闭这一门控；该确认机制并不等于交易风险上限。",
  "scope": "官方 v0.4.1 macOS arm64 可执行文件的 REA Mach-O 静态检查；另读固定 commit 的 MCP 权限代码。未执行 CLI，未连接交易账户。",
  "status": "partial",
  "analyzedAt": "2026-10-13",
  "tool": {
    "name": "REA",
    "version": "6.4.0"
  },
  "findings": [
    {
      "title": "REA 确认实际发布文件的原生结构",
      "detail": "inspect_macho 将 v0.4.1 发布包中的 kraken 识别为 arm64、64 位 Mach-O，构建元数据最低 macOS 11.0。可执行文件 SHA-256 为 62c78e0363491a96c81e78d41fd7f7003e01889ba6f82fdf28462e688ab58b23。该检查没有启动程序或证明策略能力。",
      "evidenceType": "observed",
      "evidenceIds": [
        "ev_0b32ff884d0634d67a4771cfa773ef596dea4d28884eae5c4cffc9db965502cb"
      ],
      "sourceUrls": [
        "https://github.com/krakenfx/kraken-cli/releases/tag/v0.4.1"
      ]
    },
    {
      "title": "MCP 确认是代码门控，可被启动参数关闭",
      "detail": "固定源码的 call_tool 在调用处理器前执行 enforce_dangerous_gate。危险工具需要 acknowledged 为布尔 true；--allow-dangerous 使该函数直接放行。这个判断针对调用确认，不提供仓位或最大亏损限制。源码与本次二进制之间未完成可重现构建核对。",
      "evidenceType": "code_inference",
      "evidenceIds": [],
      "sourceUrls": [
        "https://github.com/krakenfx/kraken-cli/blob/aa56e5976be5afa6d8267eb6741f3a8844678fe9/src/mcp/server.rs#L64",
        "https://github.com/krakenfx/kraken-cli/blob/aa56e5976be5afa6d8267eb6741f3a8844678fe9/src/mcp/server.rs#L504"
      ]
    },
    {
      "title": "确认字段进入危险工具的输入 schema",
      "detail": "schema.rs 为危险工具注入必填 acknowledged 布尔字段。服务端另行检查布尔值，不能仅靠字符串 true 满足门控。部署者应区分工具的输入确认、API Key 权限和交易层面的风险控制。",
      "evidenceType": "code_inference",
      "evidenceIds": [],
      "sourceUrls": [
        "https://github.com/krakenfx/kraken-cli/blob/aa56e5976be5afa6d8267eb6741f3a8844678fe9/src/mcp/schema.rs#L86",
        "https://github.com/krakenfx/kraken-cli/blob/aa56e5976be5afa6d8267eb6741f3a8844678fe9/src/mcp/server.rs#L513"
      ]
    }
  ],
  "limitations": [
    "REA 原生检查确认文件结构、架构和导入元数据，未反编译并验证所有交易函数。",
    "GitHub 发布资产 SHA-256 已匹配；未完成 Minisign 签名验证或源码到二进制的可重现构建验证。",
    "参考源码固定在 aa56e597；源码里的权限机制不单独证明发布二进制或交易所后端的实际执行行为。"
  ],
  "artifacts": [
    {
      "label": "官方源码归档 · aa56e5976be5",
      "url": "https://codeload.github.com/krakenfx/kraken-cli/tar.gz/aa56e5976be5afa6d8267eb6741f3a8844678fe9",
      "sha256": "50a2c8cc1eb1607f060164347f010c2b528a245c4c60ac0935e2898b45e22dbf",
      "bytes": 926456
    },
    {
      "label": "Kraken CLI 官方发布档案",
      "url": "https://github.com/krakenfx/kraken-cli/releases/download/v0.4.1/kraken-cli-aarch64-apple-darwin.tar.gz",
      "sha256": "674f72b6a375776cac048a42d631b19ff37ec0db0ce97ccf6e9c256ab6fc387a",
      "bytes": 17437899
    }
  ],
  "evidenceIds": [
    "ev_0b32ff884d0634d67a4771cfa773ef596dea4d28884eae5c4cffc9db965502cb"
  ],
  "reportUrl": "/research/rea/kraken-cli.json",
  "methodology": "REA 原始输出负责产物身份、文件结构或原生元数据；code_inference 结论来自带固定版本引用的源码阅读。未完成动态运行、实盘测试、完整安全审计或收益验证。",
  "sourceCommit": "aa56e5976be5afa6d8267eb6741f3a8844678fe9",
  "releasedArtifactAvailable": true,
  "analysisInput": {
    "sha256": "62c78e0363491a96c81e78d41fd7f7003e01889ba6f82fdf28462e688ab58b23",
    "format": "mach-o",
    "evidenceId": "ev_0b32ff884d0634d67a4771cfa773ef596dea4d28884eae5c4cffc9db965502cb",
    "operation": "inspect_macho",
    "publicSourceUrls": [
      "https://github.com/krakenfx/kraken-cli/releases/tag/v0.4.1"
    ]
  },
  "analysisAttempts": [
    {
      "command": "rea inspect-artifact kraken-cli-release.tar.gz --format json",
      "result": "unavailable",
      "code": "target_unavailable",
      "reason": "该格式未被此入口支持，随后解包并使用 inspect-macho。"
    },
    {
      "command": "rea inspect-macho kraken-cli-aarch64-apple-darwin/kraken --format json",
      "result": "completed",
      "evidenceIds": [
        "ev_0b32ff884d0634d67a4771cfa773ef596dea4d28884eae5c4cffc9db965502cb"
      ],
      "coverage": "native_file_metadata"
    }
  ]
}
