前提条件
前提条件
スキャンを実行するには:
- コードスキャンを利用する 権限と、Devin セッションを利用する権限が必要です。アクセスと権限を参照してください。
- 組織がスキャン対象のリポジトリにアクセスできる必要があります。
/scan でスキャンを開始する
- コンポーザーで
/scanに続けて検出したい内容を入力し、スキャン対象のリポジトリをメンションします。例:/scan find N+1 queries in @acme/api。コンポーザーで選択済みのリポジトリも対象に含まれます。 - メッセージを送信します。Devin はスキャンをセットアップするための新しいセッションを開始し、そのセッションを開きます。
/scanのみを送信した場合は、遅いデータベースクエリや未使用コードの検出といったスキャンの例を提案し、何を検出したいかを尋ねます。 - Devin はリクエスト内容からスキャンタイプを選び、その内容を1行で示します。たとえば「camelCase の変数名のみを検出するカスタムスキャンをセットアップします」といった具合です。別の内容にしたい場合は返信してください。
- Devin は Code scan setup のカードを表示します。スキャン対象の Repositories を確認し、必要に応じて What should the scan focus on? にガイダンスを追加してください。リポジトリをメンションしていない場合、Devin は最近のプルリクエストを基に、最も多く作業しているリポジトリをあらかじめ選択します。
- Start scan をクリックします。Devin はカードを送信して初めてスキャンを作成し、そのスキャンのセッションへのリンクを共有します。セットアップを取り消す場合は Dismiss をクリックしてください。
セキュリティ以外のスキャンは、通常のエフォートで無人実行されます。エフォートの選択や、調査の前に脅威モデルを確認できるよう Devin が一時停止するインタラクティブモードは、セキュリティスキャンでのみ利用できます。
スキャンタイプ
脆弱性や攻撃対象領域には、Security Swarm のスキャンを利用してください。
検出結果のレビューと対処
- Unassigned — 修復セッションがまだ開始されていません。
- Assigned — 修復セッションは開始済みですが、プルリクエスト は未作成です。
- PR open — その検出結果に対するプルリクエスト が作成されています。
- Assign to Devin — 検出結果に対処してプルリクエスト を作成する Devin セッションを開始します。Open session で作業の進行を確認し、Open PR で結果をレビューできます。
- Dismiss — 対応が不要な検出結果を削除します。
scanのスケール
Scan new commits
自動化
- Create a new scan を選択すると、自動化が発生するたびに新規スキャンを開始します。リポジトリ、スキャンの種類、プロファイルを指定してください。セキュリティ以外のスキャンの種類には、同じ種類のスキャンプロファイルが必要です。
- 既存のスキャンを選択すると、自動化が発生するたびに、そのスキャンの新しいコミットをスキャンします。対象のスキャンには、完了済みの実行が既にある必要があります。
API
profile_id を指定する必要があります。scan_type は、デフォルトでそのプロファイルのタイプになります。API 経由で開始したスキャンはインタラクティブに操作できません。
- Security Swarm — セキュリティスキャン、スキャンプロファイル、インタラクティブモード、code scans の権限について。
- Devin API 経由での code scan のトリガー — エンドツーエンドの API フロー。
- 自動化 — スキャンのスケジュール設定とトリガー。

