Failproof AI のポリシーをインストールする
failproofai pack list で、パックが提供するすべてのカテゴリを確認できます。
インストール前にパックの内容を確認する
SHA256SUMSと照合されるため、表示されている内容がそのままインストールされます。
ソースを指定せずにfailproofai pack listを実行すると、現在インストール済みのパックが一覧表示されます。
他のユーザーのパックをインストールする
タグを指定しない場合、最新リリースをインストールして固定し、選択されたタグを通知します。記録される内容は常に特定のリリース1つを指すため、再インストール時にバージョンがずれることはありません。
パックの一部だけ取り込む
デフォルトでは、パック内のすべてではなく、作者が無人実行しても安全とマークしたパック自身のデフォルトポリシーのみが適用されます。--categoryと--policyは和集合として組み合わせられます(--onlyは--policyの別名として使用できます)。新しいバージョンで再追加した場合、選択した内容は維持され、残りが有効化し直されることはありません。
有効なポリシーを管理する
パックが提供するポリシーの名前が有効な組み込みポリシーと重複している場合、組み込みポリシーが実行され、パックのコピーはスキップされます。これは、同じガードが2回評価されるのを防ぐためです。パックのコピーを使用したい場合は、組み込みポリシーを無効にしてください。
Failproof AI のポリシーの提供元
coreは、npmパッケージ内に同梱されたコピーを読み込みます。同じセットはGitHubリリースとしても公開されており、特定のバージョンが必要な場合はそちらからインストールできます。
整合性検証でできること・できないこと
SHA256SUMSはアーティファクトと同じリリースに同梱されているため、署名ではなく、誰が公開したかを証明するものではありません。証明されるのは、バイト列がそのリリースで公開されたものと一致することです。パック追加時にダイジェストが記録され、インポートのたびに再検証されるため、インストール後にパックの内容が変わることはありません。リリースのタグを付け替えたりアセットを差し替えたりしたリポジトリは、別のコードを静かに実行する代わりに、読み込みに失敗します。
インストール時には、パックが一度インポートされ、自身のマニフェストと照合されます。アーティファクトのパースに失敗したり、宣言内容と異なるものを登録しようとするパックは、アクティベーションされる前に拒否されます。インストールは成功したが次のツール呼び出しで失敗する、といった事態にはなりません。
パックが読み込まれない場合
このマシンで適用するよう設定されているが実行できないパックが存在する場合、対象ポリシーが適用するはずだったイベントは、サイレントに許可されるのではなく拒否されます。詳しくはFailure behaviorを参照してください。failproofai pack listはその状態のパックを表示し、ゼロ以外の終了コードで終了します。
オフライン環境とミラー
独自パックの公開方法については、Publish a packを参照してください。

