Cómo Mercari distribuyó Claude Code de forma segura internamente

@hermes_code
JAPONÉShace 2 días · 14 jul 2026
836K
941
91
3
2.8K

TL;DR

Este artículo analiza el marco de seguridad de Mercari para implementar Claude Code, incluyendo configuraciones JSON específicas para bloquear comandos peligrosos y proteger archivos confidenciales.

"Entiendo que es conveniente. Pero, sinceramente, ¿no da miedo que la IA ejecute comandos en los ordenadores de los empleados?"

Esta es la preocupación más común que escucho de los ejecutivos al apoyar la implementación de IA. La IA que se mantiene dentro de un navegador, como ChatGPT, no es tan intimidante. Pero Claude Code lee archivos en los ordenadores de los empleados, ejecuta comandos y accede a internet. "Sé que hace las cosas más rápidas. Pero ¿quién asume la responsabilidad si ocurre un accidente?" Muchas empresas probablemente están estancadas en este punto.

Una gran corporación ha dado una respuesta a esa ansiedad. Mercari compartió recientemente su "configuración de seguridad y métodos de distribución" utilizados al implementar Claude Code con cientos de empleados durante una sesión de estudio.

Además, el contenido no trataba de sistemas propietarios costosos. Al preparar y distribuir un solo archivo de configuración, incluso las pequeñas y medianas empresas (PYMES) pueden replicar gran parte de ello.

La razón por la que Mercari pudo distribuirlo a cientos de personas no fue un mecanismo de alto costo, sino un único "archivo de configuración que los empleados no pueden eliminar". Las PYMES pueden hacer lo mismo desde hoy.

En este artículo, desglosaré el diseño de Mercari de la manera más simple posible, cubriendo "qué temer", "cómo lo gestionó Mercari" y "por dónde puede empezar tu empresa". Agregaré explicaciones de términos técnicos a medida que aparezcan, para que los ejecutivos no ingenieros y los PMs puedan seguir el hilo.

Puedes encontrar los materiales de la presentación referenciados aquí:

(Configuración de seguridad de implementación organizacional de Claude Code de Mercari / Speaker Deck

La sintaxis exacta de la configuración se ha verificado con la documentación oficial de Anthropic.

¿Por qué Claude Code es "Conveniente pero Aterrador"?

Primero, aclaremos la naturaleza del miedo. Siento que si solo copias la configuración sin entender esto, no sabrás qué estás protegiendo realmente.

Lo que hace diferente a Claude Code de un chat de IA estándar es que puede actuar por sí solo dentro de tu computadora local. Puede buscar y leer archivos, reescribirlos y ejecutar comandos de shell (comandos escritos en una terminal). También puede acceder a internet. En otras palabras, casi cualquier cosa que puedas hacer en esa computadora, la IA también puede hacerla.

Específicamente, ¿qué podría salir mal? Las computadoras generalmente contienen cosas que no quieres que se vean:

  • Información que actúa como contraseñas para nubes o APIs (archivos de configuración como .env, ~/.aws/credentials, etc.)
  • Claves para iniciar sesión en servidores (contenidos de ~/.ssh/)
  • Archivos importantes que serían desastrosos si se eliminan

La IA no tiene malicia. Sin embargo, debido a instrucciones ambiguas o comandos incrustados en texto sospechoso en la web (conocido como inyección de prompts), podría leer accidentalmente estos archivos secretos y enviarlos a internet, o eliminar elementos importantes usando el comando rm. La documentación oficial de Anthropic recomienda un diseño que restrinja los permisos basándose en estos riesgos (Configuración de permisos - Oficial).

En resumen, hay tres cosas que proteger: evitar que la información secreta se filtre, evitar que se realicen operaciones peligrosas automáticamente y reducir el alcance de lo que se puede tocar en primer lugar. Las medidas de Mercari se vuelven mucho más fáciles de entender cuando se leen a través de estos tres lentes.

Desglosando las "5 Medidas" de Mercari

La presentación de Mercari resumió cinco medidas principales. Veremos "el propósito" y "cómo implementarlo" para cada una.

Ten en cuenta que las diapositivas de la presentación se centran en los conceptos y no incluyen todos los detalles del archivo de configuración. Por lo tanto, presentaré esto en forma de "cómo implementar las políticas de Mercari usando la configuración oficial de Claude Code". Los nombres de las claves y la sintaxis están verificados de los documentos oficiales de Anthropic.

Medida ①: Hacer que la Confirmación Humana sea "Obligatoria"

Claude Code tiene un modo que procede automáticamente sin pedir confirmación cada vez. Aunque es conveniente para los desarrolladores en sus PC de experimentación, permitir esto al distribuir a todos en una empresa elimina los frenos de seguridad.

Mercari deshabilitó este "modo de omitir confirmación". Oficialmente, están disponibles configuraciones como permissions.disableBypassPermissionsMode (y disableAutoMode para bloquear el modo automático). Establecer estas en "disable" evita que los usuarios entren en esos modos. Además, si se colocan en la "configuración gestionada" que se describe más adelante, los empleados no pueden desactivarlas por sí mismos (Configuración de permisos - Oficial).

El significado es simple: se aplica la regla de que "un humano debe dar el visto bueno antes de que la IA mueva sus manos" en toda la empresa.

Medida ②: Detener Comandos Peligrosos, o Confirmar Siempre

A continuación, ponemos una correa a los propios comandos. Por ejemplo, curl (un comando para obtener datos de internet). Si se usa libremente, puede convertirse en una vía para enviar archivos secretos al exterior.

En Claude Code, puedes establecer una lista de deny para comandos específicos y una lista de ask que requiere confirmación antes de la ejecución. La sintaxis se ve así:

json
1{
2 "permissions": {
3 "deny": [
4 "Bash(curl:*)",
5 "Bash(wget:*)"
6 ],
7 "ask": [
8 "Bash(git push:*)"
9 ]
10 }
11}

Bash(curl:*) significa "bloquear todos los comandos que comiencen con curl" (el :* al final representa "cualquier cosa después de eso"). Una nota importante: los documentos oficiales indican que intentar permitir curl solo para destinos específicos como GitHub se puede eludir fácilmente mediante redirecciones. Por lo tanto, la recomendación oficial es bloquear la comunicación por internet por completo y unificar las búsquedas necesarias a través de un puerto seguro separado (Configuración de permisos - Oficial). Este "puerto seguro" es WebFetch (una función integrada de Claude Code para la recuperación de internet), donde se pueden incluir en la lista blanca los destinos.

Medida ③: Evitar la Lectura de Archivos Secretos y la Modificación del Sistema

También bloqueamos el acceso a la información secreta en sí, como los archivos .env donde residen las contraseñas o el comando sudo utilizado para cambios profundos en el sistema.

json
1{
2 "permissions": {
3 "deny": [
4 "Read(.env)",
5 "Read(.env.*)",
6 "Read(**/.ssh/**)",
7 "Bash(sudo:*)"
8 ]
9 }
10}

Escribir Read(.env) hace que .env sea ilegible en cualquier nivel dentro de la carpeta de trabajo. Una cosa que debes saber por seguridad es que, aunque esta lista de denegación funciona contra la lectura de archivos por parte de Claude o comandos obvios como cat, no puede detener completamente un script escrito por la IA que abra un archivo en secreto en segundo plano (Configuración de permisos - Oficial). Por eso es necesaria la Medida ④.

Medida ④: Encerrar el "Alcance" con un Sandbox

Mientras que una lista de denegación se trata de trazar líneas para comandos específicos, un sandbox crea un muro a nivel de sistema operativo. Restringe físicamente que la IA toque cualquier cosa fuera de la carpeta de trabajo o se conecte a cualquier cosa que no sean los dominios de internet permitidos.

json
1{
2 "sandbox": {
3 "enabled": true,
4 "network": {
5 "allowedDomains": ["*.github.com", "registry.npmjs.org"]
6 }
7 }
8}

Cuando está habilitado, incluso si la IA accidentalmente alcanza un archivo secreto, no puede acceder a él porque está fuera del "sandbox". Los documentos oficiales explican que debes superponer tanto la lista de denegación (Medidas ② y ③) como el sandbox para el límite final (Sandboxing - Oficial). Piensa en ello como tener tanto reglas individuales como una valla perimetral.

Una limitación: El sandboxing funciona en macOS, Linux y WSL2 (Linux en Windows), pero no es compatible con Windows nativo. En lugares de trabajo centrados en Windows, la decisión sería fortalecer la configuración de permisos en las Medidas ①–③.

Medida ⑤: Hacer que la IA Lea "Qué Proteger" Cada Vez

Finalmente, un ángulo diferente a la configuración rígida: escribe la política de seguridad de la empresa en un manual de instrucciones que la IA lea cada vez. Si la configuración son "candados físicos", esto es como una "revisión de las reglas del lugar de trabajo".

Hay varias formas técnicas de hacer esto, y no está claro en los materiales cuál usó Mercari. Sin embargo, la forma más fácil es colocar un archivo llamado CLAUDE.md directamente en la carpeta de trabajo y enumerar allí las reglas internas. Claude Code lee este archivo cada vez.

markdown
1# Solicitudes de seguridad
2- No abras archivos .env ni de claves (~/.ssh/, etc.)
3- No envíes información de clientes ni secretos comerciales a servicios externos
4- Siempre confirma con un humano antes de ejecutar operaciones de eliminación o publicación

Acción para hoy: Simplemente pegar estas tres líneas en un archivo CLAUDE.md agrega una capa de sentido común al comportamiento de la IA. Puedes empezar con esto incluso antes de los archivos de configuración.

Acción para hoy: No tienes que implementar todo de una vez. Comienza agregando solo la línea Read(.env) de la Medida ③ a un archivo de configuración llamado .claude/settings.json. Crea una carpeta llamada .claude (incluyendo el punto inicial) en tu carpeta de proyecto y guarda un archivo de texto llamado settings.json dentro de ella. Si quieres que se aplique a todos los proyectos, colócalo en ~/.claude/settings.json en tu directorio de inicio. Puedes empezar con el movimiento más efectivo: evitar que la IA lea archivos secretos.

La Verdadera Habilidad de Mercari Estaba en la "Distribución"

Hasta ahora, hemos cubierto "qué configurar". La presentación de Mercari fue particularmente práctica porque abordó cómo distribuir esta configuración a cientos de personas.

Normalmente, los archivos de configuración se colocan en la computadora de cada persona (configuración de usuario), lo que significa que los empleados pueden reescribirlos. Esto lleva a situaciones en las que "la configuración de seguridad se distribuyó, pero alguien la desactivó".

Para solucionarlo, Mercari utilizó MDM (Mobile Device Management, un sistema para que las empresas gestionen las PC de los empleados) para distribuir simultáneamente "configuración gestionada" que los empleados no pueden sobrescribir. Claude Code tiene una ubicación designada para la configuración gestionada que tiene prioridad sobre la configuración individual y no puede ser modificada por el usuario. En macOS, esta es /Library/Application Support/ClaudeCode/managed-settings.json (Configuración - Oficial). Al escribir las Medidas ①–④ aquí, no se pueden relajar en el lugar.

Aún más inteligente fue diferenciar los niveles de seguridad para ingenieros y no ingenieros:

  • Para Ingenieros: Configuración que permite cierta personalización y no obstaculiza demasiado la productividad.
  • Para No Ingenieros: La configuración predeterminada más segura con menos margen para modificaciones.

Incluso para la misma herramienta, ajustaron la longitud de la correa según la alfabetización del usuario. Si todos están estrictamente restringidos, el trabajo se estanca; si todos están sueltos, ocurren accidentes. Resolvieron esto variando la configuración distribuida.

Por Dónde Pueden Empezar las PYMES a Replicar

La mayoría de las empresas probablemente no tienen MDM. Eso está bien. Puedes extraer las partes del diseño de Mercari que funcionan independientemente del tamaño.

Todo lo que necesitas hacer es distribuir un solo archivo con configuración de seguridad y hacer que lo coloquen. Si tienes MDM, distribúyelo como configuración gestionada; si no, compártelo y di: "Por favor, coloca este settings.json en tu carpeta .claude/". La aplicación es menor, pero la dirección es la misma.

Como conjunto mínimo, combinar las Medidas ①–③ se ve así. Recomiendo usar esto como base y agregar cualquier comando específico que tu empresa quiera prohibir.

json
1{
2 "permissions": {
3 "disableBypassPermissionsMode": "disable",
4 "deny": [
5 "Bash(curl:*)",
6 "Bash(wget:*)",
7 "Bash(sudo:*)",
8 "Read(.env)",
9 "Read(.env.*)",
10 "Read(**/.ssh/**)"
11 ],
12 "ask": [
13 "Bash(git push:*)",
14 "Bash(rm:*)"
15 ]
16 }
17}

De arriba a abajo: deshabilitar la omisión de confirmación, bloquear la comunicación por internet y las operaciones de administración, prohibir la lectura de archivos secretos y confirmar siempre la eliminación o publicación. Incluso si no entiendes el contenido, funcionará si lo copias y pegas.

Si se distribuye a no ingenieros, recomiendo la versión más segura, que agrega el sandbox (Medida ④). Combinar las dos configuraciones en un solo archivo se ve así:

json
1{
2 "permissions": {
3 "disableBypassPermissionsMode": "disable",
4 "deny": [
5 "Bash(curl:*)",
6 "Bash(wget:*)",
7 "Bash(sudo:*)",
8 "Read(.env)",
9 "Read(.env.*)",
10 "Read(**/.ssh/**)"
11 ],
12 "ask": [
13 "Bash(git push:*)",
14 "Bash(rm:*)"
15 ]
16 },
17 "sandbox": {
18 "enabled": true,
19 "network": {
20 "allowedDomains": ["*.github.com", "registry.npmjs.org"]
21 }
22 }
23}

Simplemente he colocado permissions y sandbox uno al lado del otro, separados por una coma. Cambia los allowedDomains para que coincidan con los servicios que utiliza tu empresa. Recuerda, el sandboxing funciona en macOS, Linux y WSL2.

Lo que siempre les digo a las personas cuando apoyo la implementación es: no te detengas porque buscas la perfección. Incluso si no puedes construir una defensa de múltiples capas como la de Mercari de inmediato, proteger .env con una sola línea reduce significativamente la probabilidad de un accidente.

Acción para hoy: Si incluso una persona en tu empresa está comenzando a usar Claude Code, comparte el conjunto mínimo anterior como texto y haz que lo peguen en .claude/settings.json. Es un tamaño perfecto para un ensayo de distribución.

Peligros: 3 Cosas que Saber Antes de Distribuir la Configuración

Debido a que se trata de endurecer la seguridad, hay puntos que son peligrosos si se malinterpretan.

  1. "Escribir una lista de denegación" no significa que sea perfectamente segura. Como se mencionó en la Medida ③, una lista de denegación no puede detener todo lo que un script podría hacer en segundo plano. Incluso si detienes curl, podrían quedar otros métodos de comunicación. Si quieres encerrarlo realmente, no olvides la premisa de superponerlo con un sandbox (Medida ④).
  2. No confíes en el filtrado por argumentos. El propio Anthropic advierte que los permisos condicionales, como permitir curl solo para una URL específica, se rompen fácilmente. Es más robusto bloquear las cosas peligrosas por completo y proporcionar una alternativa segura.
  3. No solo distribuyas la configuración y ya está. Incluso si aplicas la configuración gestionada, no tiene sentido si los empleados instalan otras herramientas sospechosas por su cuenta. La configuración es un "mecanismo para reducir accidentes" y funciona mejor cuando se combina con educación sobre el uso. Aquí es donde la Medida ⑤, "hacer que lean las reglas", finalmente entra en juego.

Preguntas Frecuentes para Usuarios Intermedios

P. ¿Tiene algún sentido configurar esto para uso personal?

Sí. El criterio es si hay información secreta en esa computadora, no si es para una empresa. Los freelancers y desarrolladores individuales todavía tienen .env y ~/.ssh/ localmente. Como mínimo, es más seguro incluir la prohibición de lectura de la Medida ③.

P. ¿Restringir los permisos no hará que la IA sea inútil?

Es cuestión de cómo los restrinjas. Los comandos de solo lectura (como ls o cat) funcionan sin confirmación de forma predeterminada, por lo que el trabajo diario rara vez se detiene. Lo que se detiene son operaciones como eliminación, publicación y comunicación por internet, cosas que duelen si salen mal. De hecho, al cambiar a "los humanos solo verifican cuando es peligroso", puedes expandir de forma segura el rango de lo que dejas que la IA haga automáticamente.

P. ¿Cuál es la diferencia entre `settings.json` y la configuración gestionada (`managed-settings.json`)?

La ubicación y la "fuerza" difieren. settings.json en la carpeta .claude/ de un proyecto es una configuración compartida que cualquiera puede editar. managed-settings.json es distribuida por la empresa y no puede ser modificada por el usuario. Para individuos o grupos pequeños, la primera es suficiente; pásate a la segunda cuando llegues a la etapa en que "es un problema si alguien relaja la configuración".

P. ¿Puedo usar el mismo razonamiento para Cursor u otras herramientas de codificación con IA?

Las cosas que quieres proteger (secretos, operaciones peligrosas, alcance) son las mismas, por lo que el concepto se aplica. Sin embargo, la sintaxis y la presencia de sandboxing varían según la herramienta, así que considera esta notación de settings.json como específica de Claude Code. Si usas otras herramientas, el atajo es aplicar estas mismas tres perspectivas a su documentación oficial respectiva.

Resumen: De "No lo Usen" a "Distribuir de Forma Segura"

Cuando recibo consultas sobre la implementación de IA, la respuesta más común solía ser "Es peligroso, así que todavía no podemos dejar que lo usen". Pero esa decisión también descarta toda la conveniencia.

Mercari nos mostró una salida a esa elección binaria. Deshabilitar la omisión de confirmación, detener operaciones peligrosas, prohibir tocar archivos secretos, encerrar en un sandbox y hacer que lean las reglas. Luego, distribuirlo a todos como una configuración que no puede ser manipulada. Es un diseño que cambia de "prohibido porque da miedo" a "distribuido con una correa porque da miedo".

  • Objetivos a proteger: Evitar que los secretos se filtren / Evitar operaciones peligrosas / Reducir el alcance.
  • Las 5 Medidas de Mercari: Deshabilitar la omisión, restringir comandos peligrosos, prohibir archivos secretos, sandbox y lectura de reglas.
  • Distribución: Usar configuración gestionada que el usuario no pueda sobrescribir, diferenciada por alfabetización.

Finalmente, tres pasos para empezar hoy:

  1. Agrega `Read(.env)` a tu propia computadora: Comienza prohibiendo la lectura de archivos secretos. Este es el movimiento único más efectivo.
  2. Crea un solo archivo con el conjunto mínimo: Basándote en el ejemplo de permissions anterior, agrega los comandos que tu empresa quiera detener.
  3. Distribúyelo a una persona en la empresa para probar: Haz que lo peguen en .claude/settings.json y verifiquen juntos que el trabajo no se estanca.

El primer paso es solo una línea para proteger .env. Puedes superponer una defensa perfecta de múltiples capas una por una desde allí. ¿Por qué no colocar ese primer archivo hoy y cambiar de "detener porque da miedo" a "delegar con una correa"?

Enlaces de Referencia

Recrear en YouMind

Turn one viral article into a full content workflow

Collect the source, decode the pattern, create assets, draft the story, and distribute from one AI workspace.

Explore YouMind
Para creadores

Convierte tu Markdown en un artículo de 𝕏 impecable

Cuando publicas tus propios textos largos, dar formato en 𝕏 a imágenes, tablas y bloques de código es un fastidio. YouMind convierte un borrador completo en Markdown en un artículo de 𝕏 impecable y listo para publicar.

Prueba Markdown a 𝕏

Más patrones por descifrar

Artículos virales recientes

Explorar más artículos virales