しくみ
採用する
ほかのエージェントと同じく、Agents から追加できます。プランのプロジェクトごとのエージェント数に含まれます。
確認します
公開のたびにサイトのコード、毎週月曜にコード、キー、公開中のサイトを保存します。
決めるのはあなた
Fix it を押すと、承認用の修正案が届きます。Accept the risk を押すと、あなたの選択が保たれます。
Security agentが確認すること
チェックの大半は Briks 独自のチェックが行います。毎回同じ方法でサイトを読み取り、クレジットはかかりません。そのうえでエージェントは、チェックが示した箇所だけを読み、指摘が本物かどうかを判断して、あなたに説明します。
サイトのコードの中から、ファイルに直接書かれたキー、回数の制限なく行えるデータの変更、誰が求めているかを確認せずに読み取られる会員の記録、生のHTMLとして表示されるテキスト、他のウェブサイトへの呼び出しを探します。キーについては、コードが読み取る名前とSettings → Secretsに設定された名前を双方向で突き合わせ、値そのものは一切見ません。
公開中のサイトで、すべてのアドレスがhttpsで応答するか、証明書の残り日数、セキュリティヘッダー、ダウンロードできてはいけないファイルを確認します。また、invoiceやpassportなど非公開に見える名前のファイルが公開ストレージにないか、フォーム入力の急な増加がないか、すべてのサイトに最初から入っているもの以外にサイトが追加したパッケージについて既知の脆弱性情報がないかも調べます。
アカウントや支払いをコードに持つサイトでは、AdminまたはStaffの権限を持つ人を数え、支払い設定を確認します:テストモードかライブモードか、webhookのシークレット、支払いと一致しなかった注文です。
指摘はわかりやすい言葉で、次の一歩を添えて
指摘事項は深刻度ごとに、緊急、高、中、低に分けて表示されます。それぞれに、誰が何をできてしまうか、ビジネスにとってどういう意味か、次に何をすればよいかが書かれています。
次のステップは3つのうちの1つです。あなたにしかできないこと(Settings → Secretsでキーを追加するなど、費用はかかりません)、Fix itの先にあるBuilderが直せる修正、または、そのまま受け入れると決めた内容に対するAccept the riskです。
ページに書き込まれたキーや誰でもダウンロードできる非公開ファイルなど、緊急の検出結果はすぐにお知らせします。ベルの通知に届き、Telegramを接続して緊急のセキュリティ検出結果をオンにしている場合はTelegramにも届きます。それ以外は週次レポートまでお待ちいただきます。
Fix it は必ずあなたの承認を待ちます
Fix it は、変更に通常かかるクレジットを表示してから、修正を Waiting、メール、チャットに送ります。エージェントが求めるほかの変更と同じです。内容を読み、文言を直して、承認することも断ることもできます。
承認すると、Builderが変更を加え、チェックしてから、元に戻せる新しいバージョンとして公開します。そのバージョンが公開されたら、チェックがもう一度実行され、問題がなくなった時点で、その指摘は修正済みとして記録されます。
セキュリティの修正が勝手に実行されることはありません。ほかのエージェントは、同じ種類の承認を5回問題なく重ねると、単独で動く権限を得られます。このエージェントは得られず、ほかのエージェントにある切り替えの場所に、その旨が表示されます。
リスクを一度承認すれば、承認したままになります
指摘の中には、あなたが選んだことに由来するものがあります。エージェントは、あなたが頼んだことを元に戻すよう提案することはありません。リスクを一度だけ伝え、判断はあなたに委ねます。
Accept the riskを選ぶと、あなたの選択が名前と日付つきで記録され、状況が悪化しない限り、エージェントが再び取り上げることはありません。
決してしないこと
サイトを自分で変更することはなく、キーの値を求めたり、読んだり、繰り返したりもしません。扱うのはキーの名前だけです。
侵入を試みることはありません。公開中のサイトには、訪問者のブラウザが行うのと同じ通常のリクエストだけを、1回のチェックで最大25件、サイト自身のアドレスに送ります。お客様の記録は1件ずつ読まず、件数を数えるだけです。
実行のタイミングと費用
公開のたびに、コードチェックとキーチェックが、公開されたばかりのバージョンに対して無料で実行されます。エージェント自体が起動するのは、それらが新しい問題を見つけたときか、依頼した修正が公開されて確認が必要になったときだけです。
毎週月曜の07:00(ワークスペースのタイムゾーン)に、本番サイトを含むすべてのチェックを実行し、短いレポートを書きます。スレッドで話しかけたときも返信します。
消費するのは、指摘事項の説明と修正案の文章を作るための読み書きの分で、ワークスペースのクレジットから、独自の月間予算(初期設定は20クレジット)の範囲内で支払われます。1回の実行で依頼する修正は最大2件で、深刻なものから順に選びます。各修正は通常の変更として扱われ、それぞれにクレジットの見積もりが付きます。
Securityエージェントの活用例
3つの事業の例と、それぞれの使い方です。サイトの画像は、例として作った事業向けに Briks が作ったサンプルで、お客様のサイトではありません。
- 01ベーカリー
上限のない予約注文フォーム
あるパン屋さんの予約注文フォームは、データベースに保存されます。公開後のチェックで、そのフォームの経路が1分間に何件でも受け付けることがわかります。エージェントは、誰かが注文を無意味なデータで埋め尽くせることを説明し、オーナーは Fix it を押します。修正は朝に彼女が承認するまで待機し、次のバージョンで上限が加わります。
- 02フィットネススタジオ
追加されたことのないキー
あるフィットネススタジオが、メーリングリストの接続を依頼しました。月曜のレポートには、コードがMAILING_LIST_KEYというキーを読み込もうとしているのに設定されていないこと、そして追加する場所が書かれています。OwnerがSettings → Secretsで追加します。費用はかからず、修正も不要です。
- 03建設請負業
誰でも開ける請求書
ビルダーが invoice-march.pdf というPDFをサイトの公開ファイルにアップロードします。エージェントは、アドレスを知っている人なら誰でもダウンロードできるのに、名前が非公開らしく見えるファイルを指摘します。オーナーはStorageで確認し、削除します。
得られるもの
- 公開のたびにコードをチェック、サイト全体は毎週月曜に
- 検出結果をわかりやすい言葉で、緊急から低までお伝えします
- Fix it は必ずあなたの承認を待ちます
- リスクを受け入れる(あなたの名前と日付つきで記録)
- キーの名前のみ。値は表示しません
- 通常の訪問者のリクエストのみで、攻撃は一切行いません
知っておくと便利なこと
- Securityエージェントは有料プランが必要で、プロジェクトごとのエージェント数に含まれます。Starterは3つ、Proは5つ、Studioは10、Agencyは15です。採用、修正の送信、リスクの承認はOwnerとAdminが行い、ワークスペースの全員がレポートを読めます。