GitHub が機械学習コードの脆弱性スキャンを無料で提供、JavaScript / TypeScript もサポート

GitHub が機械学習コードの脆弱性スキャンを無料で提供、JavaScript / TypeScript もサポート

現在、JavaScript および TypeScript リポジトリで開発およびテストが行​​われており、今後はさまざまな言語のサポートが徐々に追加される予定です。

テスト中に、CodeQL は 12,000 のリポジトリから、リモート コード実行 (RCE)、SQL インジェクション、クロスサイト スクリプティング (XSS) の脆弱性を含む 20,000 件を超えるセキュリティ問題を発見しました。

使い方

GitHub の CodeQL コードスキャンは、パブリックリポジトリでは無料です。

新しい JavaScript / TypeScript 分析ツールは、セキュリティ拡張およびセキュリティと品質の分析スイートのすべてのユーザーが利用できるようになりました。

すでにこれらのスイートを使用している場合は、新しい機械学習技術を使用して分析が自動的に実行されます。

これまで使用したことがない場合は、以下の手順に従って CodeQL を有効にできます。

1. リポジトリのホームページで、 「セキュリティ」をクリックします

2. コードスキャンアラートの右側にある「コードスキャンの設定」をクリックします。これがない場合は、リポジトリ管理者が GitHub Advanced Security を有効にする必要があります。

3. 「コードスキャンを開始する」の下で、「CodeQL Analysis でこのワークフローを設定する」をクリックします。

4. 「コミットの開始」ドロップダウン メニューを使用して、ファイル名を入力してコミットします。

5. デフォルトのブランチに直接コミットするか、新しいブランチを作成してプル リクエストを開始するかを選択します。

6. 「新しいファイルを送信」をクリックします。

コードスキャン分析が成功すると、ユーザーの「セキュリティ」タブにセキュリティ警告情報が表示されます。

MLがより良い結果を生む理由

リポジトリ内の脆弱性を検出するために、CodeQL エンジンはまずコードの特殊なリレーショナル表現をエンコードするデータベースを構築し、次にデータベースに対して一連の CodeQL クエリを実行します。

しかし、オープンソースエコシステムの急速な発展に伴い、ロングテール効果はますます顕著になってきています。

セキュリティ専門家は、他の一般的なライブラリや既知のパターンをモデル化するために、これらのクエリを継続的に拡張および改善します。ただし、手動によるモデリングには時間がかかり、手動でモデル化できないあまり一般的でないライブラリやプライベート コードが常に存在します。

ここで機械学習が役に立ちます。多数のトレーニング コード スニペットが与えられた場合、各クエリは正または負の例としてラベル付けされ、各スニペットの特徴が抽出され、新しい例を分類するようにディープラーニング モデルがトレーニングされます。

GitHub は、各コード スニペットを単純に単語や文字の文字列として扱い、標準の NLP 手法を直接適用してこれらの文字列を分類するのではなく、CodeQL を使用して基礎となるソース コードに関する豊富な情報にアクセスし、各コード スニペットの豊富な機能セットを生成し、NLP のようにタグ付けおよびサブタグ付けを行います。

トレーニング データから語彙が生成され、インデックス リストがディープラーニング分類器に入力され、現在のサンプルが各脆弱性である確率が出力されます。

ML ベースの脆弱性スキャンは現在 JavaScript/TypeScript でのみ利用可能ですが、GitHub は将来的にさらに多くの言語をサポートすることを約束しています。CodeQL は現在、Python、Go、C/C++ を含む多くの一般的な言語をサポートしています。

最後に、GitHub は、新しいツールではより多くの脆弱性を発見できるものの、誤検出率も高まる可能性がある (再現率は約 80%、精度は約 60%) とも強調しました。この機能は時間の経過とともに改善されます。

<<:  人工知能: キャリア開発のための3つの戦略

>>:  マイケル・ブロンスタインによる幾何学的ディープラーニングの最新レビュー: WL とプリミティブなメッセージ パッシングを超えた GNN

ブログ    
ブログ    

推薦する

...

なぜAIは東京オリンピックでバレーボールの試合を無料で観戦できるのか?

[[416801]]ビッグデータダイジェスト制作出典: Wired 8月8日の夜、第32回夏季オリ...

2020 年の人工知能の機会と課題について考える: 誰が勝つでしょうか?

近年、テクノロジーとビジネスニーズのギャップにより、人工知能は産業実装の過程で一連の課題に直面してい...

香水アートとAIが出会うとき

[51CTO.com 速訳] 香水は依然として人工物とみなされており、「スーパーな鼻」を持つトップマ...

...

マイクロソフトはBing Chatを今後も無料のままにすると約束

近年、OpenAI、Microsoft、Google など多くの企業やスタートアップチームが独自のチ...

...

...

Chain World: シンプルで効果的な人間行動エージェントモデル強化学習フレームワーク

強化学習は、エージェントが環境と対話し、蓄積された報酬を最大化するために最適なアクションを選択する方...

Java ガベージ コレクション アルゴリズムの紹介

51CTO 編集者注: 「Java ガベージ コレクション メカニズムの簡単な分析」では、Java ...

Tencent TRS: 産業実践におけるメタ学習とクロスドメイン推奨

1. メタ学習1. パーソナライズモデリングの問題点推奨シナリオでは、データの 80% 分布の問題に...

次世代AIの成功は効果的なパイロット戦略から始まります

生成 AI は世界を席巻していますが、企業はどのようにしてこのテクノロジーの可能性を真に活用し、その...

機械学習に関する7つの誤解

ディープラーニングを学ぶ過程では、私たちが当たり前だと思っているさまざまな噂やさまざまな「こだわり」...

世界情報会議が開幕、ロビン・リー、ジャック・マー、劉伝志ら著名人が集結

【51CTO天津6月29日】本日、「偉大な知能時代へ向かう」をテーマとする世界知能会議が天津梅江会議...

マイクロソフトCEO、テクノロジー大手各社がAIを訓練するためのコンテンツをめぐって競争していると語る

ナデラ氏は最近、米国政府によるグーグルに対する反トラスト訴訟で証言した。これは、米国政府が1998年...