The bridge serves any same-user process, including input
维护者通常 1 天内回复
还没有人认领这个 Issue。
评估
- 难度
- 5/5
- 预计耗时
- 一周以上
- 新手友好度
- 8/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 活跃
- 技术栈
- macos, swift
调研方向
The issue concerns the bridge that serves the desktop-client binary over desktop.sock under ~/.local/state/ace-canary/, and the payload names no source files. Start by reproducing the report: run a plain process as the same user and call the socket through the client. Done would mean the runtime verifies the peer's audit token and rejects callers whose parent is not the signed Ace Helper or Ace, which is a design decision still open in the thread.
由索引模型根据 Issue 内容生成。
描述
Found in the githubnext/ace#427 study, on Ace Canary 0.0.46.49–0.0.46.52.
What happens: the bridge authenticates the signed client binary, not the process that runs it. Any process running as the user can execute Ace's client against Ace's socket (~/.local/state/ace-canary/desktop-client and desktop.sock) and get every operation under Ace's Accessibility, Screen Recording and input grants. That includes clicks, inserts, keys, menus and quit.
Shown three ways:
- A plain
nodeprocess outside Ace listed apps. - Headless Claude Code (Sonnet 5.5) and Codex (gpt-6-astra) drove TextEdit end to end through the MCP server in #12.
- A channel shell can do the same while that channel's desktop tools are off.
Why it matters:
- githubnext/ace#379 accepted that shell capture bypasses the off toggle. This extends that to input.
- Nothing in Ace records that an outside caller acted.
- macOS shows only Ace as holding the grants.
Options:
- Same-uid code can't be fully excluded; any secret on disk is readable by it. The bar can still be raised: have the runtime check the peer's audit token, and require that the client's parent is the signed Ace Helper or Ace.
- A deliberate route for outside agents can then be offered: a standalone signed host app with its own grants, or Ace-hosted MCP that pairs with a channel. See the stretch notes on #12.
At minimum, this belongs in githubnext/ace#427's known gaps and in Ace's desktop tools docs.
- 主要语言
- Swift
- 星标
- 0
- 派生
- 0
- 平均合并
- 31 分钟
- 30 天内合并 PR
- 14
环境准备
这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
githubnext/desktop-tools 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 62/100
githubnext/desktop-tools#25 ·
维护者通常 1 天内回复
-
难度 3/5 1-2 天 新手友好度 42/100
githubnext/desktop-tools#30 ·
维护者通常 1 天内回复
-
难度 5/5 一周以上 新手友好度 15/100
githubnext/desktop-tools#27 · 1 条评论 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 25/100
githubnext/desktop-tools#23 ·
维护者通常 1 天内回复
-
难度 4/5 3-5 天 新手友好度 30/100
githubnext/desktop-tools#18 ·
维护者通常 1 天内回复
查看 githubnext/desktop-tools 的全部 Issue
相似的 Issue
-
area:ui enhancement good first issue
难度 2/5 1-3 小时 新手友好度 72/100
s3onghyun/bulchimbeon#22 ·
-
难度 2/5 1-3 小时 新手友好度 66/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 75/100
维护者通常 1 天内回复
-
[BUG] File transcription skips audio chunks shorter than one second可能已有人在做 @sabbah13 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
altic-dev/FluidVoice#1161 ·
维护者通常 1 天内回复
-
swift.md: `Date(myString, strategy: .iso8601)` example omits `try` — the initializer is throwing未关闭
难度 1/5 1 小时以内 新手友好度 88/100