CYBO Attest について
CYBO Attestは、cDSOパイプラインでアプリケーションのセキュリティスキャンとリリース承認を管理するチーム向けのホスト型MCPサーバーです。ブロッカーの確認、修正計画、スキャン実行、未解決の検出事項の正当化を支援しますが、最終承認はSecurity Control Assessorが行います。
主な機能
- 01セキュリティ状況とビルドブロッカーの確認
- 02ジョブログ付きの順序立てた修正計画
- 03検出事項とスキャン証拠の確認
- 04スキャン開始と進捗追跡
- 05アプリケーションとDockerfile修正の管理
- 06検出事項の正当化案の作成と提出
活用シーン
- 01ビルドを妨げる要因の特定
- 02依存関係とベースイメージの修正計画
- 03スキャンの再実行と進捗確認
- 04修正できない検出事項の正当化を提案
MCP 対応
ホスト型Streamable HTTP MCPサーバーは、Attestのツール、プロンプト、リソースをMCPクライアントに公開します。OAuthログイン後は各呼び出しにユーザーのロールと権限が適用され、ビルド承認は引き続きコンソールで行います。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://attest.ulapcybo.app/mcpclaude mcp add --transport http app-ulapcybo-attest https://attest.ulapcybo.app/mcp{"mcpServers":{"app-ulapcybo-attest":{"type":"http","url":"https://attest.ulapcybo.app/mcp"}}}Cursor で開く{"servers":{"app-ulapcybo-attest":{"type":"http","url":"https://attest.ulapcybo.app/mcp"}}}VS Code で開く{"mcpServers":{"app-ulapcybo-attest":{"type":"http","url":"https://attest.ulapcybo.app/mcp"}}}{"mcpServers":{"app-ulapcybo-attest":{"serverUrl":"https://attest.ulapcybo.app/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
CYBO Attest MCP サーバー
CYBO Attest は、cDSO(Community DevSecOps)パイプライン上に構築されたアプリケーションの認可コンソールです。この MCP サーバーを使うと、あらゆる MCP クライアントから、あなたやエージェント、ボットが Attest を操作できます。各ビルドをブロックしている要因の確認、問題を解決するための順序付きプランの取得、スキャンの開始、修正できない検出結果の正当化を行い、ビルドがリリース承認されるまで進められます。
このリポジトリではサーバーについて説明しています。サーバー自体は Ulap がホストしているため、インストールは不要です。
サーバーアドレス: https://attest.ulapcybo.app/mcp(Streamable HTTP)
レジストリ名: app.ulapcybo/attest
ドキュメント: https://docs.ulapcybo.app/developer/connecting-an-ai-agent/
できること
- セキュリティ状況。 各コンテナの最新スキャン結果、その判定、失敗したゲート、ブロックされている理由、次のアクションを確認します。
- 修正プラン。 1つのビルドについて、再ビルドに使用する承認済みベースイメージのタグ、更新するパッケージのバージョン、修正が必要な項目を、失敗したジョブのログとともに順序付きで提示します。
- 検出結果。 すべての検出結果の詳細、マニフェスト内の行、脆弱なパッケージを修正するコマンド、および検出結果がアプリケーションにとって何を意味するかについての Explainable AI による回答を確認します。
- スキャン。 アプリケーションのスキャンを開始し、ビルドとスキャンの進行状況を手順ごとに追跡して、各スキャナーの証拠とジョブログを確認します。
- アプリケーション。 GitHub リポジトリを追加し、リポジトリの最新コミットとアプリケーションを同期し、Attest が修正した Dockerfile を使用して、バージョンをレビューに提出します。
- 正当化。 修正できない検出結果の正当化を下書きして編集し、Security Control Assessor が確認できる理由を添えて提案します。
ビルドの承認または却下は、引き続きコンソール上で Security Control Assessor が行います。どのツールからも実行できません。
はじめる前に
https://attest.ulapcybo.app で CYBO Attest アカウントを作成してください。MCP サーバーはブラウザーを通じて OAuth でサインインし、各ツールはあなた自身として、あなたに割り当てられたロールで動作します。コンソールであなたが実行できる操作だけを行い、それ以上の操作は行いません。変更ごとに、あなたの名前と使用したクライアントが記録されます。
クライアントの設定
GitHub Copilot を使用する VS Code
ワークスペース内の .vscode/mcp.json(またはユーザーの MCP 設定)にサーバーを追加します。
{
"servers": {
"cybo-attest": {
"type": "http",
"url": "https://attest.ulapcybo.app/mcp"
}
}
}
ファイルまたは MCP サーバーの一覧からサーバーを起動し、VS Code でブラウザーが開いたらサインインします。エージェントモードの Copilot Chat からツールを使用してください。
Claude Code
claude mcp add --transport http cybo-attest https://attest.ulapcybo.app/mcp
次に、Claude Code で /mcp を実行し、CYBO Attest を選択してサインインします。
その他のクライアント
Streamable HTTP と OAuth に対応する MCP クライアントであれば、https://attest.ulapcybo.app/mcp に接続できます。サーバーは https://attest.ulapcybo.app/.well-known/oauth-protected-resource/mcp でサインイン情報を公開しているため、クライアントが自動的に取得します。
使い方
自然な言葉で質問してください。たとえば、次のように尋ねられます。
- 「CYBO Attest でアプリケーションがブロックされている理由は何ですか?」
- 「サンプルアプリの最新ビルドを修正するプランを作成してから、Dockerfile と依存関係を修正してください。」
- 「この検出結果について説明し、修正できるのか、それとも正当化が必要なのか教えてください。」
- 「スキャンをもう一度開始し、完了したら知らせてください。」
- 「この検出結果の正当化を下書きして、編集できるようにしてください。」
おすすめの順序は、get_security_posture でブロックされているものを確認し、1つのビルドに対して plan_fixes を実行してコードを修正し、start_scan を実行してから、スキャンが完了するまで get_application_progress で進行状況を確認することです。検出結果の正当化は、修正できない場合にのみ行ってください。
ツール
クライアントに表示されるツールは、あなたのロールと、サインイン時に許可したアクセス権によって異なります。
読み取り
| ツール | 機能 |
|---|---|
whoami | サインイン中のユーザー |
get_security_posture | すべてのコンテナの最新スキャン:判定、失敗したゲート、ブロックされている理由、次のアクション |
plan_fixes | 1つのビルドを修正するための順序付きプラン |
list_applications, get_application | アプリケーション、そのコンポーネントとソース |
list_intake_applications | Attest がユーザー向けにプロビジョニングしたアプリケーション |
get_application_progress | 最新のビルドとスキャンのステップごとの進捗 |
get_application_config | Attest がコミットする cDSO 設定 |
get_dockerfile_fix | Dockerfile と、Attest が修正した Dockerfile |
list_authorization_candidates | 認可に進められるバージョン |
get_github, list_github_repositories | GitHub が接続されているか、およびアクセス可能なリポジトリ |
list_justifications | 有効なものと取り下げ済みのものを含む正当化 |
console_link | コンソール内でのみ行われた作業のコンソールページ |
list_scans, find_scans, get_scan | スキャン、そのステップ、ゲート、判定 |
list_findings, get_finding, get_finding_change | 検出結果と、脆弱なパッケージの修正方法 |
explain_finding, draft_justification | 検出結果に関する説明可能なAIと、正当化の草案 |
explain_gate, explain_gate_controls, explain_job, explain_assessment | ゲート、その制御項目、失敗したジョブ、スキャンの影響評価に関する説明可能なAI |
list_scan_runs, list_scan_jobs, get_scan_job_log | パイプラインの実行、ジョブ、ログ |
list_base_images, list_base_image_tags | 承認済みのベースイメージとそのタグ |
get_scan_evidence, get_scan_artifact, get_scan_source | スキャナーの記録、公開されたファイル、スキャン対象リポジトリのファイル |
get_decision, get_review, get_review_summary | 判定と評価者のレビュー |
変更
| ツール | 機能 |
|---|---|
start_scan | アプリケーションのスキャンを開始 |
choose_dockerfile, use_fixed_dockerfile | Dockerfile を選択、または Attest が修正したものを使ってビルド |
add_github_repository | GitHub リポジトリをアプリケーションとして追加 |
sync_application | アプリケーションをリポジトリの最新コミットに更新 |
retry_provisioning | 失敗したプロビジョニングを再開 |
request_authorization | バージョンにタグを付け、レビューに進める |
propose_justification, withdraw_justification, apply_justifications | 検出結果を正当化し、正当化を取り下げ、再度コミット |
remove_application | アプリケーションを削除(クライアントが事前に確認します) |
サーバーでは、fix_blocking_findings と security_posture_report の2つのプロンプトと、API コントラクト、およびスキャナー、ゲート、用語のリファレンスという2つのリソースも提供しています。
セキュリティ
- リポジトリ読み取りトークンはツールの引数に含まれないため、モデルを経由することはありません。トークンはコンソールでのみ入力します。
- トークンは呼び出しのたびに、所属組織とロールに照らして検証されます。
- プライバシー:https://ulapcybo.app/privacy
サポート
お問い合わせやアクセス申請は、[email protected] までご連絡ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。