ソフトウェア開発の迅速化・複雑化に伴い、組織は、セキュリティテストを開発ツールやワークフローに直接組み込んで「シフトレフト」を図るなど、アプリケーション・セキュリティ・テストのパフォーマンスと効果を向上させる方法を模索するようになっていますが、これは理にかなった流れです。セキュリティ上の欠陥などの不具合は、多くの場合、発見が早いほど迅速かつ低コストで対処が可能です。後工程のテストや運用の最中に問題が発生すると、高コストになり、手戻りのための作業中断が生じます。
しかし、開発チームの中にセキュリティのエキスパートは少なく、セキュリティチームのニーズに合わせて最適化されたツールは複雑すぎて開発者に受け入れられないでしょう。しかも、これらのソリューションでは多くの場合、開発者は統合開発環境(IDE)の外で問題を解析し、可能な修正策を決定する必要があります。また、ツールとコンテキストの切り替えによって開発生産性が低下するため、開発チームはコードとオープンソースの依存関係を検査してセキュリティの問題を確認することの利点を認識していたとしても、生産性の低下というマイナス面を意識してセキュリティツールの使用を避ける傾向があります。
これらの問題に対応して、シノプシスはCode Sight™を開発し、Code Sight Standard Edition(SE)の提供開始を発表する運びとなりました。Code Sight SEは、継続的インテグレーション(CI)のビルドとテストのワークフローに組み込まれているCoverity®やBlack Duck®などのアプリケーション・セキュリティ・テスト(AST)ツールとは独立して動作する、Code Sight IDEプラグインのスタンドアロン・バージョンです。Code Sight SEは、統合型のRapid Scan StaticとRapid Scan SCAを使用してIDE内でソースコードとオープンソースの依存関係を解析する、高速で手軽なアプリケーション・セキュリティ解析ツールです。セキュリティの専門家でなくても、Code Sight SEのわかりやすい説明、重大度データ、修正ガイダンスを利用することで、欠陥や不具合を速やかに修正できます。Code Sight SEはサイズの大きいファイルや大規模なプロジェクトでもセキュリティ解析スキャンを瞬時に完了するように最適化されているので、システムへの影響を最小限に抑えることができます。また、一元管理の静的アプリケーション・セキュリティ・テスト(SAST)やソフトウェア・コンポジション解析(SCA)ソリューションをデプロイして使いたいと思わないかもしれませんが、Code Sight SEをCoverityやBlack Duck(および他のベンダー製ツール)などのツールと組み合わせて使用することで、IDEから離れることなく、一元的な解析による高い効果を得ることができます。
Code Sight SEは、ツールの切り替えやワークフローの中断なく、開発中にコードを作成しながらセキュリティの問題を検出して修正できる、IDEベースのアプリケーション・セキュリティ・ソリューションです。」
|
Code Sight SEは、開発者が作成するコードの品質とセキュリティの向上を支援する使い勝手の良いツールであり、手戻りを減らして生産性を高めることができます。Code Sight SEはIDEの直観的な拡張ユーザーインターフェイスを使用して数分でインストールでき、すぐにコードのスキャンと修正に取り掛かることができます。自動スキャン機能により、ファイルが開かれたり、保存または編集されるたびにアラートが配信されます。Code Sight SEは、ソースコード、オープンソースの依存関係、API呼び出し、暗号化、IaC(infrastructure-as-code)における問題を警告することで、作成するコードの品質向上を支援します。また、明確で詳細な修正ガイダンスが直接IDE上に表示されるため、コードをチェックインする前に問題を修正できます。
開発者は、使いやすく、集中力を削ぐような誤検知を発生させず、問題を速やかに修正するためのガイダンスを提供する静的解析ツールを必要としています。Code Sight SEの統合型Rapid Scan Static解析ツールは、このすべての要件を満たし、開発作業中にソースコードとIaCファイルを自動的にスキャンおよび解析します。Code Sight SEは、IaCソースコードテンプレートと構成ファイルのセキュリティの脆弱性、APIの安全性の問題、およびハードコーディングされたシークレットをチェックします。
Code Sight SEで問題が検出されると、識別しやすいように直接エディタ・ウィンドウで強調表示されます。強調表示されたコード行にカーソルを合わせると、問題の説明や修正ガイダンスなどの詳細情報が表示されます。Code Sight SEでは、IDE(統合開発環境)内で速やかに修正するための詳細なガイダンスが提供され、また、多くの問題を自動的に修正できます。
図1:Code Sight SEの統合型Rapid Scan Static解析ツールによって検出されたSASTの問題は、エディタウィンドウで強調表示されます。
図2:コード行にカーソルを合わせると、問題の説明や修正ガイダンスなどの詳細情報が表示されます。
Code Sight SEは、開発者が作成したコードをスキャンするとともに、頻繁にスキャンを実行してオープンソースの直接的および推移的な依存関係に潜む脆弱性を特定できる高速なソフトウェア・コンポジション解析エンジンであるRapid Scan SCAを備えています。スキャンを実行すると、IDEで脆弱性の説明とID(CVE/Black Duck Security Advisory)が直接表示されます。CVSSスコアに基づく重大度情報にもアクセスできるため、問題にすばやく優先順位を付けることができます。また、Rapid Scan SCAは、Rapid Scan Staticと同様に、開発者が次に利用可能な脆弱性のない、または低リスクのコンポーネントを選択するために役立つ修正ガイダンスを提供します。
図3:Code Sight SEの統合型Rapid Scan SCAの結果は、エディターウィンドウで強調表示されます。
図4:脆弱性の説明とID(CVE/Black Duck Security Advisory)はIDEで直接表示できます。
SASTとSCAをIDEに組み込むことで、Code Sight SEは比類のない高機能を実現します。現実問題として、あなたが開発者なら、ソフトウェアを確実にセキュアでバグのない状態にしたいはずです。セキュリティの脆弱性がコードにあるのか、オープンソースの依存関係にあるのかは問題ではありません。いずれにせよ修正する必要があります。コードの解析とオープンソースの確認にそれぞれ別のツールを使用するのは面倒です。Code Sight SEを使用すると、アプリケーションのコードベース全体のセキュリティの問題に総合的に対処できます。
Code Sight SEは、Java、JavaScript、TypeScriptをサポートするVisual Studio Code IDE内で使用できます。Mavenやnpmなどのパッケージ管理ツール、およびAWS CloudFormation、ELK、Helm、Kubernetes、TerraformなどのIaCプラットフォームとファイル形式がサポートされています。サポートされるファイル形式には、HCL(Terraform)、HTML、JSON、JSX、プロパティ、TOML、TSX、Vue、XML、YAMLなどがあります。Coverity SASTまたはBlack Duck SCAのCode Sight IDEプラグインを使用すると、さらに多くの言語とIDEがサポートされます。