Skip to main content
Набор — это совокупность политик, опубликованная как выпуск GitHub. Одна команда устанавливает его, контрольные суммы самого выпуска проверяются перед запуском, и хеш записывается так, чтобы набор не мог измениться на вашей машине впоследствии.

Установите политики Failproof AI

Это устанавливает набор, который мы публикуем, из копии внутри пакета — поэтому он не требует сетевого подключения и не может сломаться за прокси. Возьмите часть из него:
failproofai pack list выводит названия всех категорий, которые предоставляет набор.

Посмотрите, что содержит набор, перед установкой

Выводит список всех политик в наборе, сгруппированных по категориям, с указанием того, какие из них автор включает по умолчанию и какие являются опциональными. Он читает только манифест — артефакт входа никогда не загружается и никогда не импортируется, поэтому изучение чужого набора не может запустить чужой код. Манифест по-прежнему проверяется против SHA256SUMS самого выпуска, поэтому вы читаете именно то, что будет установлено. failproofai pack list без источника выводит уже установленные здесь наборы.

Установите чужой набор

Работают любые из этих вариантов — вставьте то, что у вас есть: Если не указать тег, устанавливается новейший выпуск и привязывается, затем вам сообщается, какой тег он выбрал. Что записывается всегда указывает ровно один выпуск, поэтому переустановка не может измениться.

Возьмите часть набора

По умолчанию вы получаете собственные установки набора — политики, которые его автор отметил как безопасные для включения без присмотра — а не всё, что он содержит.
--category и --policy объединяются как объединение (--only принимается как синоним для --policy). Переустановка на новой версии сохраняет то, что вы выбрали, вместо того чтобы включить остальное обратно.

Управляйте тем, что включено

Голое имя означает встроенную политику, когда таковая существует под этим именем. Назовите копию набора явно, когда вам нужно:
Если набор поставляет политику, имя которой также совпадает с включённой встроенной, встроенная политика запускается и копия из набора пропускается — в противном случае одна и та же защита оценивалась бы дважды. Выключите встроенную, чтобы вместо этого использовать копию из набора.

Откуда берутся политики Failproof AI

core читает копию, поставляемую с npm-пакетом. Тот же набор публикуется как выпуск GitHub, который вы устанавливаете, если хотите конкретную версию:

Что даёт целостность и что нет

SHA256SUMS поставляется в том же выпуске, что и артефакт, поэтому это не подпись и ничего не доказывает о том, кто его опубликовал. Что она доказывает, так это то, что байты — это те, которые опубликовал выпуск — и поскольку хеш записывается при добавлении набора и перепроверяется перед каждым импортом, набор не может измениться на вашей машине впоследствии. Репозиторий, который переделывает теги или заменяет активы, перестаёт загружаться вместо того, чтобы молча запустить что-то другое. При установке набор также импортируется один раз и проверяется против своего собственного манифеста. Набор, артефакт которого не разбирается, или который регистрирует что-то другое, чем он объявляет, отказывается перед активацией чего-либо — вместо чистой установки и отказа при следующем вызове инструмента.

Когда набор не загружается

Набор, который эта машина должна была принудительно применять и не может запустить, отрицает события, которые охватывали его отсутствующие политики, вместо того чтобы молча разрешить их. Смотрите Поведение при отказе. failproofai pack list выводит названия любого набора в таком состоянии и выходит с ненулевым кодом.

Вне сети и зеркала

Публикация собственного набора: смотрите Опубликуйте набор.