業界トップクラスの精度。
高い再現率。ノイズはごくわずか。
大量の誤検知を受け入れることなく、脆弱性を見つけられます。Cyfendo は、脆弱性のある Java テストケースの 94.06% を検出し、Python では 93.78% の適合率を達成しました。結果をご確認のうえ、ご自身のコードでお試しください。
Cyfendo が報告した OWASP 評価です。Java と Python は別々に測定しています。出典と方法は以下をご覧ください。
3,970 件のテストケースで測定した検出精度
脆弱性スキャンでは、高い検出範囲と誤検出の抑制のバランスが求められます。Youden’s J は、このバランスを直接示す指標です。
高い検出率は、半分の話にすぎません。
スキャナには、脆弱性を見つけることと、安全なコードと区別することの両方が求められます。Youden’s J は、そのバランスを示します。既存の SAST ツールについて公表されている評価 (抜粋) と並べて、Cyfendo の結果をご覧ください。
| ソリューション / 評価した構成 | Youden’s J プール | 再現率 | 適合率 | FPR | 根拠 |
|---|---|---|---|---|---|
| Cyfendo の評価 | |||||
| Cyfendo、2026年9月にスキャンを実施 | 90.29% | 94.06% | 96.38% | 3.77% | Cyfendo ホワイトペーパー |
| 研究・オープンソースの評価 (Youden’s J 順) | |||||
| Semgrep CE、自動ルール、バイナリ未指定 | 47.70% | 89.96% | 69.45% | 42.26% | QASecClaw (2026年5月3日) |
| FindBugs と FindSecBugs v1.4.6 | 43.76% | 96.82% | 66.09% | 53.06% | OWASP スコアカード v1.2 |
| SonarQube Java プラグイン v3.14 | 32.26% | 42.90% | 81.15% | 10.64% | OWASP スコアカード v1.2 |
| CodeQL 2.23.7 | 28.8% | 97.0% | 60.3% | 68.2% | Sifting the Noise (2026年1月30日) |
| Semgrep 1.145.0 | 15.6% | 90.4% | 56.3% | 74.8% | Sifting the Noise (2026年1月30日) |
| Joern 4.0.454 | 1.0% | 8.2% | 54.7% | 7.2% | Sifting the Noise (2026年1月30日) |
| SonarQube 9.9.8 Community | 1.0% | 95.6% | 51.9% | 94.6% | Sifting the Noise (2026年1月30日) |
| 業界の商用ツールのベースライン (OWASP プロジェクトのコホート) | |||||
| 商用 SAST ツールの平均 (商用ツール 6 種) | 25.50% | — | — | — | OWASP 商用ベースライン |
| ベンダーが報告したその他の結果 | |||||
| Fluid Attacks SAST、ビルドは固定されていません | —* | 100% | — | 0% | ベンダーのドキュメント (2026年7月17日) |
| Static Reviewer (Security Reviewer) | —* | 98.0% | — | 1.2% | ベンダーの主張 (2025/2026年) |
| Kiuwan、2017年の過去の実行結果 | 83.30% | 100.00% | — | 16.70% | ベンダーのレポート (2025年10月30日) |
| Xygeni、ビルド未指定 | 83.3% | 100% | — | 16.7% | ベンダーのブログ (2026年5月6日) |
* ベンダー報告に関する注記: Fluid Attacks のベンダーは J = 100% と報告しています。Static Reviewer のベンダーは TPR 98%、FPR 1.2% (算出した J = 96.8%) と報告しています。Kiuwan はカテゴリ平均の J = 83.30% と報告しています。Xygeni は再現率 100%、FPR 16.7% (算出した J = 83.3%) と報告しています。商用 SAST ツールの平均 (25.50%) は、匿名化された商用ツール 6 種 (SAST-01 から SAST-06、16.74% から 32.93%) にわたる、OWASP のカテゴリ平均のベンチマーク ベースラインです。未公表の場合、適合率は再掲していません。「—」はゼロを意味しません。
評価に関する留意事項: 評価はそれぞれ別個のもので、採点方法、ルールセット、テストハーネスの構成が異なります。これらは報告された数値であり、同一条件での直接比較や、現行製品のランキングではありません。
Python: 脆弱性のあるケースを 407 件検出。誤検出は 27 件。
フラグを立てた 434 件のテストケースのうち、407 件が真陽性でした。適合率は 93.78%、スイート全体の再現率は 90.04% です。
| ソリューション / 評価した構成 | Youden’s J プール | 再現率 | 適合率 | FPR | 根拠 |
|---|---|---|---|---|---|
| Cyfendo、2026年9月にスキャンを実施 | 86.57% | 90.04% | 93.78% | 3.47% | Cyfendo ホワイトペーパー |
競合データに関する注記: 今回の調査では、Java の表に掲載した既存ツールについて、出典を特定できる Python のスイート全体のスコアは確認できませんでした。公表された競合データがないことは根拠の限界であり、性能に関する主張として示すものではありません。
見つける。検証する。修正へ向かう。
チームに必要なのは、アラートの一覧だけではありません。Cyfendo は、コード解析、エクスプロイト可能性の調査、文脈に沿ったパッチを、ひとつのワークフローにつなげます。
コードを追跡する。
コードベースを解析し、アプリケーション内でデータがどう流れるかを追跡して、潜在的な脆弱性を特定します。
検出事項を疑う。
文脈を調べ、該当する場合はサンドボックスでエクスプロイト可能性を検証します。
修正へ近づく。
文脈に沿ったパッチを生成して再テストし、開発者が根本原因に対処できるよう支援します。
このページのベンチマーク結果は、検出性能を測定したものです。エクスプロイト検証やパッチの品質は測定していません。アーキテクチャと検証方法については、技術ホワイトペーパーをご覧ください。
すべてのパーセンテージには分母があります。
ベンチマークのパーセンテージは、基となるテストスイート、分類、集計方法に完全に依存します。正確な件数、計算式、評価の違いを以下でご確認ください。
全テスト件数と混同行列 (Java & Python)
OWASP Benchmark Java v1.2 混同行列 (テスト 2,740 件)
- 脆弱性のあるテストケース: 1,415
- 陰性 (安全) のケース: 1,325
- 採点対象のテストケース合計: 2,740
- 再現率 (プール / ホワイトペーパー): 94.06% (1,331 / 1,415)
- 適合率 (プール / ホワイトペーパー): 96.38% (1,331 / 1,381)
- 特異度 (TNR): 96.23% (1,275 / 1,325)
- 誤検出率 (プール): 3.77% (50 / 1,325)
- Youden’s J (ホワイトペーパーの主指標): 90.29% (Youden 指数 0.90)
- Youden’s J (カテゴリ平均): 90.55%
- F1 スコア (プール、補助指標): 95.21%
OWASP Benchmark Python v0.1 混同行列 (テスト 1,230 件)
- 脆弱性のあるテストケース: 452
- 陰性 (安全) のケース: 778
- 採点対象のテストケース合計: 1,230
- 再現率 (プール): 90.04% (407 / 452)
- 適合率 (プール): 93.78% (407 / 434)
- 誤検出率 (プール): 3.47% (27 / 778)
- Youden’s J (プール): 86.57% (再現率 − FPR)
- F1 スコア (プール、補助指標): 91.87%
BenchmarkTestNNNNN 番号付きテストケースの範囲外にあるユーティリティのシェルスクリプト (helpers/resources/insecureCmd.sh) に対するものでした。範囲外のヘルパーファイルに対するこの検出事項は除外し、範囲内の陽性アラート 434 件 (TP 407 + FP 27) が残りました。表示している混同行列には含めていません。
Youden’s J の集計方法の説明 (カテゴリ平均とプールの違い)
方法論と技術ホワイトペーパーとの整合:
- ホワイトペーパーの主スコア — プール Youden’s J (90.29% / 0.90): ベンチマークスイート全体の 2,740 件のテストケースを 1 つのデータセットとして扱って算出します。全体の再現率 (94.06%) から全体の FPR (3.77%) を引くと 90.29% になります (Cyfendo 技術ホワイトペーパーでは Youden 指数 0.90 として公表)。プール J は、スイート全体の集計件数を報告している公表済みの学術的評価との直接的な整合性を保つため、比較表でも標準の指標として使用しています。
- OWASP の別の集計方法 — カテゴリ平均 J (90.55%): 従来の OWASP Benchmark の採点スクリプトは、11 の脆弱性カテゴリ (SQLi、XSS、パストラバーサル、コマンドインジェクション、弱い暗号など) ごとに再現率と誤検出率を個別に計算し、カテゴリごとに再現率から FPR を引いたうえで、重み付けなしの算術平均を求めます。Cyfendo のカテゴリ平均 J 90.55% は、ホワイトペーパーに記載したカテゴリ別の件数から直接導いたものです。
- Python v0.1 の主要スコア (86.57%): プールした件数を使用しています (全体の再現率 90.04% − 全体の FPR 3.47% = 86.57%)。この暫定的なスイートについては、カテゴリ平均のスコアは確立されていません。
解釈: Youden’s J が 100% であれば、誤検出のない完全な検出を表します (再現率 100%、FPR 0%)。J が 0% であれば、真陽性率が誤検出率と等しいツールを示します (診断能力なし)。誤検知が真の検出より多いツールでは、J は負になることがあります。
指標の定義と計算式
適合率と FPR についての注記: 誤検出率 (FPR) は、安全な対照ケースのうち誤ってフラグを立てた割合を表し、報告されたアラートのうち誤りだった割合ではありません。適合率は、報告されたアラートのうち実際の脆弱性だった割合を表します。すべての指標は丸める前の件数から計算し、その後、表示桁数に丸めています。表示された丸め後のパーセンテージを直接引き算すると、0.01 ポイントの丸め誤差が生じることがあります。
出典ごとの違いと評価の構成
- Sifting the Noise (arXiv:2601.22952、2026年1月30日): CodeQL 2.23.7、Semgrep 1.145.0、SonarQube 9.9.8 Community Edition、Joern 4.0.454 を評価しています。意図した CWE の検出を確認するのではなく、ファイル単位で陽性を採点しています。SonarQube のスコアは脆弱性を数え、セキュリティホットスポットを除外しています。Joern はデフォルトの Java スキャナのルールセット (ルールファイル 6 件) を使用し、誤検出は少ない (FPR 7.2%) ものの、再現率は非常に低い (8.2%) 結果です。プール J の値は、論文に表示されている丸め後の再現率と FPR から、小数第 1 位を保持して算出しています。スキャナの実行と正確なルール固定の構成は、今回の調査では独自に再実行していません。
- QASecClaw (arXiv:2605.01885、2026年5月3日): 自動ルール選択の Semgrep CE (バイナリのバージョンは未指定) を評価しています。採点上の件数は TP 1,273、FN 142、FP 560、TN 765 です。採点スクリプトは、CWE の一致を厳密に確認するのではなく、番号付きベンチマークファイル内のあらゆる検出事項を受け入れます。公表されている ID を数え直して確認できるのは集計の算術であり、スキャナの実行ではありません。
-
OWASP Benchmark v1.2 公式スコアカード: OWASP プロジェクトが公式の
BenchmarkScoreユーティリティを使い、OWASP Benchmark Java v1.2 の 2,740 件のテストケースに対してオープンソースツールで生成したベースラインのレポートです。FindBugs と FindSecBugs v1.4.6 は TP 1,370、FN 45、FP 703、TN 622 (プール J 43.76%、カテゴリ平均 J 39.10%)。SonarQube Java プラグイン v3.14 は TP 607、FN 808、FP 141、TN 1,184 (プール J 32.26%、カテゴリ平均 J 33.34%) でした。 - OWASP 商用ツールのベースライン (SAST-01 – SAST-06): 商用ソフトウェアのライセンス条件に従って匿名化された、主要な商用 SAST ツール 6 種の集計ベンチマーク結果です。商用ツール群のカテゴリ平均 Youden’s J は平均 25.50% で、個々のツールのスコアは 16.74% (SAST-01) から 32.93% (SAST-06) にわたります。
- Fluid Attacks SAST: ベンダーのドキュメントは2026年7月17日に更新されたもので、実行日は不明です。ベンダーの再現手順には、選択したチェック、固定されていないコンテナ、独自のパーサーが含まれます。Fluid Attacks は J = 100% と報告していますが、集計方法は不明です。ドキュメントの更新日は、実行日ではありません。
- Static Reviewer (Security Reviewer): ベンダーが公表した性能の主張では、OWASP Benchmark で TPR 98%、FPR 1.2% とされています。テストスイートのバージョンと実行環境は、ベンダーの報告によるものです。
ベンチマークの限界と独立検証に関する注意
合成テストケースという範囲: OWASP Benchmark のスイートは、ラベル付けされた合成のテストケースで構成されています。管理された条件下でテイント追跡や構文上の識別を評価するうえでは有用ですが、ベンチマークのスコアだけでは、実環境での脆弱性の網羅性、複雑なビジネスロジックの欠陥の検出、開発者のトリアージ時間の削減、提案されたコード修正の正しさを立証することはできません。
評価の状況: Cyfendo の数値は、2026年9月に公開ベンチマークスイートに対して実施した、ベンダー報告の測定結果です。評価したビルドのコミットハッシュは固定されておらず、結果は第三者によって再現されていません。
OWASP の独立性に関する注意: OWASP は OWASP Foundation, Inc. の登録商標です。Cyfendo の評価は、オープンなベンチマークスイートに対する独立した調査であり、OWASP による推奨、後援、認証を意味するものではありません。
集計の方法
裏付けとなる根拠と出典一覧
2026年9月22日までに確認した、引用の一覧と、公表されているその他のベンダー評価。
ベンダーのその他の根拠: Kolega.dev (Java と Python)
評価の背景: Kolega.dev は、2026年2月26日に自己報告の OWASP Benchmark 評価を公表しました。評価対象のビルドは、公表時点では未リリースとされていました。これらは別個のベンダー評価です。
| スイート / 実行 | プール J | 再現率 | 適合率 | FPR | F1 (補助指標) | 根拠 |
|---|---|---|---|---|---|---|
| Java v1.2、実行 1。3 回のうち J が最良のものを選択 | 87.38% | 96.89% | 91.58% | 9.51% | 94.16% | ベンダーのブログ (2026年2月26日) |
| Python v0.1、実行 1 | 89.79% | 99.56% | 85.55% | 9.77% | 92.02% | アーティファクト JSON (2026年2月26日) |
| Python v0.1、実行 2。3 回のうち J が最良のものを選択 | 90.90% | 98.23% | 88.62% | 7.33% | 93.18% | アーティファクト JSON (2026年2月26日) |
| Python v0.1、実行 3 | 89.59% | 100.00% | 84.80% | 10.41% | 91.78% | アーティファクト JSON (2026年2月26日) |
• Java 実行 1: TP 1,371、FN 44、FP 126、TN 1,199 (合計: 2,740)
• Python 実行 1: TP 450、FN 2、FP 76、TN 702 (合計: 1,230)
• Python 実行 2: TP 444、FN 8、FP 57、TN 721 (合計: 1,230)
• Python 実行 3: TP 452、FN 0、FP 81、TN 697 (合計: 1,230)
比較に関する開示: Java では、Cyfendo は Kolega が選択した Java 評価より高い適合率 (96.38% 対 91.58%) と高いプール J (90.29% 対 87.38%) を報告しており、Kolega はより高い再現率 (96.89% 対 94.06%) を報告しています。Python では、Cyfendo は Kolega の 3 回の実行すべてより高い適合率 (93.78% 対 84.80%〜88.62%) と低い FPR (3.47% 対 7.33%〜10.41%) を報告していますが、再現率は低く (90.04% 対 98.23%〜100.00%)、Kolega が選択した実行のほうが J と F1 は高くなっています。実行ごとのばらつきを示すため、Python の 3 回の実行はすべて残しています。
Java に関する補足と、Enterprise ツールの方針
- Kiuwan: 再現率 100.00%、FPR 16.70%、カテゴリ平均 Youden’s J 83.30%。これは 2017年の過去の結果を2025年10月30日に再公表したものです。記事では後の再実行に触れていますが、表示されている過去の数値がその再実行の結果であるとは確認されていません。
- Xygeni: 再現率 100%、FPR 16.7%、算出した Youden’s J 83.3% で、2026年5月6日の記事に引用されたものです。評価した製品バージョン、集計方法、実行のメタデータは未解決のままです。この J がプールかカテゴリ平均かは確認されていません。
- Enterprise ツールの方針: 商用のプロプライエタリ SAST ベンダー (Snyk、Checkmarx、Veracode、Mend、Fortify など) は、エンドユーザー使用許諾契約 (EULA) に、比較ベンチマークのスコアカードの公表を禁じる制限的な条項を設けています。公正な報告の基準を厳守するため、Cyfendo は、現行のエンタープライズ向け商用製品を表すものとして、未検証のスコアの公表や、古い無料版の結果の流用を行いません。根拠がないことは、性能がゼロであることを意味しません。
主要な出典と公開資料
2026年9月22日までに確認した根拠の一覧。
ベンチマークでの強さ。次は、ご自身のコードで。
スキャンを開始し、検出事項を確認し、提案された修正を評価してください。チームのソフトウェアの作り方・出荷の仕方に Cyfendo がどう合うかをご確認いただけます。