Skip to main content
Um pacote é um conjunto de políticas publicado como uma release do GitHub. Um único comando o instala, os checksums da própria release são verificados antes de qualquer execução, e o digest é registrado para que o pacote não possa ser alterado na sua máquina depois disso.

Instalar as políticas do Failproof AI

Isso instala o conjunto que publicamos, a partir da cópia incluída no pacote — portanto, não precisa de rede e não falha por causa de um proxy. Para instalar apenas parte dele:
failproofai pack list lista todas as categorias que o pacote oferece.

Ver o que um pacote contém antes de instalá-lo

Lista todas as políticas que o pacote inclui, agrupadas por categoria, indicando quais foram ativadas por padrão pelo autor e quais são opcionais. Ele lê apenas o manifesto — o artefato de entrada nunca é baixado nem importado, portanto, inspecionar o pacote de um desconhecido não executa código desconhecido. O manifesto ainda é verificado contra o SHA256SUMS da própria release, garantindo que o que você está lendo é exatamente o que seria instalado. failproofai pack list sem nenhuma fonte lista os pacotes já instalados aqui.

Instalar o pacote de outra pessoa

Qualquer um destes formatos funciona — cole o que você tiver: Não informar uma tag instala a release mais recente e a fixa, informando qual tag foi escolhida. O que fica registrado sempre nomeia exatamente uma release, portanto uma reinstalação não pode gerar divergências.

Usar apenas parte de um pacote

Por padrão, você obtém os próprios padrões do pacote — as políticas que o autor marcou como seguras para ativar sem supervisão — e não tudo que ele contém.
--category e --policy se combinam como uma união (--only é aceito como sinônimo de --policy). Adicionar novamente em uma versão mais recente mantém o que você escolheu, em vez de reativar o restante.

Gerenciar o que está ativo

Um nome simples refere-se ao builtin quando existe um com esse nome. Nomeie explicitamente a cópia de um pacote quando necessário:
Se um pacote incluir uma política cujo nome também seja um builtin habilitado, o builtin é executado e a cópia do pacote é ignorada — caso contrário, a mesma proteção seria avaliada duas vezes. Desative o builtin para usar a cópia do pacote em seu lugar.

De onde vêm as políticas do Failproof AI

core lê a cópia incluída no pacote npm. O mesmo conjunto é publicado como uma release do GitHub, que é o que você instala se quiser uma versão específica:

O que a integridade garante e o que não garante

SHA256SUMS é incluído na mesma release que o artefato, portanto não é uma assinatura e não prova nada sobre quem o publicou. O que ele prova é que os bytes são os que aquela release publicou — e como o digest é registrado quando você adiciona o pacote e reverificado antes de cada importação, um pacote não pode ser alterado na sua máquina depois disso. Um repositório que retaguea ou substitui um asset para de carregar em vez de executar silenciosamente algo diferente. No momento da instalação, o pacote também é importado uma vez e verificado contra seu próprio manifesto. Um pacote cujo artefato não pode ser analisado, ou que registra algo diferente do que declara, é recusado antes de qualquer ativação — em vez de instalar normalmente e falhar na próxima chamada de ferramenta.

Quando um pacote não carrega

Um pacote que esta máquina foi instruída a aplicar e não consegue executar nega os eventos cobertos pelas políticas ausentes, em vez de permitir silenciosamente. Consulte Comportamento em falhas. failproofai pack list identifica qualquer pacote nesse estado e encerra com código diferente de zero.

Offline e espelhos

Para publicar seu próprio pacote, consulte Publicar um pacote.