Skip to main content

Snyk CodeのRuby向けメールアドレスルールを削除

著者

Frank Fischer

blog feature ruby security

2022年10月13日

0 分で読めます

Snyk Codeは、クラウドネイティブ分野で重要なさまざまな言語に対応しており、Rubyもその1つです(多くの方にご利用いただいており、ありがとうございます!)。当社の研究者は、オープンソースプロジェクトのトレーニングセットだけでなく、スキャン対象コードでルールがどのように機能しているかも継続的に監視しています。これはSaaSサービスならではの利点です。念のためお伝えすると、Snykはお客様のコードをトレーニングに使用しません。ただし、利用状況の統計情報は集計しています。

Rubyのデータを確認したところ、外れ値が見つかりました(ユーザーの皆さんからもフィードバックをいただいていました)。

円グラフでは、HardcodedEmailが44.26%で最も大きく、次いでHardcodedCredentialが18.20%、HardcodedPasswordが12.03%を占めています。
他の検出結果との比較における、相対的なハードコードされたメールアドレスルールの検出結果。

Ruby向けHardcodedEmailルールを削除した理由

Rubyコード内のメールアドレスを検出し、優先度の低い問題の可能性があるとして報告するルールがありました。コードにメールアドレスをハードコードしないことはベストプラクティスですが、このルールによる問題は無視されたり、対処されなかったりすることが多いと分かりました。数値を詳しく調べた結果、発生するノイズと推奨事項の利用状況には関連性がないと判断し、このルールを削除することにしました。データフローを利用して誤用された認証情報やパスワードを検出するほかのルールがあるため、この点については引き続き十分にカバーされています。

皆さんにとってどのような意味があるのでしょうか。Rubyをお使いの場合、まもなく、メールアドレスに基づく優先度の低い検出結果が減る見込みです。

Ruby向けルール以外から得られる教訓は?

静的アプリケーションセキュリティテスト(SAST)ツールはもちろん、より一般的な静的コード解析ツールもすべて、健全性(真陽性の問題だけを特定する一方で、一部を見逃す可能性があること)と完全性(考えられる問題をすべて特定する一方で、誤検知によるノイズが多くなること)のバランスを保つ必要があります。Snyk Codeは高速であるため、言語ごとに12万〜15万件のプロジェクトをテストセットとして活用し、この健全性と完全性のバランスを維持しやすいという大きな利点があります。

さらに、Snykアプリから得られる利用状況データもあります。これをもとにシステムを最適化し、継続的に改善しています。これにはいくつかの理由があります。

  • 環境は絶えず変化します。JavaScriptでは、2週間ごとに新しい人気ライブラリが登場するとよく言われます。冗談はさておき、どの言語の環境でも、新しいライブラリが追加されたり、既存のライブラリが変更されたりします。機械学習を使ってこうした変化を自動的に学習し、ナレッジベースに反映しています。

  • ベストプラクティスが必ずしも実践されているとは限りません。コードにメールアドレスをハードコードしないことがベストプラクティスだとしても、実際にはそうでない場合があり、別の方法を選ぶ正当な理由があることも受け入れる必要があります。

  • 新しい種類の問題が登場します。Trojan Sourceを覚えていますか?これは、それまで見られなかったまったく新しい種類の問題でした。わずか数日で、Snyk Codeチームは、対応するすべてのプログラミング言語で高精度に検出できるルールを提供しました。

製品改善のためのフィードバックやご提案をお寄せいただき、ありがとうございます。データに基づく意思決定に加えて、皆さんからの声は私たちにとって貴重な情報源です。私たちは声に耳を傾け、対応します。まだSnyk Codeをお使いでない方は、ぜひこの機会にお試しください。無料のSnykアカウントに登録するだけで、数秒で結果を確認できます。

無料のRubyコードチェッカーツールをお試しいただき、Snyk Codeエンジンがセキュリティや品質の問題をどのように解析するかご確認ください。

Capture the Flagを始めよう

オンデマンドのバーチャル入門ワークショップを見て、Capture the Flagの課題の解き方を学びましょう。

続きを読む

blog feature snyk container custom base recommendations
Blog

Evo Agentic AppSecのご紹介:AI開発のスピードに対応するセキュリティ

AI駆動型開発のスピードに、従来のセキュリティワークフローは追いついていません。SnykのAgentic AppSecは、セキュリティエージェントが脆弱性を継続的に検出、修正、検証し、人が基準を定められるようにします。

feature insights context
Blog

自律型攻撃はすでに始まっている。防御もそのスピードに追いつかなければならない。

自律型攻撃者によって、防御に使える時間は短くなっています。継続的な検出、修復、検証、予防で、セキュリティチームが攻撃に歩調を合わせる方法をご紹介します。

illustration hero ai
Blog

AIハリケーンが到来

AIはソフトウェア開発とサイバー攻撃の双方を加速させています。リーダーは、エージェントとコードを開発の初期段階から保護し、実行時に制御を徹底するとともに、防御策を独立して検証しなければなりません。