Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

The bridge serves any same-user process, including input

Fechada
#24 0 comentários 0 reações 0 responsáveis Ver no GitHub

Mantenedores costumam responder em até 1 dia

Um pull request relacionado já foi integrado.

  • #120 de @iamnbutler — integrado

Avaliação

Dificuldade
5/5
Tempo estimado
Mais de uma semana
Facilidade para iniciantes
8/100
Tipo de issue
Bug
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
macos, swift

Direção de pesquisa

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.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

question

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 node process 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.

Linguagem predominante
Swift
Estrelas
0
Forks
0
Merge médio
19min
PRs com merge (30d)
107

Preparar o ambiente

Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de githubnext/desktop-tools

Todas as issues de githubnext/desktop-tools

Issues semelhantes

Mais issues de Swift

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.