次の方法で共有


独自のカスタム プラグインを作成する

独自のカスタム プラグインを作成することで、Security Copilotの機能を拡張できます。 このプラットフォームでは、ワークフロー要件に合った特殊なタスクを実行するために使用できるプラグインを構築するための flexbile フレームワークがサポートされています。

新しいプラグインの作成

管理者が Security Copilot をどのように構成したかによって、次の手順に従って新しいプラグインを作成できる場合があります。

  1. サポートされているプラグインのリストからプラグインを構築します。

  2. YAML または JSON プラグイン マニフェスト ファイルを作成します。このファイルには、プラグインに関するメタデータとその呼び出し方法が記述されています。

  3. プラグイン マニフェストを Security Copilot に公開します。

プラグインの要件

すべての Security Copilot プラグインには、スキル セットに関するメタデータとスキルの呼び出し方法を記述する YAML または JSON 形式のマニフェスト ファイル (例: plugin.yaml または plugin.json) が必要です。

マニフェストは、 DescriptorSkillGroupsの 2 つの必須の最上位キーで構成され、それぞれにサブキーまたは値のペアがあり、スキル形式に応じて必須/省略可能なフィールドが含まれます。

詳細については、「 エージェント マニフェスト」を参照してください。

OpenAI マニフェストと Security Copilot マニフェストの違い

ChatGPT プラグインのドキュメントに従って構築された OpenAI プラグインは通常、Security Copilot のマニフェスト形式とは異なるマニフェスト形式を使用します。 Security Copilot は、両方の形式をサポートしています。

OpenAI プラグイン マニフェスト は、アップロードされると Security Copilot マニフェストに変換されます。

注:

特にメモの制限に関するマッピングの詳細は、将来変更される可能性があります。 現在、プラットフォームは OpenAPI バージョン 3.0 または 3.0.1 のプラグインのみをサポートしています。

プラグイン フィールドのマッピング

プラグイン フィールド 記述子フィールド 必須 Notes (メモ)
schema_version 文字列 いいえ これは、OpenAI マニフェスト スキーマのバージョン ('v1' など) です。 現在は使用されていません。
name_for_model string 名前 はい 長さは 100 文字に制限されています。 スキルセットの内部名。 / \ ? # は許可されません。
name_for_human string DisplayName はい 人間が判読できるプラグインの名前。 長さは 40 文字に制限されています。
description_for_model string 説明 はい 長さは 16,000 文字に制限されています。 LLM で使用するための内部説明。
description_for_human string DescriptionDisplay はい 人間が判読できるプラグインの説明。 長さは 200 文字に制限されています。
logo_url string アイコン 推奨 プラグインのメイン アイコンを取得するために使用される URL。
contact_email 文字列 いいえ プラグインのメール連絡先。 現在は使用されていません。
legal_info_url 文字列 いいえ プラグイン情報のリンク。 現在は使用されていません。
api object オブジェクト構造については、「プラグイン API」セクションを参照してください はい
auth object はい authorization_typebearer に制限されています。 none、oauth、api_key、aad、aad_delegated などのさまざまな認証 type のサポートの詳細については、後述します。

プラグイン (API フィールド)

api フィールドのオブジェクト構造

フィールド 種類 説明 必須
type string 現在サポートされている種類は openapi のみです。 はい
url string OpenAPI 仕様ファイルへのリンク はい

プラグインの作成に関するガイダンス

プラグインの作成には多くの考慮事項があります。 このドキュメントは、Security Copilot のプラグインを記述するためのガイドラインとベスト プラクティスの一部について取り上げます。

注:

"スキルの競合" は、Security Copilotが 2 つの異なるスキルを正確に区別しない場合に発生します。

  • 同じ種類の応答を返し、入力に基づいてのみ異なる複数のスキルを持つ代わりに、スキルを定義します。スキルは複数の入力を受け取り、データの取得方法を内部で判断します。

    • たとえば、個別の GetDeviceByIdGetDeviceByUserIdGetDeviceByUserName の代わりに、デバイス ID、ユーザー ID、またはユーザー名のいずれかを取得する単一の GetDevices スキルを持ちます。
  • Security Copilot は、Description フィールドと DescriptionForModel フィールドをサポートします。 Description は UX (DescriptionForModel が設定されていない場合はスキル選択にも) で使用され、DescriptionForModel はスキル選択のみに使用されます。

    • たとえば、"ホスト名に関連付けられた SSL 証明書を返す" という説明を持つ GetSslCertsByHostname スキルがあるとします。 ForModel の詳細な説明は、"DNS ホスト名またはドメイン名の SSL 証明書 (TLS 証明書とも呼ばれる) を取得します。 発行者、件名、シリアル番号、sha1、日付などの証明書の詳細とともに SSL 証明書のリストを返します" となる可能性があります。
  • スキルの説明は、ある程度の知識はあるものの、問題領域の専門家ではない可能性がある人向けの冗長なフレーズにする必要があります。 スキルが何をするのかだけでなく、なぜそのスキルを使用したいのかについても説明する必要があります。

    • たとえば、"IP アドレスの評判情報を取得します。 IP アドレスが危険かどうかをユーザーが判断できるようにします" という説明が適切です。  

関連項目