Skip to main content

Snyk Code の PHP セキュリティが GA 版に

著者:
DeveloperSteve Coochin
DeveloperSteve Coochin
wordpress-sync/blog-social-php-composer

2022年1月26日

0 分で読めます

先日、Snyk Code の PHP 対応ベータリリースが発表されていますが、このベータ版では PHP の潜在的なセキュリティ脆弱性をコードレベルで特定できるようになりました。公開ベータプログラムの成功を受けて、Snyk Code の PHP セキュリティサポートが GA 版で提供されています

PHP は、世界中の開発者に利用されている人気のプログラミング言語です。このブログ記事では、Snyk Code のいくつかの特長と PHP でどのように活用できるかについて紹介しています。また、初心者の方から経験豊富な方まで、安心してご利用いただけるよう、いくつかの例をご紹介しています。

GA 版のアップデート

Snyk Code の PHP 言語セキュリティサポートは、Composer マニフェストをスキャンしてオープンソースライブラリと依存関係の脆弱性を特定する既存の PHP スキャン機能に追加されます。

さらに、Snyk Visual Studio Code 拡張機能では、PHP のコードと Composer のスキャンもサポートされるようになりました。これは、コードの作成中に安全でない可能性のあるコードをハイライト表示し、オープンソースライブラリまたは依存関係に潜む脆弱性について知ることができるため、特に便利です。

wordpress-sync/blog-php-security-ga-ide

Snyk Code での PHP の GA リリースでは、問題を詳しく調べ、必要に応じてコードベースからトレースバックできます。これは、コード内の他のポイントに由来する追跡可能な関数を扱う場合に便利です。

wordpress-sync/blog-php-security-ga-trace

PHP デモアプリで Snyk Code スキャンをテストする

Snyk の魅力の 1 つは、グーフアプリと呼ばれる、意図的に脆弱なデモアプリケーションが作れることです。これは実地で脆弱性を発見するための優れた方法となります。Snyk Code での PHP サポートの開始に伴って PHP グーフアプリが追加されています。

PHP グーフアプリを使用していくつかの例を見ていきましょう。お試しいただくには、Snyk のアカウントが必要です。まだお持ちでない方は、すぐに無料で作成できます。

開始するには、Snyk ダッシュボードにログインし、プロジェクトを追加します。このスキャンでは、monitor public repository オプションを使用して PHP goof app repo をスキャンするか、コードをフォークして選択したリポジトリに接続できます。

wordpress-sync/blog-php-security-ga-goof

プロのアドバイス: 公開リポジトリのスキャンでは、毎日使うオープンソースプロジェクトのスキャンも便利です。

スキャンはごく短時間で実行できますが、すでにコードとパッケージマニフェストの両方でいくつかの問題が確認されているのがわかります。Snyk Code では、何十種類もの問題および文字通り何百万件ものデータフローソースとシンクの組み合わせが識別されます。PHP グーフアプリを使用した 2 つの非常に一般的な例を見てみましょう。

SQL インジェクション

スキャンを実行した後、最初に気づくのは、Snyk Code による調査がいかに簡単かということです。以下のスクリーンショットでは、サニタイズされていない入力が渡されたデータベースクエリが識別されていることがわかります。

wordpress-sync/blog-php-security-ga-sql-injection

Snyk Code により、脆弱性がすばやくわかりやすい方法で表示されるだけでなく、修正分析と対策アドバイスも提供されます。たとえば、セキュリティについて豊富な経験のない PHP 開発者の場合、ライブラリまたは filter_var 関数を使用して、PHP で入力のサニタイズを安全に処理する方法がいくつかあることをご存じないかもしれません。コードを安全に保つために必要なリアルタイムのセキュリティ専門知識は Snyk により提供され、作業中にアドバイスを表示してくれます。

PHP のセキュリティについて詳しくは、ブログ記事「PHP コードインジェクションを防ぐ 5 つの方法」をお読みください。

ハードコードされた資格情報の使用

Snyk Code スキャンで表示されるように、グーフアプリでは MySQL 資格情報が意図的にハードコードされています。以下のスクリーンショットにあるように、Snyk Code はこれを検出し、問題としてフラグを付けています  (コード認証情報を扱うセキュリティの高い方法は、プラットフォーム上または環境ファイルのいずれかに環境変数として保存することです)。

wordpress-sync/blog-php-security-ga-hard-coded

オープンソースの脆弱性

さらに、このスキャンでは、Composer マニフェストにあるオープンソースライブラリのバージョンに問題があることも確認されています。これは、クロスサイトスクリプティングの脆弱性がどのように導入されるかを示すために、意図的にアプリに含まれています。

wordpress-sync/blog-php-security-ga-xss

PHP プロジェクトのセキュリティを確保する

Snyk Code で、PHP サポートが GA になりました。ぜひ、Snyk の無料アカウントでお試しいただき、フィードバックを送信してください。