JFrog CLIとXrayを使ってソ,スの依存関係をスキャンする

使用JFrog CLI和x射线扫描源代码中的依赖项

注:このブログ記事の最終更新日は2021年10月12日です。

セキュリティ上の脆弱性やラ@ @センス違反は,できるだけ早い段階で発見する必要があり,SDLCの早い段階であればあるほど良いでしょう。

シフトレフト“の一環として,JFrog CLIとXrayはシンプルなコマンドラaaplンを使用して,オンデマンドでソ,スから直接依存関係をスキャンできるようになりました。

この機能により,JFrog Artifactoryにデプロaaplする前でも,JFrog x射线と同じ脆弱性とラ@ @センスのスキャン機能の恩恵を受けることができます。この機能強化は開発チームがスキャン済みで違反のないバイナリのみArtifactoryにアップロードすることを保証することで,組織がセキュリティポリシーと標準を遵守するのに役立ちます。

ソースの依存関係のスキャンはJFrog CLIの新しいv2バージョンの一部としてMaven, Gradle, npmパッケージのソ,ススキャンをサポ,トしています。皮普パッケ,ジもサポ,トされました。

ご存知でしたか?JFrog CLIはArtifactory、x光分布、任务控制と連携するコンパクトでスマートなクライアントで,読みやすく信頼性の高い方法で自動化スクリプトに強力な機能を提供します。
JFrog CLI Cheat Sheetをご覧ください。

はじめる前に

必要なものは以下の通りです。

スキャンの手順

スキャンは2の方法のいずれかで行われます。ソースに直接行う個別のスキャンまたはデプロイメントフェーズの前に行うビルドの一部としてのスキャンです。どらの場合もJFrog CLIでJFrogプラットフォムを設定することからはじめます。

JFrog CLIによるサ,バの設定

マシンの任意の場所で$ jfrog c add を実行し,プラットフォ,ムの詳細を設定します。

使用JFrog命令行配置服务器

$ jfrog rtpingを実行し,接続を確認します。

オプション1:审计コマンドの実行

ビルドの一環としてではなく,オンデマンドでソ,スをスキャンします。

ソスファルを含むトップレベルのディレクトリからauditコマンドを実行します。

サポ,トされているパッケ,ジマネ,ジャは独自の审计コマンドを持っています。

例えばMavenプロジェクトのスキャンを行い,すべての脆弱性を報告する場合は次のようになります。

$ jfrog xr audit-mvn

Gradleとnpmに対応するコマンドは次のようになります。

$ jfrog xr audit-gradle或$ jfrog xr audit-npm。

デフォルトではスキャンはすべての依存関係で見かった脆弱性デタを返します。特定の观看の設定,リポジトリのパス,项目で違反デ,タを取得する場合,以下のコマンドオプションのいずれかを使用する必要があります。

  • 手表- - - - - -x射线手表をカンマで区切りで指定します
  • -repo-path- - - - - -対象のリポジトリのパスを指定します。
  • 项目- - - - - -项目キ,を指定します。

これらのコマンドオプションを使用してスキャンを実行後,スキャン結果には違反データのみが表示され,脆弱性データは表示されないことに注意してください。脆弱性デ,タを表示する場合,これらのオプションを使用せずにスキャンを実行してください。

デフォルトでは結果は表形式で出力されます。

扫描结果-漏洞数据

自動化のために結果をjson形式で返すことができます。フォ,マットの種類を変更する場合,格式オプション格式= jsonを指定します。

タ,ミナルで-オプションを指定して追加のオプションを表示するか,JFrog CLIドキュメントで利用可能なコマンドをご確認ください。

オプション2:条件付きアップロ,ド- MavenとGradle

この方法ではアップロードの前にJFrog CLIを使ったビルドプロセスの一環として,すべてのファイルがローカルシステム上でスキャンされます。脆弱性のあるファ▪▪ルが見▪▪かった場合,アップロ▪▪ドはスキップされます。

レゾリューションリポジトリやデプロイメントリポジトリの選択,その他のビルドオプションなど,JFrog CLIをビルド用に設定するため,プロジェクトのトップレベルのディレクトリから対応するパッケージマネージャの配置コマンドを使用します。

$ jfrog rt mvn-config或$ jfrog rt gradle-config。

条件上传- Maven和Gradle

デフォルトでは設定コマンドは対話的に実行されます。非対話的に使用する場合は環境変数CI = TRUEを設定してください。

設定やビルドのコマンドにいては,こらをご覧いただくか,-オプションでご確認ください。

ビルドの設定完了後,適切なゴール/タスクとオプションを指定してビルドコマンドを実行し,条件付きアップロードを使用するために扫描オプションを指定します。

例えば以下の通りです。

$ jfrog rt MVN清洁安装-扫描$ jfrog rt gradle清洁构建-扫描

舞台裏

JFrog CLIはx光からIndexerコンポーネントをダウンロードすることで,x光との統合を実現しています(初回使用時またはアップデート後にのみ発生します)。

要求されたスキャンではCLIは階層依存ツリーを組み立て,それをIndexerに提供し,脆弱性/違反の結果を返信します。

探索を続ける

JFrog CLIでできることは他にもたくさんあります。詳細はドキュメントをご覧ください。独自のプラグesc escンを開発し,共有することもできます。

JFrog CLIプロジェクトとその依存関連はすべてオ,プンソ,スです。プロジェクトのGithub问题セクションでご質問や他にどんな機能が必要かを教えてください。

JFrog CLIをはじめましょう。