- ポリシーと修復
- AIエージェント
- チケットエージェント
チケットエージェント
チケットエージェントは、Ostorlab のチケットイベントに反応する AI エージェントです。チケットが作成、再オープン、割り当て、コメントされたとき、またはサービスレベル目標 (SLO) を超過したときに、エージェントがチケットを確認し、分析結果をコメントとして残します。内容は、重大度と影響、推奨される修復の優先度、不足しているコンテキストの指摘、推奨される担当者です。
エージェントは、役割と境界を定義する system prompt と、実行するタイミングと依頼内容を定義する 1 つ以上のルールに基づいて動作します。
このデモでは、テンプレートからチケットエージェントを作成する手順を、詳細、AI モデル、MCP サーバー、ルールの順に紹介します。
report.ostorlab.co を開いてサインインし、手順に沿って進めてください。
1. AI Agents ページを開く
メニューから Agents、続いて AI Agents を開きます。My Agents タブには、組織のエージェントが一覧表示されます。
2. 開始方法を選ぶ
チケットエージェントは 2 つの方法で作成できます。
テンプレートから開始する
Agent Templates タブを開き、チケット用テンプレートのいずれかで Use template をクリックします。
- Vulnerability Triage (Ticket agent のラベル付き): 新しいチケットを確認し、優先度と担当者を提案し、不足しているコンテキストを指摘します。
- Compliance: 新しいチケットのコンプライアンスへの影響を確認します。エージェントは、該当する統制またはフレームワーク、不足している証跡、潜在的な影響、推奨される次のステップを特定します。
どちらのテンプレートも、エージェントの詳細、system prompt、そして既定で無効になっている 1 つのルールが入力済みの状態になります。

ゼロから開始する
AI Agents ページの右上にある New Agent をクリックします。エージェントがまだ存在しない場合は、空の状態にも同じボタンが表示されます。空のフィールドで同じフォームが開きます。エージェント名 (必須)、system prompt (必須)、モデル (必須) を入力し、Rules ステップで独自のルールを追加します。ルールは自動では追加されません。
3. エージェントの詳細を確認する
テンプレートを使う場合、これらのフィールドは入力済みです。ゼロから開始する場合は、自分で入力します。
- Avatar: PNG、JPG、SVG、WebP、GIF (2MB まで)。
- Agent name (必須)。
- Description。
- System prompt (必須): エージェントの役割、責任、トーン、運用上の境界を定義します。テンプレートでは、簡潔なチケットコメントを残し、チケットのステータス、担当者、ラベル、外部システムを変更しないよう指示しています。
Continue をクリックします。

4. AI モデルを選択する
エージェントが実行されるモデルを選びます。エージェントの作成にはモデルが必須です。
- Model key: 独自の API キーで構成したモデル (bring your own key、BYOK)。Add API Key で追加します。対応プロバイダーは OpenAI、Anthropic、Google、AWS Bedrock、Azure AI Foundry です。
- Prepaid: Ostorlab が提供するモデルで、組織のウォレットのトークンで支払います。トークンは実行開始時に確保され、未使用のトークンは実行終了時に返却されます。ページには現在のトークン残高が表示されます。

5. オプション設定を構成する
チケットエージェントは、これらがなくても動作します。実行に永続的な知識や外部ツールが必要な場合にのみ追加してください。
- Memory: Git リポジトリ (既定のブランチは
main) を接続して、実行をまたいでエージェントが知識を保持できるようにします。New Memory をクリックして追加します。None (Memory off) の場合、エージェントは状態を保持しません。 - Skills: 実行中にエージェントが参照できる、再利用可能な指示と参考資料です。New Skill をクリックして、記述した指示、GitHub フォルダー、zip アーカイブから作成します。Skills は検索、編集、削除できます。
- MCP Servers (Model Context Protocol): 実行中にエージェントが呼び出せる外部ツールです。このステップには、組織の Connected servers が一覧表示されます。New MCP Server で、追加するサーバーの種類を選びます。
- Remote: URL でアクセスできるサーバーです。サーバー名 (必須)、説明、サーバー URL (必須)、および組織が値を提供するヘッダー名 (
Authorizationなど) を入力します。 - Local process: コマンドで起動するサーバーです。起動コマンド、インストールコマンド、ソース URL、および組織が値を提供する環境変数名を入力します。
- OXO: 利用可能な OXO サーバーの一覧を開きます。1 つを選んで接続し、同じダイアログでエージェント引数を入力します。すべての OXO サーバーが接続済みになると、一覧には No OXO MCP server left to connect. と表示されます。
- Remote: URL でアクセスできるサーバーです。サーバー名 (必須)、説明、サーバー URL (必須)、および組織が値を提供するヘッダー名 (


Warning
skill または MCP サーバーを削除すると、それを使用しているすべてのエージェントから削除されます。memory を削除しても、それを使用しているエージェントはメモリなしで動作し続けます。
6. ルールを構成する
Rules ステップには、エージェントのルールが一覧表示されます。テンプレートには 1 つのルール (例: Triage new vulnerability tickets) が付属しており、既定では無効です。トグルでルールを有効化し、Edit (鉛筆) アイコンで編集し、Delete (ゴミ箱) アイコンで削除します。別のルールを追加するには New Rule を使います。

7. ルールを追加または編集する
New Rule をクリックし、ルールを実行するタイミングを選びます。
| ルールの種類 | 実行されるタイミング |
|---|---|
| Ticket | 選択したチケットイベントが発生したとき |
| Scan | スキャンが完了したとき |
| Schedule | 定期的なスケジュールで |
Change type で、ルールを Ticket、Scan、Schedule の間で切り替えます。すべてのルールには次の項目があります。
- Rule Name (必須)。
- Description (任意)。
- Prompt (必須): ルールが発動したときにエージェントへ渡される指示。
- Conditions: 任意のフィルター。
チケットルール
Ticket Events を選択します (必須)。選択したいずれかのイベントでルールが発動します。
- Created
- Reopened
- Assigned
- New comment
- SLO breached

スキャンルール
スキャンが完了したときに発動します。条件を追加して、特定のスキャンプロファイル、ターゲット、アセットタイプに限定できます。
スケジュールルール
5 つのフィールド (分、時、日、月、曜日) の Crontab と Timezone を設定します。例えば、0 9 * * 1 は毎週月曜日の 9:00 に実行されます。
条件
Add Condition をクリックして、ルールの実行条件を絞り込みます。すべての条件が一致する必要があります (AND)。条件がない場合、ルールはすべてのトリガーで実行されます。つまり、選択したすべてのチケットイベント、完了したすべてのスキャン、またはスケジュールされたすべての実行です。

チケットルールでは、次の項目でフィルターできます。
| フィールド | 値 |
|---|---|
| Priority | P0 から P4 |
| Status | Open、Fixed、Fixed & Verified、False Positive、Exception、Reopened、Closed など |
| Risk rating | Critical、High、Medium、Low、Potentially、Hardening、Secure、Important、Info |
| Stream | 修復ストリーム (割り当てられたチームメンバーとタイムラインを持つ、関連チケットのグループ) |
| Tag | タグ名または name:value |
| Title | 自由テキスト |
| Age | 日、時間、分、秒での期間 |
| Assignee | ユーザーまたはエージェント |
スキャンルールでは、Scan profile、Target (例: acme.com や acme/web-app)、Asset type (Android、iOS、HarmonyOS、Web URL、Web API、IP Address、Network、Repository など) でフィルターできます。
各条件では演算子を使います: is any of、is none of、is、is not、contains、at least、at most。利用できる演算子はフィールドによって異なります。
完了したら Save Rule をクリックします。未保存の変更がある状態でダイアログを閉じると、破棄するか編集を続けるかを確認されます。
8. エージェントを作成する
Create Agent をクリックします。新しいエージェントは My Agents タブに表示されます。エージェントが実行を開始するように、少なくとも 1 つのルールが有効になっていることを確認してください。
エージェントを管理する
My Agents タブでエージェントを開くと、詳細を確認できます。編集 (Save Changes) や、Delete Agent による削除が可能です。
Warning
エージェントを削除すると、そのエージェントが割り当てられていたすべてのチケットから割り当てが解除され、実行定義が破棄されます。チケット自体は残ります。