アプリケーションプログラミングインターフェース内の脆弱性を発見することは、初めに見えるより複雑な作業であることが多い。多数の自動スキャナは完璧な状態を朗々と告げながら、最も重要な問題、つまり不備のあるアクセス制御検証に対して危険なほど盲目のままである。「Hadrian」と名付けられた初期のオープンソース・ツールは、正確にこれらの問題に対処するために綿密に設計されている。
Praetorian企業は、アプリケーションプログラミングインターフェースのセキュリティ監査に専念するフレームワークを公開する。HadrianはシームレスにREST、GraphQL、およびgRPCアーキテクチャと連携し、敬い受けられるOWASP API Top 10に含まれる脆弱性を執拗に探し求める。
このツールは認可ロジックに深く焦点を当てている。その設定内で、ユーザーは異なる権限を持つユーザーペルソナを定義する。その後、アーキテクチャはこれらの様々なロール下でのあらゆるAPIメソッドへのアクセスを自律的に審問する。この高度なパラダイムは、ユーザーが他のテレメトリーまたは独自の機能へのアクセスを不正に取得するシナリオを明らかにするのに役立つ。
具体的には、HadrianはBOLAおよびBFLA分類の悪質な脆弱性を探し出す。これらは、オブジェクトと機能レベル両方での権限の不適切な検証に不可分に結びついている。さらに、このツールは認証の異常、過度なデータ漏洩、およびアーキテクチャの設定ミスを精査する。
検証を調整するために、3部構成のスキーマが展開される。最初に、1つのペルソナがデジタルリソースを作成する。その後、別のペルソナがそのリソースを変更または削除しようとし、その後アーキテクチャが結果を綿密に評価する。この厳密なメカニズムは、サーバからの欺瞞的で肯定的なエコーに依存するのではなく、操作が本当に実行されたという絶対的な確実性を保証する。
HadrianはYAML形式で作成されたテンプレートを活用し、コードを書く必要がまったくないテストシナリオの実行を可能にする。組み込みテンプレートは、数多くのAPIアーキテクチャにわたる脆弱性の主要カテゴリーをカバーしている。結果のレポートはプレーンテキスト、JSON、またはMarkdown形式で優雅に作成される。このツールは、多様な認証パラダイム、リクエスト速度のスロットリング、およびプロキシ経由でのオーケストレーションを採用している。さらに、実行される審問の正確な順序を明らかにする予知的なプレビューモードを提供し、テスト自体の実行をまったく回避する。
この取り組みは、オープンソースライセンスの下で親切に公表されている。