# よくある質問 {#faq}

Takumi の診断・修正機能について、よく寄せられる質問と回答をまとめています。

## 診断の進め方とクレジット {#running-assessments}

### クレジット上限を小さくして段階的に進めると、精度や網羅性は下がりますか？ {#split-runs}

クレジット上限を小さく設定し、診断再開待ちから再開を繰り返して進めても、一括で診断した場合と精度や網羅性は変わりません。クレジット上限は、単に各「機能・観点」の組み合わせについてどの程度処理を進めるかのみを制御するものです。

ただし、Takumi は再開のたびに準備の処理を実行します。そのため、一括で診断した場合よりも消費クレジットがやや増える場合があります。

### 複数の機能にまたがる脆弱性は検出できますか？ {#cross-feature-vulnerabilities}

基本的に診断は各機能・観点の範囲の中で実施されますが、その影響範囲の調査や妥当性の確認においては複数機能を横断して実施されるため、検出漏れが発生しやすくなることは想定されません。なお、複数の機能に横断した脆弱性を組み合わせることによる侵害可能性の調査をご希望の場合は、診断完了後にペネトレーションテスト機能をご利用いただけます。詳細は[ペネトレーションテスト](/docs/ja/t/assessment/features/pentest/index.md#follow-up)を参照してください。

### 実行中の診断を止めたり、クレジット上限を変更したりできますか？ {#cancel-or-change-threshold}

実行中の診断は、診断一覧で対象の診断の行にあるメニューから「キャンセル」を選ぶと止められます。キャンセルは「オーナー」または「Takumi 管理者」のロールを持つユーザーから実行できます。

なお、実行中の診断のクレジット上限は変更できません。

### 診断の完了までに、どのくらいのクレジットと時間がかかりますか？ {#credit-and-duration-estimates}

診断を開始する前に、マトリクス画面でおおよその値を確認できます。マトリクス画面は、「一部だけ診断」でクロールや機能列挙を終えた診断と、診断再開待ちの診断を開くと表示されます。

マトリクス画面に表示される予測値は、次の 2 つです。

- **消費クレジットの予測値**：選択中の組み合わせと、未診断のすべての組み合わせについて、診断に必要なクレジットの範囲を示します。
- **実行停止までの予測時間**：設定したクレジット上限の範囲で選択中の組み合わせを診断し、実行が止まるまでにかかる時間の範囲を示します。

どちらの値も、組み合わせ 1 つあたりの目安に組み合わせの数を掛けて求めた予測値です。実際の消費クレジットや所要時間は、この範囲を超えることがあります。組み合わせ 1 つあたりのクレジットの目安は、[クレジット消費目安の一覧](/docs/ja/t/assessment/billing/pricing.md#consumption-estimates)をご覧ください。

### 診断ごとの消費クレジットを確認できますか？ {#credit-consumption}

確認できます。診断が完了した後に表示されるレポート画面において、サイドバーにある「メタデータの確認」欄に、その診断で消費した総クレジットが表示されます。

### 診断やクロールが失敗した場合、クレジットは消費されますか？ {#credit-on-failure}

消費されません。クレジットが計上されるのは、診断やクロールが進行し、正常に完了した場合だけです。

実際に消費されたクレジットは、Shisho Cloud コンソールの **設定 > プランとお支払い** にある「利用履歴」で確認してください。完了した診断の消費量は、その診断のレポート画面でも確認できます。詳しくは[診断ごとの消費クレジットを確認できますか？](#credit-consumption)をご覧ください。

### 診断を開始するとクレジット残高がすぐに減り、24 時間後に戻ったのはなぜですか？ {#credit-reservation}

減った分は消費されたクレジットではなく、診断のために確保されたクレジットです。診断の開始時には、指定されたクレジット上限の分が残高から確保されます。この確保は、残高を超える規模で診断が同時に実行されることを防ぐための仕組みです。確保されている間、表示される残高は確保分を差し引いた値になります。

確保が解除されるのは、診断が終了したときです。ただし、利便性を考慮して、診断の開始から 24 時間が経つと確保は自動的に解除されます。診断の実行中でも、確保分は利用可能な残高に戻ります。

いずれの場合も、実際に計上されるのは、診断で利用された分のクレジットだけです。詳しくは[診断実行中のクレジット確保](/docs/ja/t/assessment/billing/pricing.md#credit-reservation)をご覧ください。

## 診断の対象範囲 {#scope}

### 診断やペネトレーションテストで、Takumi はスコープを必ず守りますか？ {#scope-compliance}

Takumi はスコープを守るよう制御されていますが、逸脱の可能性を完全になくすことはできません。

当社は、指定されたスコープに関するポリシーを Takumi に渡し、すべての工程を通じて参照させています。Takumi には、対象として明示されたリソースにだけ働きかけ、それ以外は原則としてスコープ外として扱うよう課しています。当社の評価の範囲では、スコープからの逸脱は基本的に発生していません。

逸脱が起こりうるのは、主に診断対象のコンテンツが Takumi の判断を誘導する場合 (いわゆるプロンプトインジェクション) と、スコープ内の URL からスコープ外へ自動的にリダイレクトされる場合です。ただし、どちらも大きな影響につながる可能性は低いものです。

ペネトレーションテストでは、テスト中の Takumi の行動を AI モデルを含む別のシステムが評価し、スコープ外へのアクセスを検知します。逸脱が発生した場合でも、当社はその程度や影響を早期に把握できます。スコープの定義方法は[スコープ](/docs/ja/t/assessment/features/pentest/index.md#scope)をご覧ください。

### ソースコードの診断で、一部の機能しか診断されないのはなぜですか？ {#feature-limit}

ホワイトボックス診断とグレーボックス診断では、「[クロール結果のフィルタリング](/docs/ja/t/assessment/features/whitebox-assessment.md#クロール結果のフィルタリング)」が既定で有効になっているためです。当該機能が有効になっている場合、Takumi は機能列挙フェーズにおいて優先して診断すべき機能を設定に基づいてフィルタリングするため、一部の機能がクロール結果から除外されます。

すべての機能を診断したい場合は、フィルタリングを無効にするか上限を引き上げてから診断を開始してください。

### 優先度を設定しても「スキップ」になる組み合わせがあるのはなぜですか？ {#skipped-combinations}

Takumi は、機能と観点の組み合わせごとに、検査する必要があるかを判断しているためです。検査の必要がないと判断した組み合わせは診断されません。マトリクス画面でのその組み合わせの表示は「スキップ」です。

どの観点をどの機能で診断するかは、診断手法ごとに決まっています。たとえばブラックボックス診断では、認証の不備を、サインインやサインアップのフォームなど認証の手段を提供する機能でだけ診断します。ホワイトボックス診断とグレーボックス診断の場合、設定不備と認証の不備の診断は、リポジトリ全体に対する 1 回だけです。

スキップされる組み合わせの詳細は、各診断手法のページにある「診断観点」をご覧ください。

- [ホワイトボックス診断](/docs/ja/t/assessment/features/whitebox-assessment.md#診断観点)
- [ブラックボックス診断](/docs/ja/t/assessment/features/blackbox-assessment.md#診断観点)
- [グレーボックス診断](/docs/ja/t/assessment/features/graybox-assessment.md#診断観点)

### ブラックボックス診断で、一部の機能を診断対象から外せますか？ {#exclude-delete-features}

一部の機能だけを自動的に除外する設定はありません。診断タイプで「一部だけ診断」を選び、クロールが終わったあとに[クロール結果を手動で編集](/docs/ja/t/assessment/features/blackbox-assessment.md#クロール結果の手動編集)して、該当する機能やエンドポイントを削除してください。

## 診断対象への影響 {#target-impact}

### ペネトレーションテストで、サービス停止につながる操作を防げますか？ {#avoid-destructive-actions}

ペネトレーションテストの設定にある「[破壊的な操作](/docs/ja/t/assessment/features/pentest/index.md#destructive)」で、大規模なサービス停止や不可逆なデータ破壊を伴う操作を、Takumi にどの程度許可するかを選べます。「避ける」は、Takumi に破壊的な操作を避けさせる選択肢です。破壊的な操作が唯一の手段であっても、Takumi はゴールを達成しないままテストを終了します。

ただし、「避ける」を選んでも、サービス停止などが起こらないとは保証できません。対象システムの状態や構成によっては、想定外の挙動が生じる可能性があるためです。

## ログインと認証 {#authentication}

### SSO や多要素認証を使うアカウントで、診断やペネトレーションテストを実施できますか？ {#browser-based-authentication}

実施できます。Takumi は利用者と同じようにブラウザを操作してサインインするため、ブラウザ上で完結する認証には基本的に対応しています。認証情報を設定するときは、「アカウントの用意方法」で「既存アカウント」を選んで ID とパスワードを入力し、必要な情報を「追加情報」に記載してください。

- **SSO を使うアカウント**：Google アカウントなど、SSO で使うアカウントの ID とパスワードを入力してください。SSO に関する手順を「追加情報」に記載すると、サインインに成功しやすくなります。
- **TOTP 方式の多要素認証を使うアカウント**：「追加情報」に TOTP のシークレット (`otpauth://` 形式の文字列) を記載してください。Takumi はサインイン時にワンタイムパスワードを生成します。

開発者アカウントの乗っ取りを想定したペネトレーションテストでは、「アカウントの用意方法」で「その他」を選ぶ方法もあります。漏えいを想定するアクセストークンなどを「追加情報」に記載してください。

### 認証に特殊な仕様や手順がある場合は、どうすればよいですか？ {#custom-authentication-flow}

認証の仕様や手順を、認証情報の「追加情報」に詳しく記載してください。Takumi は記載された内容を解釈し、その手順に沿ってサインインします。記載できる情報の例は次のとおりです。

- ID とパスワードを入力する前に必要な Basic 認証の情報
- ログインページの URL と、サインインまでの操作手順
- トークンの取得方法と、リクエストに付与するヘッダー

診断でサインインに失敗すると、Takumi はクロールや診断を中断し、失敗した理由を診断のページに表示します。表示された理由を参考に「追加情報」や認証情報を見直してから、診断をやり直してください。サインインの失敗によってクレジットが消費されることはありません。

また、診断対象で IP アドレスによるアクセス制限や WAF を設定している場合は、Takumi からのアクセスを許可してください。送信元の IP アドレスは、[Takumi が利用する IP アドレス](/docs/ja/t/assessment/references/source-ip-addresses.md)をご覧ください。

### サインイン画面に CAPTCHA がある場合は、どうすればよいですか？ {#captcha}

Takumi には、CAPTCHA を突破する機能がありません。CAPTCHA は第三者が提供する保護対策であり、突破すると利用規約への違反など、倫理上の問題につながるおそれがあるためです。CAPTCHA を突破する方法として推奨できるものもありません。

サインイン後の状態から診断を始めたい場合は、セッション Cookie を渡す方法があります。認証情報の「アカウントの用意方法」で「その他」を選び、セッション Cookie の情報を「追加情報」に記載してください。Takumi がブラウザにその Cookie を設定することで、サインイン後の状態から診断を始められる場合があります。

ただし、診断の途中でセッションが失効すると、Takumi はサインイン後の状態を保てなくなります。その場合、診断を続けられなくなる可能性がある点にご注意ください。

## レポートと通知 {#reports-and-notifications}

### 実行中の診断やペネトレーションテストの進捗を確認できますか？ {#progress}

確認できます。確認する方法は、診断とペネトレーションテストで異なります。

診断の場合は、実行中の診断のページを開いてください。「診断の進捗」に、その回の実行で診断する組み合わせのうち、診断を終えた組み合わせの数が表示されます。表示はおよそ 5 分ごとに更新されるため、最新の状況はページを再読み込みして確認してください。

ペネトレーションテストの場合は、対象のテストのページで「進行状況を確認する」を押すと、進捗画面が開きます。進捗画面で確認できるのは、攻撃の到達点を時系列で示すタイムラインと、攻撃経路を図で示す侵入マップです。詳しくは[進捗の確認](/docs/ja/t/assessment/features/pentest/index.md#monitoring)をご覧ください。

### 実行中の診断で、それまでに検出された脆弱性を確認できますか？ {#findings-while-running}

診断の実行中に、その時点までに検出された脆弱性を確認することはできません。

Takumi は診断を進めながら脆弱性の候補を見つけ、それぞれが実際に脆弱性であるかを検証しています。実行の途中には検証を終えていない候補が残るため、報告する脆弱性はその回の実行が終わるまで確定しません。

途中の結果を確認したい場合は、クレジット上限を小さめに設定して診断を開始してください。上限に達すると、診断は診断再開待ちの状態で止まります。この状態では、「レポートをプレビュー」から、それまでに診断した範囲の結果をまとめたレポートを確認できます。確認したあとは、クレジット上限を指定して診断を再開してください。このように[段階的に進めても](#split-runs)、精度や網羅性は変わりません。

### 診断再開待ちの状態で、レポートをダウンロードできますか？ {#interim-report}

Markdown 形式であればダウンロードできます。「レポートをプレビュー」で開いたレポートからダウンロードしてください。ただし、このレポートは中間結果であり、確定した結果ではありません。

PDF レポートは、診断を完了したあとにのみ発行できます。

### 診断の通知先に、Slack のプライベートチャンネルを指定できますか？ {#slack-private-channel}

指定できます。対象のプライベートチャンネルに Takumi アプリを招待してください。招待してから[通知先](/docs/ja/t/assessment/features/notifications.md#destinations)の候補に表示されるまで、最大 8 時間かかる場合があります。

## データの取り扱い {#data-handling}

### アップロードしたソースコードは、いつ削除されますか？ {#uploaded-source-retention}

保持期間は、そのファイルで最後に診断を実行した時点から 30 日間です。完了した診断では、レポート画面の「データの管理」にある「ソースコードを削除」から、すぐに削除することもできます。詳しくは[ホワイトボックス診断](/docs/ja/t/assessment/features/whitebox-assessment.md#ファイルアップロード)をご覧ください。

GitHub リポジトリを指定した場合、Takumi は診断のたびにリポジトリからソースコードを取得し、診断の終了時に破棄します。

### アップロードしたソースコードやデータは、どのリージョンに保存されますか？ {#data-residency}

お客様のデータの保存先は、原則として日本リージョンです。ただし、一部の運用メタデータや管理用 SaaS のログは、各 SaaS 提供者のホスティング地域に従います。詳しくは[提供元のセキュリティ](/docs/ja/c/security.md#data-residency)をご覧ください。

なお、AI を利用する機能の推論処理では、推論プロバイダの日本国外のリージョンが利用される場合があります。その理由は[AI/LLM 利用時の定め](/docs/ja/c/security.md#llm-providers)で説明しています。

### 診断のデータは AI モデルの学習に使われますか？ {#llm-training}

使われません。当社が利用するのは、入力データを AI モデルの学習に利用しないことを利用規約や DPA などで確認した推論プロバイダのみです。

当社は、データを保持しない設定を可能な範囲で推論プロバイダに求めています。ただし、サイバーセキュリティに関する能力の高い一部のモデルでは、悪用を防ぐ目的で一定期間データが保持される場合があります。保持されたデータも学習には使われません。詳しくは[提供元のセキュリティ](/docs/ja/c/security.md#llm-providers)をご覧ください。
