Skip to main content
Un paquete es un conjunto de políticas publicadas como una versión de GitHub. Un solo comando lo instala: los checksums de la versión se verifican antes de que se ejecute nada, y su digest se registra para que el paquete no pueda cambiar en tu máquina después de la instalación. Explora todos los paquetes, y cada política en cada uno, en el hub de políticas. Hay dos tipos:
  • Paquetes de políticas de Failproof AI — paquetes listos para usar en casos de uso predefinidos: conéctalos y funcionan. El paquete de políticas para agente de codificación está disponible ahora, y pronto llegarán paquetes para más casos de uso.
  • Paquetes de políticas de la comunidad — políticas que los desarrolladores han escrito para sus propios casos de uso y publicado para que cualquiera pueda utilizarlas.

Paquetes de políticas de Failproof AI

Paquete de políticas para agente de codificación

El paquete incluye 38 políticas y activa las 10 que su manifiesto marca como seguras para habilitar de forma desatendida; el resto se lista para que elijas entre ellas. Algunas de las más utilizadas, y si un simple policies add las activa: Activa las que estén desactivadas por nombre — failproofai policies add block-rm-rf — o toma el paquete completo con --all. Consulta todas las políticas agrupadas por categoría:

Paquetes de políticas de la comunidad

Los desarrolladores publican paquetes para los casos de uso que han encontrado, y el hub de políticas los lista. Un paquete de la comunidad es publicado por su autor, no auditado por Failproof AI, así que lee lo que contiene antes de instalarlo:
Esto lista todas las políticas que incluye, agrupadas por categoría, y marca cuáles activa el autor por defecto. Lee únicamente el manifiesto — el artefacto de entrada nunca se descarga ni importa, por lo que consultar el paquete de un desconocido no puede ejecutar código ajeno. El manifiesto sigue siendo verificado contra el propio SHA256SUMS de la versión, de modo que lo que lees es exactamente lo que se instalaría. Luego instálalo:
Cualquiera de estas formas funciona — pega la que tengas: No indicar ninguna etiqueta instala la versión más reciente y la fija, luego te indica qué etiqueta eligió. Lo que se registra siempre nombra exactamente una versión, por lo que una reinstalación no puede derivar.

Tomar solo parte de un paquete

Por defecto obtienes los valores predeterminados propios del paquete — las políticas que su autor marcó como seguras para activar de forma desatendida — no todo lo que contiene.
--category y --policy se combinan como una unión (--only se acepta como sinónimo de --policy). Cuando el paquete ya está instalado, los flags se suman a lo que tenías, y volver a añadirlo sin flag ni terminal — para actualizar, por ejemplo — mantiene tu selección tal como está. En una terminal sin flag, add abre el selector en su lugar, con los valores predeterminados del autor preseleccionados, y lo que marques reemplaza tu selección.

Gestionar lo que está activo

Activar o desactivar una política de paquete se aplica a toda la máquina: el cambio se registra junto con el paquete instalado, no en la configuración de un proyecto, independientemente de lo que indique --scope. Un nombre sin barra es una política; cualquier cosa con una barra es una fuente de paquete. Un nombre simple se resuelve al paquete instalado que lo declara. Cuando dos paquetes instalados declaran el mismo nombre, especifica el que quieres decir:
Los ámbitos, parámetros y los archivos que escriben estos comandos se tratan en configuración local.

Qué garantiza y qué no garantiza la integridad

SHA256SUMS se incluye en la misma versión que el artefacto, por lo que no es una firma y no prueba nada sobre quién lo publicó. Lo que sí prueba es que los bytes son los que esa versión publicó — y como el digest se registra al añadir el paquete y se re-verifica antes de cada importación, un paquete no puede cambiar en tu máquina después de la instalación. Un repositorio que reetiqueta o reemplaza un asset deja de cargarse en lugar de ejecutar silenciosamente algo diferente. En el momento de la instalación, el paquete también se importa una vez y se verifica contra su propio manifiesto. Un paquete cuyo artefacto no se puede parsear, o que registra algo distinto a lo que declara, se rechaza antes de que se active nada — en lugar de instalarse correctamente y fallar en tu próxima llamada a herramienta.

Cuando un paquete no carga

Un paquete que esta máquina debe aplicar y no puede ejecutar deniega los eventos que cubrían sus políticas faltantes, en lugar de permitirlos silenciosamente — como pack/failproofai-pack-unavailable, que tiene prioridad sobre las políticas que sí se cargaron, de modo que la denegación se atribuye al paquete faltante y no al guardia que haya disparado primero. La excepción es UserPromptSubmit, que instruye en su lugar: denegar ahí te dejaría bloqueado del agente que necesitas para solucionarlo. Consulta Comportamiento ante fallos.

Sin conexión y espejos

Para compartir tus propias políticas de esta forma, consulta Publicar un paquete de políticas.