Saltar al contenido
← Volver a Onopen

Guía por archivo

Tareas de VS Code que se ejecutan solas al abrir una carpeta

Un archivo de texto dentro de .vscode puede lanzar un comando en tu máquina en cuanto abres la carpeta. No hace falta compilar, instalar ni pulsar nada más: basta con abrir el proyecto y confiar en él.

.vscode/tasks.json*.code-workspace.vscode/settings.json

Lo medimos

3.7%

de los 9,997 repositorios más populares de GitHub tienen al menos un hallazgo de la familia vscode.

371

repositorios con algo que revisar en .vscode o en un workspace.

Cómo lo medimos

Qué se ejecuta y cuándo

VS Code lee .vscode/tasks.json para saber qué tareas ofrece el proyecto. Una tarea normal espera a que la lances tú. Pero si declara "runOptions": { "runOn": "folderOpen" }, el editor la ejecuta automáticamente al abrir la carpeta, con tu usuario y tus permisos. Lo mismo vale para la sección tasks de un archivo *.code-workspace, que abre varias carpetas a la vez.

El freno es Workspace Trust. En modo restringido VS Code no ejecuta tareas; al pulsar "Confío en los autores", sí. Ese diálogo aparece con cada repositorio nuevo y casi todo el mundo lo acepta sin pensar, porque sin confianza el proyecto funciona a medias.

Además de las tareas, .vscode/settings.json puede indicar a una extensión qué binario ejecutar o inyectar variables de entorno en la terminal integrada. No corre al instante como una tarea, pero cambia lo que se ejecuta después.

Por qué importa ahora

Según Trend Micro, la campaña Void Dokkaebi envía a programadores pruebas técnicas falsas dentro de supuestos procesos de selección. El repositorio de la prueba trae un tasks.json con runOn: folderOpen que descarga y ejecuta malware al abrir la carpeta. A finales de marzo de 2026 contaron más de 750 repositorios infectados, y advierten que es un mínimo.

Según Oasis Security, Cursor trae Workspace Trust desactivado por defecto, así que una tarea folderOpen se ejecuta al abrir el proyecto sin ningún aviso. Si usas un editor derivado de VS Code, comprueba cómo tiene configurada la confianza antes de abrir código ajeno.

Cómo revisarlo a mano

Antes de abrir el repositorio en el editor, búscalo desde la terminal. Mira todas las subcarpetas: en un monorepo la tarea puede estar un nivel más abajo. Revisa también los archivos que git sigue aunque .gitignore diga lo contrario.

Para que ninguna tarea arranque sola, pon "task.allowAutomaticTasks": "off" en tu configuración de usuario y deja Workspace Trust activado.

grep -rn --include=tasks.json --include="*.code-workspace" folderOpen .git ls-files | grep -E '(^|/)\.vscode/|\.code-workspace$'cat .vscode/tasks.json

Qué marca Onopen

El escáner vscode lee .vscode/*.json y *.code-workspace y marca como inmediata (!) toda tarea con runOn: folderOpen, incluidas las de un workspace multi-raíz. También señala los ajustes que le pasan un binario a una extensión y la inyección de entorno en terminales. El escáner editors cubre lo equivalente en JetBrains, Zed, Emacs y Vim.

Onopen recorre los subproyectos y vuelve a poner en la lista lo que .gitignore esconde pero git sigue, así que una tarea escondida un nivel más abajo no pasa desapercibida. No ejecuta nada ni abre conexiones.

onopen --only vscode,editors --explain ./repo

Preguntas frecuentes

¿Abrir un repositorio en VS Code puede ejecutar código?

Sí, si confías en la carpeta y contiene una tarea con runOn: folderOpen. En modo restringido las tareas no se ejecutan.

¿Cómo desactivo las tareas automáticas?

Con "task.allowAutomaticTasks": "off" en la configuración de usuario. Las tareas siguen disponibles, pero solo corren cuando las lanzas tú.

Me mandaron una prueba técnica en un repositorio. ¿Qué hago?

No la abras en tu editor principal sin revisarla. Busca folderOpen y lee package.json y los scripts de instalación antes de nada. Si puedes, ábrela en una máquina o contenedor desechable.

Fuentes

Otras guías

Revisa un repositorio antes de abrirlo

Onopen es gratis y de código abierto. Lee la configuración, no ejecuta nada y no abre ninguna conexión.