security: the renderer can start a shell and edit instructions without a native confirmation
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- electron, typescript
Línea de trabajo
Start by reading src/main/index.ts:350-356 for terminal IPC and index.ts:279 for instruction edits, then inspect settings_confirm.ts to understand how autoConfirmed is persisted. The issue proposes native confirmation or a main-process-visible user gesture for terminal startup, confirmation for instruction edits, and a fresh prompt whenever Auto mode is enabled. Done means all three paths require the described native user confirmation; runtime IPC validation is tracked separately in #32.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Found in the 2026-10-07 security audit. No XSS path was found, so this is defense in depth.
Problem
The renderer is effectively fully trusted:
terminal:start/terminal:writegive any renderer script a real, unsandboxed shell (src/main/index.ts:350-356).project:set-instructionswrites text into the system prompt without native confirmation (index.ts:279).settings_confirm.tsremembersautoConfirmed, so the renderer can turn Auto mode back on later in the same session without a new dialog.
Runtime IPC argument validation is tracked in #32.
Fix
- Start the terminal only after a user gesture the main process can see (for example a native menu item or an accelerator), or confirm the first
terminal:startof each project natively. - Confirm instruction edits, or show them in a native dialog.
- Ask again whenever Auto mode is turned on.
- Lenguaje dominante
- TypeScript
- Estrellas
- 2
- Forks
- 2
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Issues similares
-
Waiting for: Product Owner
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
getsentry/sentry-javascript#26203 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
bytedance/flowgram.ai#1235 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
devswha/herdr-web-ui#3325 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100