airgap: un envoltorio para ocultar secretos a agentes de IA y paquetes maliciosos

Fuentes: airgap: a wrapper to keep secrets out of AI agents and malicious npm packages

airgap es una herramienta de seguridad para Linux que ejecuta programas dentro de namespaces, pensada para proteger secretos locales frente a los agentes de inteligencia artificial y los paquetes de npm maliciosos. Su premisa es que hoy los agentes de IA leen y escriben archivos en los proyectos, instalan complementos de internet y, a veces, ejecutan paquetes alucinados o directamente hostiles. A eso se suma la oleada reciente de malware en npm, con campañas autopropagables como Shai-Hulud y su variante 2.0, que aprovechan hooks de preinstalación y postinstalación para robar credenciales de archivos como .env, ~/.ssh, ~/.npmrc o ~/.aws/credentials, y que en el caso de los tokens de npm permiten republicar versiones troyanizadas de los paquetes del desarrollador afectado.

La herramienta funciona como un envoltorio que se coloca delante del programa objetivo (cargo install airgap y luego airgap ). Al lanzarlo, crea un nuevo mount namespace y un user namespace, y monta el directorio home y el de trabajo como un sistema de archivos FUSE. Cada lectura pasa por un controlador que redacta automáticamente los secretos detectados y, si se trata de archivos sensibles no contemplados en la lista de reescritura, pide confirmación interactiva al usuario. Por defecto entiende los formatos .env, .npmrc y la ubicación típica de claves SSH, y va ampliando la cobertura.

Dispone de una allowlist de programas con reglas específicas. Por ejemplo, claude y opencode se ejecutan con redacción pura, de forma que un .env que el agente pida mostrará valores como en lugar de la clave real. En el caso de npm, los hooks de instalación corren con normalidad, pero cualquier intento de leer un archivo fuera de la lista de rutas benignas preaprobadas dispara un prompt: si el usuario rechaza el acceso, la instalación continúa y el script no obtiene la credencial. La configuración típica consiste en añadir alias en ~/.bashrc o ~/.zshrc para que claude, opencode o npm se ejecuten siempre bajo airgap sin tener que pensarlo.

El proyecto es código abierto, está limitado a Linux (la versión para macOS está en desarrollo) y deja claro que se trata de una capa de defensa más, no una garantía absoluta. Los autores invitan a abrir issues en GitHub para añadir programas soportados o patrones de secretos a redactar.