脆弱性検証を備えたAI活用SAST。
信頼できないデータフローをソースからシンクまで追跡し、ASTテイント検証でアラート疲れを軽減し、開発者の修復を加速する、Enterpriseグレードの静的アプリケーションセキュリティテスト。
src/controllers/user_controller.py:16
request.args.get('user_id')
信頼できないHTTPクエリ入力がコントローラーハンドラー経由で入力
query = "SELECT * FROM users WHERE id=" + user_id
サニタイザのASTノードなしで、文字列連結によりテイントされた文字列が伝播
cursor.execute(query)
パラメータ化バインディングなしで、サニタイズされていないSQL実行シンクに到達可能
- 16 query = "SELECT * FROM users WHERE id=" + user_id
- 17 cursor.execute(query)
+ 16 query = "SELECT * FROM users WHERE id = %s"
+ 17 cursor.execute(query, (user_id,))
Cyfendoによる検証付きSASTの仕組み
従来のSASTツールは、構文ベースのアラートを何百件も生成します。Cyfendoは、詳細な静的ASTデータフロー解析と到達可能性の検証を組み合わせ、信頼度が高く対処可能な検出事項を提供します。
ソースコード&データフローの解析
アプリケーションのソースコード全体を高精度の抽象構文木(AST)に解析します。手続き間の制御フローグラフ(CFG)を構築し、テイントされたユーザー入力を、エントリーポイントから変数代入、変換、シンクまで、複数のファイルにわたって追跡します。
- ASTの完全な構文&意味解析
- ファイル横断のデータフロー&変数追跡
- サニタイズノードの自動識別
調査&証拠の提示
報告されたすべてのパターンについて、実際の到達可能性を評価します。Cyfendoは、信頼できないソースと脆弱なシンクを結ぶ検証可能なトレースを構築します。実行条件が許す場合は、二次検証エンジンが、入力の境界で欠陥を発生させられるかどうかを検証します。
- ソースからシンクまでの到達可能性の検証
- デッドコード&緩和済みパスの除外
- 開発者のレビュー向けの透明な証拠トレース
対処可能な検出事項&レビュー可能な修正
検出事項には、正確なコード行、CWE分類、CVSS v3.1スコア、修復の根拠が含まれます。有料プランには、コンテキストを考慮したUnified形式のGit差分パッチが含まれ、開発者は標準的なプルリクエストを通じてレビュー、テストし、リポジトリにマージできます。
- 無料プランで検出事項の完全な詳細&サンプルパッチ
- 有料プランでコンテキストを考慮したUnified形式のGit差分
- マージ前に開発者の厳格な承認が必要
技術的適合性&機能マトリクス
エンジニアリング評価者向けに、言語サポート、取り込み方法、証拠の形式、運用上の境界について率直にお答えします。
| 評価項目 | Cyfendo SASTの実装 | 評価者向け検証メモ |
|---|---|---|
| 対応言語 | 本番対応(10ファミリー):Python、Java、JavaScript/TypeScript、Go、C/C++、Rust、PHP、Ruby、Shell/Bash、Kotlin / Android。ベータ/ロードマップ:C#、Swift、Scala。カバレッジマトリクスをご覧ください。 | 多言語AST 本番対応の10の言語ファミリーとベータ3つ、本番対応スタック全体での詳細なファイル横断テイント解析、Java & Pythonはベンチマーク済み |
| コードの取り込み方法 |
対応する3つの取り込み経路:
|
リリース済み 導入負担の大きいIDE拡張機能は不要 |
| スキャン実行のワークフロー | Web UIからのオンデマンドの手動スキャン、ターミナルでのCLIの自動実行、または標準のCLI終了コードを使用したCI/CD環境(GitHub Actions、GitLab CI、Jenkins)でのパイプライン自動化。 | 標準CLI 緊急の検出事項では決定論的に非ゼロで終了 |
| 解析の深さ&証拠 | 信頼できないソースとシンクを結ぶ手続き間ASTテイントパス。各検出事項には、正確なファイルと行番号、脆弱性カテゴリ(CWE)、CVSS v3.1スコア、説明の根拠が含まれます。 | 証拠優先 ソースからシンクまでの到達可能性トレース |
| 修復パッチの提供範囲 |
プラン別:
|
開発者による承認制 レビューなしの自動マージはゼロ |
| コードのプライバシー&保持 | ゼロ保持&ゼロトレーニング:スキャンされたファイルは、隔離された一時的なgVisorサンドボックス内で処理され、スキャン完了後ただちに破棄されます。Enterpriseグレードのゼロデータ保持(ZDR)の保証により、コードがモデルのトレーニングやファインチューニングに使用されることはありません。 | 契約に基づくZDR お客様の管理下で実行できるプライベートCLIを提供 |
| Private Scan / データ主権 |
Cyfendo CLIはローカル実行(cyfendo scan --private .)に対応しており、ソースコードがCyfendoのサーバーに送信されることはありません。ローカルモデル(Ollama、vLLM)と組み合わせると、コードはネットワークの外に出ません。スキャンのメタデータと検出事項の件数は引き続きCyfendoに送信され、概念実証のための依存関係のインストールはネットワークを使用し、--no-depsは公開の依存関係の照会を省略します。外部モデルのAPI(OpenAI、Anthropic、Gemini)と組み合わせる場合は、ソースファイル全体を含むコードの一部がお客様の契約条件のもとでプロバイダーに直接送られます。
|
Private Scanモード ローカルモデルならコードはネットワークの外に出ません。外部AIにも対応 |
検証済みの検出事項の詳細資料を確認
Cyfendoが確認済みの脆弱性を、テイントの発生元から修復パッチの提案までどのように文書化するかをご覧ください。標準ベンチマークのテストケースをモデルにしています。
サニタイズされていないHTTPパラメータ経由のSQLインジェクション
脆弱性の説明&影響
アプリケーションは、受信したHTTPリクエストのクエリパラメータからユーザーが制御できる入力(user_id)を直接取り出し、文字列連結によって生のSQLクエリ文字列に埋め込んでいます。外部の攻撃者は、SQLメタ文字(' OR 1=1 --など)を含む細工したペイロードを与えることで、アクセス制御を回避したり、データベースのレコードを抽出したり、任意のデータベースコマンドを実行したりできます。
def get_user_profile(request, db_cursor):
user_id = request.args.get('user_id')
query = "SELECT * FROM users WHERE id=" + user_id
db_cursor.execute(query)
user = db_cursor.fetchone()
return render_template('profile.html', user=user)
ソースからシンクまでのASTテイントトレース
CyfendoはASTノード間のデータフローを追跡し、信頼できないユーザー入力が、適切なサニタイザやパラメータ化の境界を通らずにデータベース実行シンクに到達することを確認します。
request.args.get('user_id')src/controllers/user_controller.py:15 • ASTノード:Call[Attribute(request.args.get)]user_idにテイントラベルTAINT_EXTERNAL_INPUTが割り当てられます。query = "SELECT * FROM users WHERE id=" + user_idsrc/controllers/user_controller.py:16 • ASTノード:BinOp[Add]queryに伝播します。エスケープ、キャスト、サニタイズは検出されませんでした。
db_cursor.execute(query)src/controllers/user_controller.py:17 • ASTノード:Call[Attribute(db_cursor.execute)]queryを、パラメータのタプルなしで直接SQL文の引数として受け取ります。到達可能なテイント入力を検証しました。(静的データフローにより、検証されていない入力がこのシンクに流れることは確認されています。動的な悪用可能性は、DBMSの設定、権限、データベースドライバーの動作に依存します。)コード修復パッチの提案
提案されたパッチは、動的な文字列連結をデータベースドライバーのパラメータ化プレースホルダー(%s)に置き換え、SQLコマンドと信頼できないユーザーデータを分離します。
標準ベンチマークの結果
標準化されたセキュリティスイートで検出精度を評価し、再現率、適合率、誤検知率、Youden's Indexスコアの正確な値を公開しています。
OWASP Benchmark Java v1.2
2,740件の標準テストケース • 2026年9月の評価実際の脆弱性1,415件のうち1,331件を検出し、適合率は96.38%でした(報告された1,381件中1,331件)。全体集計のYouden's Jスコアは90.29%でした(11のOWASPカテゴリのカテゴリ平均は90.55%)。
OWASP Benchmark Python v0.1
1,230件の標準テストケース • 暫定リリース脆弱なケース452件のうち407件を特定し、適合率は93.78%、陰性対照での特異度は96.53%でした(安全なベンチマークケース778件のうち751件を正しくフラグなしと判定)。
開発者ワークフロー&コードのプライバシー
Cyfendoがエンジニアリングパイプラインにどのように組み込まれるか、そして強化された隔離と契約上の保証によってお客様の独自ソースコードをどのように保護するかをご説明します。
接続&提出
Git HTTPSクローンでリポジトリを接続するか、ブラウザからプロジェクトアーカイブをアップロードするか、cyfendo scan .を使用してCIパイプラインでスキャンを直接実行します。
ASTテイント解析
ソースコードは、一時的なマイクロサンドボックス内で抽象構文木に解析されます。信頼できないエントリーポイントから、データベース、コマンド、Webのシンクまでのデータフローをマッピングします。
証拠&検証
到達可能なパスを切り出し、ASTの完全な証拠トレースとともにまとめます。パスの到達可能性がない検出事項の候補や、既存の対策で緩和されている候補は除外されます。
レビュー&マージ
開発者は、検証済みの検出事項を、コンテキストを考慮したUnified形式のGit差分とあわせて確認します。提案されたパッチは、標準的なGitプルリクエストのワークフローでレビューされ、マージされます。
一時的な隔離環境(ゼロ保持)
スキャンは、強化された一時的なサンドボックス(gVisorコンテナ隔離)内で実行されます。ソースコードは静的解析中のみメモリに保持され、スキャン完了時に完全に消去されます。お客様のコードの永続的なコピーは保持されません。
モデルトレーニングへの使用ゼロの保証
お客様の独自の知的財産は、エンタープライズグレードのゼロデータ保持(ZDR)契約のもとで保護されます。お客様のソースコード、変数名、検出事項が、基盤AIモデルのトレーニング、チューニング、評価に使用されることは一切ありません。
CLIのPrivate Scan&ローカル実行
オンプレミスでの実行を必要とするチーム向けに、Cyfendo CLIはPrivate Scanモード(cyfendo scan --private .)を提供しており、ソースコードはCyfendoに送信されません。ローカル推論エンジン(Ollama、vLLM)を設定した場合、コードがローカルマシンや社内ネットワークの境界の外に出ることはありません。外部LLMのAPI(OpenAI、Anthropic、Gemini)を使用する場合、リクエストはお客様のエンタープライズ契約のもとで当該プロバイダーに直接送られます。
無料評価と透明性のある有料プラン
Cyfendoの料金は、保護対象のコード行数(LOC)と月間スキャン枠に基づいて透明に設定されています。シートライセンスや人為的な検出事項単位の料金はありません。
保護対象LOCの計算方法
保護対象LOCは、ワークスペース内の有効なアプリケーションソースコードの量を測定します。料金の対象は独自コードのみで、サードパーティのパッケージや生成された出力には料金はかかりません。
- カウント対象:実行可能なアプリケーションコード、ビジネスロジック、テンプレート、設定。
- 自動的に除外:空行、空白のみの行、コメント(単一行、ブロック、docstring)。
- 除外されるディレクトリ:サードパーティのパッケージ(
node_modules/、vendor/、.venv/、site-packages/)。 - 除外される成果物:ミニファイされたバンドル(
.min.js)、build/distの出力(build/、dist/、target/)、テスト用モックデータ、コンパイル済みバイナリ。
アップロードされたコードベースが無料プランの上限(10,000 LOC)を超えた場合は、保留中のアップロードとして安全にステージングされます。当社は正確なLOC数を計算し、明確な選択肢を提示します。十分な容量のあるプラン(例:最大100K LOCで$99/月のStarter)にアップグレードするか、スキャンする特定のサブディレクトリやモジュールを選択してください。お客様の同意なしに、コードが削除されたり部分的に実行されたりすることはありません。
無料
お客様のコードベースで評価
- 10,000の保護対象LOC
- 月5回のスキャン
- 保護対象プロジェクト1件
- 対処可能な検出事項の詳細
- サンプルパッチの限定評価
- クレジットカード不要
Starter
本番コードを守るチーム向け
- 100,000の保護対象LOC
- 月10回のスキャン
- プロジェクト&メンバー数無制限
- レビュー可能なパッチのフル提供
- CI/CD連携&CLI
よくある質問
SASTの機能、検証の仕組み、ベンチマーク手法、プライバシーの保証、プランの上限について、事実に基づいて率直にお答えします。
静的アプリケーションセキュリティテスト(SAST)は、プログラムを実行せずにソースコードの脆弱性を解析します。CyfendoのSASTでは、アプリケーションのコードベースを抽象構文木(AST)に解析し、手続き間の制御フローグラフ(CFG)をモデル化します。これにより、テイントされたユーザー入力をエントリーポイント(ソース)からセンシティブな実行ルーチン(シンク)まで追跡し、高リスクの弱点(SQLインジェクション、クロスサイトスクリプティング、コマンドインジェクション、パストラバーサルなど)を開発の早い段階で特定できます。
従来の静的解析では、実際の実行コンテキストを無視した単純な正規表現ルールや構文パターンマッチングが原因で、開発者が大量の誤検知に悩まされることがよくあります。Cyfendoは静的解析を検証レイヤーで補完し、テイントされたデータパスが本当に到達可能かどうか、サニタイザや型変換がリスクを無力化しているかどうかを検証します。この証拠に基づくアプローチにより、エンジニアは、ソースからシンクまでの具体的な到達可能性トレースに裏付けられた検証済みの欠陥をレビューできます。
Cyfendoのカバレッジマトリクスは、5つの運用軸にわたる唯一の信頼できる情報源です:1) 基本スキャン、2) 本番向けファイル横断テイント解析、3) 一時サンドボックスでのエクスプロイト検証、4) レビュー可能なパッチ生成、5) ベータ/ロードマップ対応。本番対応は、Python、Java、JavaScript/TypeScript、Go、C/C++、Rust、PHP、Ruby、Shell/Bash、Kotlin / Androidの10の主要言語ファミリーに及びます。C#、Swift、Scalaでは、アーリーアクセスの解析と基本スキャン(ベータ/ロードマップ)を利用できます(言語カバレッジマトリクス全体をご覧ください)。コードは次の方法で提出できます:
- ブラウザからのアップロード:プロジェクトフォルダをドラッグアンドドロップするか、
.zipまたは.tar.gzアーカイブをアップロードします。 - Git HTTPSクローン:GitHub、GitLab、Bitbucket、Azure DevOps、またはカスタムGitホストからのHTTPSリポジトリクローン。
- Cyfendo CLI:開発者のローカルワークステーションまたは自動化されたCI/CDパイプラインから
cyfendo scan .を実行します。
はい。Cyfendoは検証済みのベンチマークで高い精度(具体的には、OWASP Benchmark Java v1.2で全体集計のYouden's J 90.29%・適合率96.38%、OWASP Benchmark Python v0.1で全体集計のYouden's J 86.57%・誤検知率3.47%)を達成していますが、誤検知ゼロを保証したり、動的な実行コンテキストにわたるセキュリティ上の欠陥を100%特定したりできる静的コードスキャナーはありません。静的解析は多層防御の重要な層ですが、安全なアーキテクチャ設計やランタイムテストの必要性をなくすものではありません。
すべてのベンチマークスコアは、2026年9月にCyfendoが標準評価スイートで計測したものです:OWASP Benchmark Java v1.2の全スイート(2,740件のテストケース)とOWASP Benchmark Python v0.1スイート(1,230件のテストケース)。指標は全体集計のYouden's Index J(再現率から誤検知率を引いた値)で算出しています。ベンチマークスイートは、統制された条件のもとで標準化された合成の脆弱性パターンをテストするものです。比較の厳密さは得られますが、OWASPによる公式の認証や推奨を意味するものではありません。
クラウドで解析されるコードは、隔離された一時的なgVisorサンドボックス内で処理され、スキャン完了後ただちに消去されます。エンタープライズグレードのゼロデータ保持(ZDR)契約のもと、お客様のソースコードがAIモデルのトレーニングやファインチューニングに使用されることは一切ありません。機密性の高いポリシーを持つ組織向けに、Cyfendo CLIはローカルのPrivate Scan(cyfendo scan --private .)に対応しており、ソースコードはCyfendoに送信されません。ローカルモデル(Ollama、vLLM)と組み合わせると、コードがローカルマシンや社内ネットワークの境界の外に出ることはありません。外部LLMのAPI(OpenAI、Anthropic、Gemini)を使用する場合、リクエストはお客様のエンタープライズ契約のもとで当該プロバイダーに直接送られます。
無料プランには、10,000行の保護対象コード(LOC)、月5回のセキュリティスキャン、1プロジェクトが含まれ、クレジットカードは不要です。無料プランのユーザーは、脆弱性の完全な詳細、深刻度の分類、ソースからシンクまでの到達可能性の証明に加え、サンプルパッチの評価を利用できます。すべての検出事項を対象とする、レビュー可能なパッチの自動生成は、$99/月からの有料プラン(100K LOCのStarterプラン)に含まれます。
いいえ。Cyfendoは人間によるレビュー用に整形されたUnified形式のGit差分パッチを生成しますが、リポジトリにコードを自動でコミットまたはマージすることはありません。開発者が提案されたパッチ差分を確認し、社内のコーディング標準に照らして修正を検証し、標準的なプルリクエストのワークフローでマージを承認します。
検証済みの証拠を備えたAI活用SASTをお試しください。
ソースコードの実際の脆弱性を発見し、手続き間テイント到達可能性の証明を確認し、レビュー可能な修復パッチをお客様自身の条件で評価できます。
無料で開始