あなたは自分の開発能力に自信を持っており、自分が作ったアプリにセキュリティや設定の欠陥が全くないわけではないことを知っています。あなたはまた、利用可能なスキャンツールの深いエコシステムを調査し、おそらく選択肢の多さに圧倒されたことでしょう。依存関係、Infrastructure as Code(IaC)構成、コンテナなどの脆弱性を特定するための、オープンソースのアプリ・セキュリティ・ツールの適切な「ポートフォリオ」とは何でしょうか?
正しい軌道に乗るために、コード・スキャンとセキュリティ・ツールの重要な10のカテゴリーを取り上げ、9つのOSSプロジェクトを推薦する:
- そのスキャンがアプリのセキュリティにどのように役立つのか。
- どのオープンソースプロジェクトをインストールし、どのように実行するか。
- 利用可能な場合は)いくつかの選択肢から選ぶことができる。
これによって、コードとクラウド構成に重大なセキュリティ問題がないか、アプリをスキャンするためのノーBSパスが手に入る。これほど素晴らしいことはない。
まあ、コンフィギュレーションと管理の部分はバラ色ではないが、それは後で説明しよう。

必要なもの
デスクトップでもラップトップでも、macOSでもWindowsでもLinuxでも構いません。
開発者環境はオプションだが、推奨される。このオープンソースのスキャンツール群を動かすには、ベースとなるOSにインストールしたくないソフトウェアをたくさんインストールする必要があり、大きなアップデートが必要になったり、オートコンプリートを汚染したり、すべてのプロジェクトで動作しないかもしれない特定のツールに固定されたりする。開発者環境は、すべての開発専用ツールをコンテナ化し、OSの他の部分からある程度隔離します。
幸いなことに、素晴らしいオープンソースのツールから選ぶことができる:
- と ドッカーという名前の新しいベアボーンコンテナをスピンアップすることができる。
デーヴン01
このようにdocker run --name devenv-01 -it ubuntu:24.04 sh
- と デイトナこれは、開発ワークフローに必要な多くの「バッテリー込み」である:
デイトナ・クリエイト -コード
- または Distroboxを使えば、あらゆるLinuxディストリビューションをターミナル内に組み込み、ソフトウェアをインストールすることができる。
開発者環境の素晴らしいところは、特定の「スタック」を使い終わったら、ワークステーションに影響を与えることなくコンテナを安全に削除できることだ。
#1位:クラウド・セキュリティ・ポスチャ管理(CSPM)
CSPMはアプリのセキュリティにどのように役立つのか?
CSPMは、クラウド環境のセキュリティとコンプライアンスの強化を支援します。CSPM ツールは、アプリケーションとそのアップストリーム・サービスを業界のベスト・プラクティスや社内ポリシーに照らして継続的に監視することで、問題を評価し、その重要性に基づいて優先順位を付け、修復のための推奨事項を提示します。CSPM を使用することで、ベースラインとガードレールのオーナーシップを高め、自分自身や他者が脆弱なアプリケーションを本番環境に移行するのを防ぐと同時に、誤った設定や過度に寛容なユーザー・ロールを根絶することができます。
OSS CSPM プロジェクトをインストールして実行する:CloudSploit
インストール方法 クラウドスプロイトをインストールするには、まず Node.jsが必要です。
git clone https://github.com/aquasecurity/cloudsploit.git
cd cloudsploit
npm install
次に、CloudSploitにクラウドアカウントへの読み取り権限を設定する必要があります。 AWS, アジュール, 事業継続計画そして オラクル.クラウドプロバイダーの指示に従って、レポの config_example.js
ファイル をテンプレートとして作成します。 config.js
ファイルに、最初の完全な診断を実行し、JSONで結果を得るために必要なすべての詳細を記述する。
./index.js --collection=file.json config.js
#2:オープンソースの依存関係のソフトウェア構成分析(SCA)
SCAはアプリのセキュリティにどう役立つのか?
あなたのアプリには、UIフレームワークから、メールアドレスのバリデータのように1つのLOCで使用するヘルパーライブラリに至るまで、依存するオープンソースの大きなツリーが必然的に存在する。 SCAは、あなたのコードの拡大家族のバックグラウンドチェックのようなもので、セキュリティの脆弱性やライセンスの問題を一度だけでなく継続的に特定します。SCAツールは、新しい脆弱性と改善策を通知してくれるので、オープンソースのサプライチェーンが生産性の妨げではなく、助けであり続けるという確信を持つことができます。
OSS SCAプロジェクトのインストールと実行:Syft + Grype
ローカルでSCAを運営するには、以下のものが必要です。 Syftでソフトウェア部品表(SBOM)を作成し Grypeが必要です。SyftとGrypeは同じチームが作っているので、多くのインストール方法をサポートしていますが、それぞれのワンライナーを推奨します:
curl -sSfL https://raw.githubusercontent.com/anchore/syft/main/install.sh | sh -s -- -b /usr/local/bin
curl -sSfL https://raw.githubusercontent.com/anchore/grype/main/install.sh | sh -s -- -b /usr/local/bin
ローカルワークステーションに Syft をインストールした状態で、コンテナ用の SBOM を作成することができる。 <YOUR-IMAGE>
を、設定されたコンテナ・レジストリまたはローカル・ディレクトリにあるイメージと置き換える。
syft <YOUR-IMAGE> -o syft-json=sbom.syft.json
を手にすることになる。 sbom.syft.json
を作業ディレクトリにコピーし、それをGrypeに入力する。
grype sbom:path/to/syft.json -o json
Grypeは、深刻度の詳細や既知の修正に関する情報を含む脆弱性の概要を以下のフォーマットで出力します。
{
"vulnerability": {
...
},
"relatedVulnerabilities": [
...
],
"matchDetails": [
...
],
"artifact": {
...
}
}
代替案と注意点
Trivyは、SCAのための堅実なOSS代替品だ。全面的に1:1の機能パリティを提供するわけではないが、始めるには十分すぎるだろう。
#その3:秘密探知
秘密検知はアプリのセキュリティにどう役立つのか?
A シークレット検出ツールは、公開したくないクレデンシャルについて、コードと設定をスキャンする。これらのシークレットには、APIキー、サードパーティプロバイダーへのアクセストークン、アップストリームデータベースへのパスワード、証明書、暗号化キーなどが含まれる。 手間のかかるプロセスいったん公開リポジトリにプッシュされてしまうと、それを Git の履歴から削除するために骨の折れる作業をしなければならなくなります。
OSS秘密検知プロジェクトのインストールと実行Gitleaks
Gitleaks は、Git ログを解析することで、過去または現在にハードコードされた秘密が存在しないかリポジトリをスキャンします。その 見つける
ビヘイビアは、すでにコミットされた秘密を特定する。 守る
ビヘイビアはコミットされていない変更をスキャンし、ミスを未然に防ぐ。
最大限のコントロールのために Gitleaksをソースからインストールすることをお勧めします。
git clone https://github.com/gitleaks/gitleaks.git
cd gitleaks
make build
Gitleaks の初回実行時には、基本レポートを作成し、新規の秘密暴露の結果のみを表示することができます。
gitleaks detect --report-path gitleaks-report.json
を参照する必要があります。 gitleaks-report.json
ファイルを使って Git ログをスキャンし、ベースラインレポートを作成した後に追加されたシークレットだけを探します。
gitleaks detect --baseline-path gitleaks-report.json --report-path findings.json
あなたの 所見.json
ファイルには、各リーク候補のコミットハッシュと作者に関する詳細が含まれており、修正に集中するのに役立つ。
代替案と注意点
残念ながら、Gitleaks以外の選択肢はあまりない。他のオープンソースの秘密検知プロジェクトは、最後のコミットから何年も経っている。もしあなたがサービスプロバイダーなら GitHub秘密スキャン・パートナー・プログラムに登録することができます。このプログラムでは、あなたのユーザーがあなたの秘密のトークンを誤ってリポジトリにコミットしてしまった場合に、それを特定することができます。
#その4:静的アプリケーション・セキュリティ・テスト(SAST)
SASTはどのように役立つのか?
SASTは、アプリ・セキュリティ・ツールの目の細かい櫛のようなもので、コードベースを一行ずつ分析し、アプリに脆弱性を残す可能性のある構文、構造、ロジックに欠陥がないかをチェックします。SQLインジェクション攻撃、クロスサイト・スクリプティング(XSS)、バッファオーバーフローなどを想定してください。既知のCVEの一般的なデータベースと照合することで、確かなSASTツールは、大きなセキュリティ上の欠陥をテーブルの上に放置していないという確信を与えてくれます。
OSS SASTプロジェクトをインストールして実行する:セムグレップ
セムグレップはコードをスキャンし、バグを発見し、30以上の言語をサポートし、呼び出すたびに確立されたコード標準を実施します。簡単に説明するために、Semgrep CLIに焦点を当てます。 エコシステム製品の一部です。
Semgrep CLIをインストールする最も一般的な方法は、Python/pipを使用することです。
python3 -m pip install semgrep
最初のスキャンを実行して、コードレベルの欠陥と脆弱性のレポートをJSONファイルとして作成する。
semgrep scan --json --json-output=semgrep.json
代替案と注意点
SASTの世界はチャンスに溢れている。Semgrepがうまくいかない場合は、以下のような言語固有の代替手段をチェックしてみよう。 バンディット(Python)のような言語固有の代替をチェックしてみてください、 Gosec(Go)、または Brakeman(Ruby on Rails)のどれかを使ってみよう。
#5位:動的アプリケーション・セキュリティ・テスト(DAST)
DASTはアプリのセキュリティにどのように役立ちますか?
SASTとは異なる、 DASTは、あなたのアプリに対して一般的に悪用される脆弱性をライブ環境でシミュレートします。あなたが書いたコードの構文や構造よりも、攻撃者があなたの本番環境に対して取るかもしれないアプローチを再現することに重点を置いています。DASTツールは、あなたが使用しているフレームワークやライブラリの既知のCVEをダブルチェックし、ログインしているユーザーがパーミッションの破損によって機密データにアクセスできるかどうか、またはあなたのアプリをはるかに悪い結果に導く複数の脆弱性の「有害な組み合わせ」をテストします。
OSS DASTプロジェクトをインストールして実行する:核
Nucleiはコミュニティ主導の脆弱性スキャナで、ローカル環境で実行されているセキュアにしたいアプリにリクエストを送るためにテンプレートを使う。YAMLを使ってカスタムテンプレートを書くこともできるが、Nucleiコミュニティは設定済みのテンプレートも豊富に用意している。 設定済みのテンプレートを用意しています。
必要なもの インストールにはが必要です。
インストールする github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
そこからNucleiを実行する最もシンプルな方法は、単一のターゲット(開発者環境でローカルに実行するアプリ)を指定し、Nucleiがデフォルトで有効化するテンプレート・ライブラリを活用することだ。
nuclei -u localhost:5678 -je nuclei-report.json
代替案と注意点
ゼットアタック ゼット・アタック・プロキシ(ZAP)は、セキュリティ専門家と開発者のグローバルチームによって積極的に維持されている素晴らしいスキャナーだ。しかし、このリストの他のものとは異なり、ZAPはデフォルトでグラフィカルなアプリだ。あなたの ターミナルを使うオプションもあるが、ここまでたどってきた他のプロセスと比べると、開発者フレンドリーとは言い難い。
#その6:インフラストラクチャー・アズ・コード(IaC)スキャン
IaCスキャンはアプリのセキュリティにどのように役立つのか?
今日、ほとんどのチームはTerraform、CloudFormation、そして "基本 "Kubernetes HelmチャートのようなIaCツールを使って、宣言的でバージョン管理された再現可能な方法でクラウドサービスをプロビジョニングしている。IaCスキャナは、これらのJSONまたはYAMLブループリントの脆弱性を特定し、安全でない状態を本番環境にデプロイすることを防ぎます。
OSS IaCスキャンプロジェクトをインストールして実行する:チェックオフ
Checkovは、Terraform設定、Helmチャート、Dockerファイルなど、多くのタイプのIaCコードをスキャンし、一般的な設定ミスや潜在的なセキュリティ脆弱性を検出します。AWS、GCP、Azure用の1,000以上のポリシーチェックが組み込まれており、このツールは、クラウド展開の現在のリスクと機会を数分で迅速に理解するのに役立ちます。
チームは、Pythonのパッケージマネージャーを使ってローカルにCheckovをインストールすることを推奨している。
python -m pip install checkov
そして、作業ディレクトリ(またはIaCファイルを保存している別のディレクトリ)に対してCheckovを実行し、出力としてJSONファイルを得ることができる。
checkov --directory .-o json
#7位:コンテナ画像スキャン
コンテナ・イメージのスキャンは、アプリのセキュリティにどのように役立つのか?
コンテナは多くの複雑さを抽象化してくれるので、私たちはコンテナが大好きです。 コンテナ・イメージを構築するたびに、そのベースイメージやパッケージの依存関係から脆弱性を受け継ぐ可能性があります。コンテナ・イメージ・スキャナは、ベース・イメージやDockerfileの脆弱性を発見し、依存関係ツリーがどんなに深くても、悪用可能なアプリを無意識のうちにデプロイしてしまうことを防ぎます。

コンテナ・イメージの脆弱性はこうして生まれたのだ。
OSSコンテナ・イメージ・スキャン・プロジェクトをインストールし、実行する:Trivy
Trivyは、コンテナ・イメージを解析して、CVE、IaCの問題や設定ミス、シークレットの存在など、既知の脆弱性を検出できる多機能なセキュリティ・スキャナーだ。オープンソースのTrivyプロジェクトを支えるAqua Securityチームは、以下のデータベースを管理している。 公開データベース脆弱性情報の公開データベースを維持している。 データソース.
これまで推奨してきた他のインストール方法と同様に、最新のGitHubリリースから直接インストールする場合は、Trivyのスクリプトを使うことをお勧めします。
curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh -s -- -b /usr/local/bin v0.51.1
デフォルトでは、Trivyは指定したコンテナ・イメージに対して、脆弱性、設定ミス、秘密をスキャンし、その結果を標準のJSON形式で表示する。
trivy image --format json --output trivy-result.json <YOUR-IMAGE>
代替案と注意点
Grypeは、Syftが作成したSBOMを持つコンテナ・イメージをスキャンするのに最適なツールだ。AWSを利用しているのであれば、これもAmazon Inspectorが「一石二鳥」で重宝するところだ。
Amazon Inspectorも選択肢の1つだが、2つの大きな注意点がある。1つ目は、AWSのデプロイメントでしか動作しないこと、2つ目は、我々が推奨する他のソフトウェアのようにオープンソースのソフトウェアではないことだ。 新しい月額費用.
#8位:オープンソースのライセンススキャン
オープンソースのライセンススキャンはアプリのセキュリティにどう役立つのか?
商用製品にオープンソースソフトウェアを使用することの合法性は、法務チームやコンプライアンスチームに一度確認して忘れるようなものではない。OSSプロジェクトは、あなたが理解している以上に頻繁にライセンスを変更するため、エンタープライズ版にお金を払うか、代替案を探すか、プライベートコードの一部をオープンソース化する必要があります。 ライセンススキャナー変更を特定し、すぐに使えるソフトウェア部品表 (SBOM) でセキュリティ監査を乗り切ることができます。
OSSライセンススキャンプロジェクトをインストールして実行します:Syft
最後のステップのGrypeと同様に、ローカルワークステーションにはすでにSyftがインストールされており、GrypeとのSCA統合を設定したときに既存のSBOMがあるかもしれません。まだない場合は、設定されたレジストリからコンテナイメージを参照するか、ローカルワークステーション上のパスを参照することで、すぐに新しいものを作成できます。
syft <YOUR-IMAGE> -o syft-json=sbom.syft.json
syft /path/to/image -o syft-json=sbom.syft.json
画像の複雑さと依存関係の深さによっては、数千行に及ぶSBOMファイルが得られるかもしれない。すべてのJSON出力の中で、あなたは 出土品
の配列である。 ライセンス
コンテナ・イメージが依存する各パッケージと依存関係の値を指定します。
{
"artifacts":[
{
"id":"cdd2655fffa41c69",
"name":"alpine-baselayout",
"version":"3.4.3-r2",
"type":"apk",
"foundBy":"apk-db-cataloger",
"locations":[
…
],
"licenses":[
{
"value":"GPL-2.0-only",
"spdxExpression":"GPL-2.0-only",
"Type":"declared",
…
単一のSBOMにこれらの詳細があれば、下流で行う必要のある変更や、準備を始めるべき移行について、ライセンシングの義務をスキャンすることができるようになります。また、次にセキュリティ監査が行われるときにも、頼りになるリソースを手に入れることができます。
代替案と注意点
前節で最初に紹介したTrivyには、次のような特徴がある。 ライセンススキャンこの機能は、オープンソースの依存関係ツリーにあるプロジェクトに関連するリスクについて、意見付きの結果を提示してくれる。
#9位:マルウェア検知
マルウェア検知はアプリのセキュリティにどう役立つのか?
マルウェアスキャナーは、近年急増している脅威、つまり攻撃者が依存性パッケージに注入したマルウェアを特定するのに役立つ。最近の zxバックドアは、素晴らしい、そして恐ろしい例です。マルウェアスキャナは、コードをマージする前にこのようなソフトウェアサプライチェーン攻撃を検出し、CVEが公開された後に時間やコストのかかる修正が必要になるのを防ぎます。
OSSマルウェア検出プロジェクトをインストールして実行する:Phylum
PhylumPhylumのCLIツールでは、依存性解析のためにロックファイルをAPIに提出することができる。ここで推奨する他のオープンソースツールとは少し異なり、解析はローカルのワークステーションでは行われない。その代わり、Phylumのサービスに認証用のアカウントを登録する必要がある。
Phylumをローカルにインストールすることから始める。
curl https://sh.phylum.io | sh
それからアカウントを登録し、最初の分析を実行する。
phylum auth register
phylum auth login
phylum init
phylum analyze --json
Phylumの分析は、以下のような包括的なアウトプットを提供する。 真の
または 擬似
の結果は、あなたのプロジェクトが Phylum のマルウェアチェックをパスしたかどうかに基づいています。各依存関係の拒否配列の下には、脆弱性の詳細な説明と OSS コミュニティからの修正アドバイスが表示されます。これにより、SAST、DAST、SCAテストの結果を集計し、どの脆弱性が依存関係に起因し、どの脆弱性が自分が書いたコードに直接埋め込まれているかを理解することができます。
{
"is_failure": true,
"incomplete_packages_count": 2,
"help": "...",
"dependencies": [
{
"purl": "pkg:npm/next@13.5.6",
"registry": "npm",
"name": "next",
"version": "13.5.6",
"rejections": [
{
"title": "next@13.5.6 is vulnerable to Next.js Server-Side Request Forgery",
"source": {
"type": "Issue",
"tag": "HV00003FBE",
"domain": "vulnerability",
"severity": "high",
...
#10: ランタイム・エンド・オブ・ライフ(EOL)の検出
EOLランタイムの検出は、アプリのセキュリティにどのように役立つのか?
アプリに含めるフレームワーク、ライブラリ、ランタイムが多ければ多いほど、古いバージョンやメンテナンスされていない依存関係に危険なレバレッジをかけられる機会が増えます。これは、公衆インターネットに直接公開されるランタイムにとって特に重要です。 EOL ランタイム検出機能は、コンテナ内のものであっても、ロックファイルを通して依存関係ツリーを読み取り、アップデートや移行に備えることができるように、かなり前に警告を発します。
OSSプロジェクトのインストールと実行: endoflife.date
エンドライフは、300以上のツールやプラットフォームに関するEOL情報のデータベースで、その多くはあなたのアプリの動作やセキュリティに不可欠なものです。特定のバージョンの依存関係がいつメンテナンスされなくなるかを知るために、曖昧なドキュメントサイトを探検したり、メーリングリストを探し回ったりする代わりに、必要なアップグレードの日付を素早く表示し、今後の努力の優先順位をつけることができます。
EOLデータを発見する最も簡単な方法は、プログラミング言語、データベース、フレームワーク、デプロイツール、クラウドサービスのCLIに特に注意を払いながら、サイトを探索することだ。
開発者としては、主要なランタイムやライブラリのEOLデータを調べるのに、よりCLI中心のアプローチを望むかもしれない。endoflife.dateには、JSONデータを出力するシンプルなAPIがあり、将来参照するためにローカルファイルに追加することもできる。
curl --request GET ˶
--url https://endoflife.date/api/nginx.json ˶
--header 'Accept: application/json' ˶
>> eol.json
新たな問題:コードスキャンとアプリのセキュリティデータの管理
ここまでたどってきたなら、オープンソースのコードと設定のスキャンツールの便利なツールキットを構築したことになる。ローカルに保存されたプロジェクトやブランチに対して、これらを実行し、コミット前のセキュリティ保証をはるかに向上させる準備が整いました。これを持って、左にシフトしてください!
しかし、あなたの未来がすぐに完璧になるわけではない。この新しいツールキットには大きな注意事項がある。

あなたはまだ、この先も責任がある:
- 各ツールを個別に設定する。例えば、本番環境のセキュリ ティには関係ないので、わざわざスキャンしたくない特定のディレクトリや依存関係を許可リスト に入れるような、単純なオプションを考えてみましょう。各 CLI ツールの引数を、ドキュメントを読んだり、テストしたりすることで学ぶ必要があります。
- 各リポジトリとブランチに対して各スキャナを実行する.単一のレポと2つのブランチがある場合でも
メイン
そしてデヴ
-つまり、脆弱性をスキャンするのに20回近く操作することになる。理想的なのは、リモートに変更をプッシュする前にこれらのスキャナーを実行することだ。
もちろん、これを単純化する方法もあります。これらのオープンソーススキャナをチェーンして手動で実行するスクリプトを書いたり、コミット前の Git フックとして実行したりすることもできます。ターミナルにかかる時間は節約できますが、JSON の出力が速くなるだけです。 何をプッシュし、プルリクエストを作成する。 - 膨大なJSON配列を調べ、洞察を得る。これらのツールは、多くの場合、数千行の出力を生成する。包括的であることは良いことですが、何十、何百もの潜在的なセキュリティ問題を調査し、その重大性を理解するために、1つ1つの問題を十分に理解することを望んでいる時間がある人はいないでしょう。
時間が経つにつれて、Google Sheetsにインポートしたり、結果を表示するための単純なアプリを構築したりするように、JSONのフォーマットされていない行よりも直感的な結果を読み取る方法が必要になるでしょう。 - 走行中に何が変わったかを理解する.セキュリティ・スキャンには2つの目的がある。第一に、あなたのコードとコンフィギュレーションに存在する問題を特定するのを助けること。2つ目は、構築時に新しい脆弱性を持ち込まないようにすることです。もしあなたが、ある脆弱性を修正したかどうかをすぐに理解できなかったり、新しい脆弱性があなたのコードに紛れ込んだときに通知されなかったりしたら、この取り組み全体が無駄な時間になってしまいます。
1つのオプションは、出力JSONファイルをインクリメントまたはタイムスタンプし、CLIツールを使用してそれらを比較することです。diff file1.json file2.json
は素晴らしいスタンドアローンツールである。git diff --no-index file1.json file2.json
Git リポジトリにコミットされていないファイル。 - 長期的な分析のためにデータを集約、保存、共有する。前にも述べたように、セキュリティ・スキャンは継続的な作業であり、TODOリストの単発項目ではない。さらに、あなたのスキャンの努力の結果は、あなたのローカル・ワークステーションに閉じ込めておくべきではありません。あなたの仲間は、たとえ同じようなツールキットを現在実行していなくても、自分が構築したものに最も関連する脆弱性について知りたがるでしょう。
あなたは、これらの情報を1つの場所にまとめるデータ・プラットフォームを探索する必要があります。 - Jira または GitHub でチケットを作成する。あなた、あるいは、同僚は、特定された各脆弱性を、必要なすべてのコンテキストと可能な改善策を含む関連チケットにエスカレーションしなければなりません。これが、セキュリティの透明性を確保し、仲間に協力してもらい、コンプライアンス基準で要求される監査ログを作成する唯一の方法です。これらのツールはいずれも、チケット・プラットフォームとの統合をサポートしていないため、チケットを手作業で作成する必要があります。
- チケットの優先順位を重要度に基づいて決めるリポジトリがチケットで溢れるのは、プロジェクト管理の悪夢だ。これはアラート疲れの違うバージョンですが、同じように辛いものです:どのチケットに最初に焦点を当てるべきか、誰がどうやって判断するのでしょうか?もしOSSツールが重大度について助けてくれないのであれば、自分でその判断に時間をかけなければならない。
- 各OSSツールのライフサイクルを管理する。ツールを最新に保つことであれ、自動化を構築することであれ、実行と結果をCI/CDパイプラインにループさせることであれ、ツールキットの長期的な有効性については、あなたが責任を負うことになる。あなたは、以前よりも優れたセキュリティの態勢を持つかもしれないが、現実の態勢にどのような代償を払うことになるのだろうか?
- プロジェクトがメンテナを失ったらどうなるのだろうと、心配したり不安になったりする。依存関係やランタイムがEOLになり、問題が発生する可能性があるなら、ローカルの開発環境が依存しているツールやプラットフォームも同様です。残念なことに、オープンソースプロジェクトは、長期的に持続可能ではない資金調達やメンテナモデルに基づいて構築されていることが多い。しかし、アプリのセキュリティを改善しようとするとき、新しい脆弱性や攻撃方法を発見する助けにはなりません。
開発者ツールの現在の話題は、「開発者エクスペリエンス(DX)」という1つのコンセプトの周りに渦巻いている。DXが優れていればいるほど、ツールが統合され、使用され、大切にされ、支持される可能性は高くなる。そして正直に言おう、このローカルで運営されているOSSスキャンツールキットのDXは、特に素晴らしいものではない。プロセスやデータは完全に自分のものだが、並外れたコストと時間がかかる。高度なアプリ・セキュリティのためにいくら払うつもりですか?
オープンソースのセキュリティ・ツールは素晴らしい。 ウェブ・アプリケーション・ファイアウォールしかし、継続的なセキュリティ・スキャンと脆弱性の修復には、別の方法があるはずです。この素晴らしいOSS基盤の上に構築されたものでさえも。
新しいアプリ・セキュリティ・ソリューション:Aikido
Aikido 、これらすべてのオープンソースプロジェクトと、さらに多くのものを統合している。

最新の変更をコミットする準備のたびに10以上のツールを実行する代わりに、リポジトリ、Dockerイメージ、クラウドプロバイダをAikido 一度追加するだけで包括的なスキャンを行うことができます。Aikido 、継続的なスキャニングのためにバックグラウンドで、またはプルリクエストごとにターゲットを絞った推奨のためにCI/CDパイプラインで自動的に実行され、新しい脆弱性からあなたを守ると同時に、数ヶ月または数年間あなたのコードベースに潜んでいた既存の脆弱性を指摘します。
JSONの解析や複数のデータソースのマージ、真実のソースを作成するための高価なデータ管理プラットフォームへの出費を心配する必要はありません。さらに、これらのオープンソース・プロジェクトの間にカスタム・ルールと特別な「接着剤」を構築し、社内に専門のセキュリティ・リサーチャーがいなければできないような相関関係や結果を明らかにしています。
Aikido また、GitHubやSlackのようなタスク管理やメッセージングプラットフォームと統合し、事前に優先順位付けされたチケットを作成します。すべてのコンテキスト、ドキュメント、および自動修正提案により、チームの誰もが問題をピックアップし、迅速かつ包括的に改善することができます。
もしこれらのオープンソースツールや他の多くのツールがなかったら、アプリのセキュリティははるかに悪化していただろう。それは紛れもない事実だ。しかし、開発者向けツールがローカル・ワークステーション上で、ターミナル内で動作するということは、無限の柔軟性と本質的な隔離性を併せ持つことを意味する。私のマシンでは動いた」というミームは、言い方が違うだけで、ここでもまだ当てはまる:

もしあなたが、このオープンソースのツールキットを構築するすべての負担を、同じプロジェクトの上にすでに構築されているプラットフォームに置き換える別の方法を探しているなら、次のことを検討してほしい。 Aikido みるを無料で試してみてほしい。
しかし、新しいツールや依存関係をワークフローに組み込んでいる間は、AikidoWeb ApplicationFirewallに、あなたのNode.jsアプリを最も悪質な脆弱性からも自律的かつ継続的に保護させるべきです。結局のところ、最高のDXは、ツールが本当にあなたのためにすべての難しい仕事をするときです。