FerroSCA
Rust製 SBOM / SCA・脆弱性管理サーバ
Rust製の SBOM / SCA・脆弱性管理サーバ。CycloneDX と SPDX の SBOM を取り込み、CVSS と EPSS で所見をスコアリングして REST API で結果を提供します。JVMも別フロントエンド層も別ワーカー層もない単一のRustプロセスとして動き、1秒未満で起動し、ダッシュボードを同じバイナリに同梱。ハードニング済みの Amazon Linux 2023 AMI(arm64 / Graviton)。
FerroSCA は、CycloneDX 1.4 / 1.5 / 1.6(JSON / XML)と SPDX 2.2 / 2.3 の SBOM を取り込み、公開脆弱性データ(NVD JSON 2.0、OSV、公開アドバイザリフィード、CISA KEV カタログ)と突き合わせ、CVSS v2 / v3 / v4 と EPSS でスコアリングし、ポリシーを評価して結果を REST API で公開します。Package URL 0.6 と CPE 2.3 の識別子、Alpine / Debian / Ubuntu ベースイメージのディストロ対応マッチング、30以上の条件を持つポリシーエンジン、SPDX ライセンス検出を備えます。通知は Email と Webhook。認証はローカルユーザ(SHA3-256 APIキー)・OIDC・LDAP(ゲート付き)、TLS は rustls、変更操作にはプロジェクト単位の ACL。API は FerroSCA ネイティブ REST API(標準)に加え、移行用にオプトインの Dependency-Track REST API v1 ワイヤ互換エディション(dtrack-compat)を提供します。正直なスコープ: Dependency-Track API はパス網羅100%・ディープスキーマ約69%(項目単位の完全一致ではなく存在対称性)で、「100% ワイヤ互換 / ドロップイン」とは謳いません。MySQL は対象外、サポートされる Marketplace 構成は単一ノードです。エンジニアリング: 全クレートで #![forbid(unsafe_code)]、clippy は -D warnings でクリーン、本番コードに unwrap() なし、cargo deny ゲート、CI で CycloneDX SBOM + 自己 VDR、ファズテスト済みパーサ。
課題
ソフトウェアサプライチェーンのセキュリティでは、SBOM(CycloneDX / SPDX)を取り込み、依存コンポーネントを公開脆弱性データと突き合わせ、CVSS や EPSS でスコアリングし、ポリシーで継続監視する基盤が必要です。一般的な SCA / 脆弱性管理サーバは JVM・別フロントエンド・別ワーカー・外部DBといった多層構成になりがちで、運用が重くなります。軽量に動き、移行もしやすい SBOM / SCA サーバが求められています。
仕組み
- 1
SBOM を取り込みスコアリング
FerroSCA は CycloneDX 1.4 / 1.5 / 1.6(JSON / XML)と SPDX 2.2 / 2.3 の SBOM を取り込み、コンポーネントを NVD JSON 2.0・OSV・公開アドバイザリフィード・CISA KEV と突き合わせ、CVSS v2 / v3 / v4 と EPSS でスコアリングします。Package URL 0.6 と CPE 2.3 の識別子、Alpine / Debian / Ubuntu のディストロ対応マッチングに対応します。
- 2
単一プロセスで提供
結果は REST API で公開され、ダッシュボードは同じバイナリに同梱されます。JVMも別フロントエンド層も別ワーカー層もない単一の Rust プロセスとして動き、1秒未満で起動し、約256MB未満のRAMでアイドルします。30以上の条件を持つポリシーエンジンと SPDX ライセンス検出を備えます。
- 3
ネイティブ API + DT 互換エディション
標準では FerroSCA ネイティブの REST API を提供し、移行用にオプトインの Dependency-Track REST API v1 ワイヤ互換エディション(dtrack-compat)も選べます。認証はローカルユーザ(SHA3-256 APIキー)・OIDC・LDAP(ゲート付き)、TLS は rustls、変更操作にはプロジェクト単位の ACL。通知は Email と Webhook です。
特長
SBOM取り込み(CycloneDX 1.4–1.6 JSON / XML、SPDX 2.2 / 2.3)+ 脆弱性インテリジェンス(NVD、OSV、公開アドバイザリ、CISA KEV)を CVSS v2 / v3 / v4 + EPSS でスコアリング。
単一のRustプロセス — JVMも別フロント/ワーカー層もなし。1秒未満起動・RAM 256MB未満、ダッシュボードをバイナリに同梱。
標準は FerroSCA ネイティブ REST API、移行用にオプトインの Dependency-Track REST API v1 ワイヤ互換エディション。正直なスコープ: DT APIはパス互換(ディープスキーマ約69%)・単一ノード・MySQL対象外。
含まれるもの
- ハードニング済みの Amazon Linux 2023 AMI(arm64 / Graviton、t4g / c7g / m7g / r7g 級で稼働)
- SBOM / SCA・脆弱性管理サーバを実装した単一の Rust バイナリ(JVMも別フロント/ワーカー層もなし、1秒未満起動、RAM 256MB未満、ダッシュボード同梱)
- SBOM取り込み: CycloneDX 1.4 / 1.5 / 1.6(JSON / XML)+ SPDX 2.2 / 2.3、CycloneDX / SPDX / VDR / VEX へのエクスポート
- 脆弱性インテリジェンス: NVD JSON 2.0・OSV・公開アドバイザリフィード・CISA KEV、EPSS エンリッチメント、CSAF 2.0 / VEX 1.4 の取り込みとエアギャップミラーのインポート
- CVSS v2 / v3 / v4 + EPSS スコアリング、Package URL 0.6 / CPE 2.3、Alpine / Debian / Ubuntu のディストロ対応マッチング、30以上の条件のポリシーエンジン + SPDX ライセンス検出
- FerroSCA ネイティブ REST API(標準)+ オプトインの Dependency-Track REST API v1 ワイヤ互換エディション、Email / Webhook 通知、ローカルユーザ(SHA3-256 APIキー)/ OIDC / LDAP 認証、rustls TLS、プロジェクト単位 ACL
- 別の制御プレーン・テレメトリ送信・ライセンスキー検証なしの構成(課金は AMI の時間課金、AWS の請求を通じて)
こんな用途に
CI/CD で生成した SBOM(CycloneDX / SPDX)を取り込み、依存コンポーネントの脆弱性を継続監視したいケース
JVM・多層構成を避け、軽量な単一バイナリの SBOM / SCA サーバを自社 EC2 で動かしたいチーム
Dependency-Track からの移行を、REST API v1 ワイヤ互換エディション経由で進めたいケース
別の制御プレーンやテレメトリ送信なしで、自社 VPC 内に閉じた脆弱性管理サーバを動かしたいケース
よくある質問
どの SBOM 形式に対応していますか?
取り込みは CycloneDX 1.4 / 1.5 / 1.6(JSON と XML)と SPDX 2.2 / 2.3 に対応し、CycloneDX / SPDX / VDR / VEX へのエクスポートも可能です。ストリーミングアップロード、メモリ上限、トークンベースの非同期処理を備えます。
脆弱性データはどこから来ますか?
NVD JSON 2.0・OSV・公開アドバイザリフィード・CISA KEV カタログから取得し、EPSS でエンリッチします。CSAF 2.0 / VEX 1.4 の取り込みと、エアギャップ環境向けのミラーインポートにも対応します。
Dependency-Track と互換性がありますか?
標準は FerroSCA ネイティブの REST API です。移行用にオプトインの Dependency-Track REST API v1 ワイヤ互換エディション(dtrack-compat)も選べます。ただし正直なスコープとして、Dependency-Track API はパス網羅100%・ディープスキーマ約69%(項目単位の完全一致ではなく存在対称性)で、「100% ワイヤ互換 / ドロップイン」とは謳いません。また MySQL は対象外です。
これは AWS のサービスを置き換えるものですか?
FerroSCA は OSS 系の SBOM / SCA・脆弱性管理の領域に位置する製品で、特定の AWS サービスの代替として位置づけるものではありません。お客様自身の Amazon EC2 上で動く自己管理型のサーバで、通常の Amazon Linux 2023 AMI(arm64 / Graviton)としてお客様の VPC 内で動作します。
運用構成とセキュリティ姿勢は?
サポートされる Marketplace 構成は単一ノードです。認証はローカルユーザ(SHA3-256 APIキー)・OIDC・LDAP(ゲート付き)、TLS は rustls、変更操作にはプロジェクト単位の ACL。エンジニアリングとして全クレートで #![forbid(unsafe_code)]、clippy は -D warnings でクリーン、本番コードに unwrap() なし、cargo deny ゲート、CI で CycloneDX SBOM + 自己 VDR、ファズテスト済みパーサを採用しています。
料金モデル
時間課金のソフトウェア利用料 + EC2(t4g / c7g / m7g / r7g 級、Arm)。インスタンスタイプ別の従量課金。