リスクフォーカス型ブラックボックス診断が Takumi API で利用可能に
Web コンソールで提供してきたリスクフォーカス診断が、Takumi API のブラックボックス診断でも利用可能になりました。
リスクフォーカス型診断は、指定したクレジットの範囲内で、優先度の高い機能・観点から診断を進めるものです。優先度は明示的に指定することも、Takumi に優先度づけを任せることもできます。クレジット上限に達すると、Takumi はそこまでの診断結果(レポート等)を出力して中断します。中断した診断に対して、クレジットを追加して続きから診断を再開することも可能です。
クレジット消費を予測可能にしたい場合や、予算内で重要な箇所を優先的に診断したい場合などに活用いただけます。
活用例
指定したクレジットの範囲内で診断する
診断する機能・観点の優先度づけを Takumi に任せ、指定したクレジットの範囲内で診断を実行するには、crawl_credit_limit および scan_credit_limit を指定してワークフローを呼び出します。クロールとスキャンそれぞれに対してクレジット上限を設定でき、片方だけの設定も可能です。以下の例では、クロール時のクレジット上限を 20、スキャン時のクレジット上限を 50 に設定しています(このとき、最大でも 70 クレジットの消費となります)。
const { workflow_run_id } = await fetch(
`${TAKUMI_API}/v1/o/${TAKUMI_ORG}/workflows/blackbox-assessment/dispatch`,
{
method: "POST",
headers,
body: JSON.stringify({
input: {
language: "japanese",
target_urls: ["https://app.example/"],
crawl_credit_limit: 20, // クロールに使うクレジットの上限 (任意)
scan_credit_limit: 50, // スキャンに使うクレジットの上限 (任意)
},
}),
},
).then((r) => r.json());
クロールに使うクレジットの上限 crawl_credit_limit を指定した場合、クロール中にクレジット上限に達するとそこでクロールを終了し、そこまでに発見された機能に対してスキャンを実行します。
クロールの終了後、発見されたそれぞれの機能と観点の組み合わせに対して、Takumi がリスク分析に基づいて優先度を自動的に決定し、優先度の高いものから順にスキャンを実行します。スキャン中にクレジット上限 scan_credit_limit に達すると、そこまでの診断結果を出力して診断が終了します。
診断が終了すると、診断レポートや検出された脆弱性一覧に加え、「どの機能・観点は診断完了したのか」を示す scan_progress というアーティファクトが出力されます。
{
// 診断完了した機能・観点の組み合わせ
"completed": [
{ "feature_name": "認証", "perspective": "Injection" },
{ "feature_name": "ユーザー設定", "perspective": "Authorization" },
// ...
],
// 診断の必要がないと判定されたためスキップされた組み合わせ
"skipped": [
{ "feature_name": "Apex", "perspective": "CSRF" },
// ...
],
}
より多くの機能・観点を診断したい場合は、クレジットを追加して診断を続行するを参照してください。
