Visual Studio Code v1.57 lanzado en mayo de 2021 con una nueva función de «Confianza en el espacio de trabajo». Este es un mecanismo de seguridad que le ayuda a evitar la ejecución accidental de código cuando no puede confiar en los orígenes de un repositorio.
Confianza en el espacio de trabajo está activo por defecto. Cuando abra una nueva carpeta, Code mostrará un cuadro de diálogo que le pedirá que confíe en los archivos que contiene. Si dice que sí, el editor funcionará regularmente. Si presiona no, Code ingresará a un nuevo «modo restringido» con funcionalidad reducida.
¿Qué se deshabilita en el modo restringido?
El modo restringido está destinado a evitar que se ejecute código que no es de confianza. Las funciones de Visual Studio que ejecutan archivos se desactivarán para ayudarlo a protegerse contra las amenazas que no ha examinado por completo.
Las funciones de depuración están desactivadas, lo que evita que inicie accidentalmente un ejecutable descargado. Visual Studio además deshabilitará las tareas definidas en el archivo del espacio de trabajo. Tareas en un .vscode
El archivo puede ejecutar binarios y scripts, por lo que un repositorio que contenga uno es un riesgo para la seguridad.
Cualquier extensión de usuario que pueda ejecutar código se desactivará o se colocará en un estado de funcionalidad limitada. Es factible que además se anulen algunas configuraciones del espacio de trabajo para limitar el alcance de los archivos descargados. .vscode
archivos.
El uso del modo restringido le posibilita inspeccionar partes críticas de un proyecto recién descargado. Tiene la posibilidad de verificar que no haya comportamientos sospechosos, sin arriesgar la ejecución real del código. Una vez que salga del modo restringido, se aplicará su configuración usual y se reactivará la depuración.
Cuando Workspace Trust está habilitado, verá un mensaje cada vez que abra una nueva carpeta en una ubicación que no sea de confianza. Deberá seleccionar si desea habilitar todas las funciones o abrir el espacio de trabajo en modo restringido.
¿Por qué molestarse?
Visual Studio Code se ha convertido en un potente editor de código compatible con cientos de extensiones. Muchas de estas herramientas de terceros se ejecutan automáticamente y se agregan a su archivo de configuración del espacio de trabajo. Este archivo a menudo está comprometido con el control de código fuente, por lo que se puede compartir con los miembros del equipo.
Es concebible que un mal actor astuto pueda crear un repositorio que parezca genuino pero que ejecute código malicioso cuando se cargue en el editor. Workspace Trust es una respuesta a esta oportunidad. Le brinda mayor seguridad cuando inspecciona software open source y otros códigos recibidos de terceros.
Desactivación de la confianza en el espacio de trabajo
Workspace Trust le ayuda a evitar ejecuciones de código involuntarias potencialmente peligrosas. El uso de la función le brinda una capa de defensa adicional contra repositorios desconocidos. Sin embargo, es factible que las indicaciones le resulten molestas si consume regularmente código de nuevas fuentes.
Puede desactivar Workspace Trust por completo configurando el security.workspace.trust.enabled
ajuste a false
. Puede hallar esto en la interfaz de usuario haciendo clic en Archivo> Preferencias> Configuración y buscando «confianza en el espacio de trabajo». La casilla de verificación se mostrará como «Seguridad> Espacio de trabajo> Confianza: habilitada». Si solo desea un lanzamiento único sin Workspace Trust, agregue el --disable-workspace-trust
bandera de línea de comando.
Personalización de la confianza del espacio de trabajo
Workspace Trust ofrece algunas configuraciones para permitirle ajustar su comportamiento. Utilice el procedimiento descrito previamente para ver la configuración de Confianza del espacio de trabajo en la interfaz de usuario.
«Ventana vacía» controla lo que sucede cuando estás usando una ventana sin carpetas abiertas. Cuando se llena la casilla de verificación, la ventana se tratará como confiable de forma predeterminada. Caso contrario, deberá confiar manualmente en él como en una carpeta normal.
La configuración «Archivos que no son de confianza» establece lo que sucede si Archivo> Abrir un archivo desde una ubicación que no es de confianza mientras se encuentra en una ventana de confianza. El comportamiento predeterminado es avisar antes de continuar. Puede cambiar esto para abrir siempre el archivo o forzarlo en una nueva ventana que automáticamente no es de confianza.
Otra configuración le posibilita anular la forma en que las extensiones responden a Workspace Trust. Esto debe configurarse manualmente en su settings.json
expediente. Agregar un extensions.supportUntrustedWorkspaces
clave con un objeto JSON como su valor. Agregue los ID de extensión como claves en este objeto. Cada extensión puede tener true
, limited
o false
como su valor.
{ "extensions": { "supportUntrustedWorkspaces": { "my-extension": true } } }
Una extensión listada como true
voluntad siempre estar habilitado, inclusive en un espacio de trabajo que no sea de confianza. Extensiones con false
solo se cargará en espacios de trabajo confiables. limited
Las extensiones se agregarán a los espacios de trabajo que no sean de confianza, pero con la funcionalidad «confiable» deshabilitada. No podrá usar las tareas proporcionadas por estas extensiones.
Administrar carpetas de confianza
Puede ver y administrar las carpetas que ha marcado como de confianza desde Visual Studio Code. Presione Ctrl + Shift + P para abrir la paleta de comandos. Busque «confianza en el espacio de trabajo» y seleccione el elemento «Espacios de trabajo: Administrar la confianza del espacio de trabajo» en el menú.
Esta pantalla muestra el estado de confianza de su ventana actual. Puede cambiar al modo restringido presionando «No confíe». Alternativamente, presione el botón «Confiar» para habilitar todas las funciones si se encuentra hoy en día en un estado restringido.
La sección «Carpetas y espacios de trabajo de confianza» enumera todos los directorios que ha marcado como de confianza. Puede revocar la confianza de una ubicación haciendo clic en ella y presionando el botón Quitar «X» a la derecha.
Todos los subdirectorios heredan la confianza. Confiar en una carpeta de nivel superior como /home/me/projects
significará que todos sus repositorios son de confianza automáticamente. Esto compromete la eficacia del sistema Workspace Trust.
Conclusión
Workspace Trust es una nueva protección de seguridad prometedora para los usuarios de Visual Studio Code. Los peligros de la ejecución involuntaria de código por parte de los IDE apenas están comenzando a ganar visibilidad. Aunque algunos pueden hallar frustrantes las indicaciones de confianza, podrían ayudar a proteger su máquina de fuentes peligrosas.
Es poco probable que desee que un espacio de trabajo permanezca en modo restringido durante un tiempo prolongado. Aún cuando aún puede ver y editar archivos, perderá muchas de las funciones más poderosas de Visual Studio Code. Es mejor revisar los ejecutables, crear scripts y .vscode
archivos en un repositorio, verifique si hay peligros y después confíe en la ubicación una vez que esté seguro de que se comportará como se esperaba.