01 /
バージョンまで照合する
パッケージ名だけでなく、SBOMのバージョンとOSVの影響範囲をローカルで照合。対応外の形式や不足情報も、未評価として残します。
SBOM / LICENSE POLICY / EVIDENCE
SBOMを読み込み、既知の脆弱性とライセンスポリシーを点検。使ったデータと判定の根拠を残し、そのまま共有できるWord・JSONレポートにまとめます。
npm install -g seculens
seculens wizard --lang ja 01 /
パッケージ名だけでなく、SBOMのバージョンとOSVの影響範囲をローカルで照合。対応外の形式や不足情報も、未評価として残します。
02 /
MITやApache-2.0といった名前だけでなく、AND・OR・WITHを含むSPDX式を評価。許可・拒否・要確認を分けて示します。
03 /
元のSBOMとOSVデータ、SHA-256ハッシュを保存。同じスナップショットを使って照合結果を再確認できます。
01 / FEATURE TOUR
SECULENS / 01
SPDX・CycloneDXのJSONを読み込み、npm・PyPI・Packagistの対応バージョンを評価します。保存済みのOSVデータを使う検査と、OSVから候補を取得する検査を選べます。
このページで詳しい使い方を見る ↓seculens scan sbom.json \
--db database.json \
--lang ja --output reports SECULENS / 02
許可・拒否するライセンスをJSONで指定します。不明・独自・未記載のライセンスは要確認。ポリシーがない場合も、一律に許可とせず確認対象として扱います。
このページで詳しい使い方を見る ↓{
"allow": ["MIT", "Apache-2.0", "BSD-3-Clause"],
"deny": ["AGPL-3.0-only", "AGPL-3.0-or-later"]
} SECULENS / 03
日本語の見出し・要約を備えたWordとJSONを出力。顧客提出用レイアウトでは表紙、優先順の一覧、番号付き詳細をまとめます。任意のソース解析は実装言語ごとの構文を対象に、確認候補を抽出します。
このページで詳しい使い方を見る ↓seculens scan sbom.json --db database.json \
--customer "Sample Company" --target "Web Service" \
--lang ja --report-style customer --output reports SECULENS / PRACTICAL GUIDE
まずは対話ウィザードで設定を確認しながら実行。繰り返し使う場合は、同じ入力と条件をコマンドにして保存できます。以下のコマンド例はTypeScript版です。Python版も同じCLI名、PHP版は php bin/seculens から実行します。
01 / SET UP
3つはそれぞれ独立した実装です。SBOM照合とレポート出力のためだけに、すべてをインストールする必要はありません。追加のソース解析を使う場合は、対象コードに合う実装を選びます。
Node.js 22+
npm install -g seculens対話形式で開始
seculens wizard --lang jaPython 3.10+
pip install seculens対話形式で開始
seculens wizard --lang jaPHP 8.2+ / Composer 2
git clone https://github.com/masahiroid/seculens-php.git
cd seculens-php
composer install --no-dev対話形式で開始
php bin/seculens wizard --lang jaウィザードでは「既存SBOMの検査」または「SBOM生成」を選び、入力ファイル、OSVデータの取得方法、任意のポリシー、出力先を指定します。顧客名・対象名・作成者も設定でき、開始前に設定を確認します。最後の確認で n を選ぶかCtrl+Cで中断できます。
02 / SBOM & VULNERABILITY MATCHING
既存のSPDX 2.2/2.3 JSON、またはCycloneDX 1.4〜1.7 JSONを読み込めます。対応するPackage URL(npm・PyPI・Composer)とバージョンが必要です。npmプロジェクトでは、依存関係をインストールした状態で次のコマンドから部品表を生成できます。
seculens sbom ./my-project --format cyclonedx --output sbom.json この生成処理はnpm sbomを呼び出すため、対応するnpmが必要です。Python・PHP・コンテナーなどの部品表は、それぞれに対応した既存ツールで生成してから読み込みます。
seculens scan sbom.json --fetch-osv --lang ja --output reports パッケージ名とエコシステムをOSVへ送り、取得した候補に対してバージョンの影響範囲をローカルで照合します。通信に失敗した場合は検査を停止します。バージョン範囲、修正版、撤回済み情報などを扱い、同じ脆弱性を指す別名はコンポーネント単位で統合します。
seculens scan sbom.json --db database.json --lang ja --output reports-offline database.jsonには、過去の実行で保存したOSVデータなどを指定します。このモードはネットワークを使いません。同じSBOMとデータベースを使えば照合結果を再確認できますが、報告日時やWord文書のメタデータは実行ごとに変わる場合があります。
npmはSemVer、PyPIはPEP 440、Packagistは対応する数値バージョン形式を評価します。Composer固有の一部形式やGIT範囲だけの情報などは未評価。「一致なし」と「未評価」を区別して確認してください。
03 / LICENSE POLICY
次の内容を policy.json として保存します。チームの利用・配布条件に合わせてallowとdenyを設定し、検査コマンドに --policy policy.json を追加します。
{
"allow": ["MIT", "Apache-2.0", "BSD-3-Clause"],
"deny": ["AGPL-3.0-only", "AGPL-3.0-or-later"]
} seculens scan sbom.json --db database.json --policy policy.json \
--lang ja --output reports 判定対象はSBOMに宣言されたライセンスです。ソースコードと宣言の一致、実際の配布義務や顧客の利用条件までを自動で検証するものではありません。
04 / SOURCE REVIEW & REPORTS
ソース解析は任意です。TypeScript版では --source ./src を追加すると、eval・new Function・innerHTML等の構文や複雑度・ネスト深度を確認します。Python版はPython、PHP版はPHPの構文解析を行います。これらは構文に基づく確認候補であり、関数間のデータフローや悪用可能性の確定ではありません。
seculens scan sbom.json --db database.json --policy policy.json \
--source ./src --customer "Sample Company" --target "Web Service" \
--issuer "Review Team" --lang ja \
--report-style customer --output reports/customer 顧客提出用レイアウトは表紙、重大度順の一覧、番号付き詳細、評価範囲、根拠ハッシュをまとめます。Critical・Highは赤、Mediumは黄などの色とラベルで表示。重大度の情報が不足する場合はUnratedとし、ライセンスや構文上の指摘から重大度を推測しません。
| ファイル | 内容・読み方 |
|---|---|
report.docx | 表紙・要約・検出一覧・詳細を読むWord文書。日本語は主要な見出しと要約に適用され、脆弱性本文などは原文が残る場合があります。 |
report.json | 検出内容、ライセンスの判断、未評価の範囲、重大度の根拠を確認する機械可読データ。 |
sbom.json | 評価に使用した部品表のコピー。対象コンポーネントとバージョンの根拠です。 |
database.json | 評価に使用したOSVデータ。次回も同じスナップショットで照合できます。 |
--fail-on-findings を加えると、影響する脆弱性、拒否ライセンス、セキュリティ確認候補の検出時に終了コード1になります。通常の0は「解析範囲の不足なく完了」を表し、要確認項目が残る場合があります。入力不正・実行エラー・評価範囲の不足は2で、検出による1が優先されます。JSONの内容も合わせて確認してください。
02 / FROM INPUT TO ACTION
既存のSPDX・CycloneDX JSONを入力。対応するnpmプロジェクトではSBOMの生成も可能です。
OSVのスナップショット、ライセンスポリシー、必要に応じたソース解析を指定します。
Wordで読み、JSONで連携。判定結果と評価範囲を、保存した入力データに結び付けます。
03 / COVERAGE
TypeScript、Python、PHPのCLI・ライブラリを個別に提供。ソース解析も各実装の言語が対象です。
対応外のエコシステムやバージョン形式は未評価。「一致なし」は、使ったデータに一致情報がないことを示します。
04 / GET STARTED
TypeScript版はNode.js 22以降が必要です。Python・PHP版は各リポジトリの導入手順を確認してください。
npm install -g seculens検査するSBOM、データ取得方法、出力先を対話形式で設定。実行前に設定を確認できます。
seculens wizard --lang jaWordの要約とJSONの詳細を確認。元データも保存して、次回の評価やレビューに使います。
保存済みOSVデータを使う --db モードはネットワークを使用しません。--fetch-osv ではパッケージ名とエコシステムをOSVへ送信し、バージョンの照合はローカルで行います。ソースコードやSBOM全体は送信しません。
EXPLORE THE APPS / TIP
気になるアプリから、機能と使い方をご覧ください。
SBOMの脆弱性とライセンスを、根拠付きで評価。
紹介を見る
ブラウザー操作から、Web診断と回帰テストへ。
紹介を見る
モデルの配布ファイルや変換の整合性を軽量に点検。
紹介を見るイラストは各アプリの紹介イメージです。機能・対応範囲は、それぞれの紹介をご覧ください。