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 にとって賢い選択でしょうか?

半導体業界では長年にわたり、より多くのコンポーネントを単一のシステムオンチップ (SoC) に緊密に...

米国労働統計局は機械学習を使用してデータコーディングを自動化しています

政府機関には常にさまざまな文書が詰まっていますが、その多くは紙の文書であり、電子文書であっても、実際...

AIに「擬人化技術」を使う?人工知能による認識への道は長く困難である

人工知能アルゴリズムやディープラーニングなどのさまざまな技術の徹底的な発展により、人工知能(AI)は...

予想外! AI技術はアダルト動画サイトに成熟して適用されている

アダルト動画サイトがAI技術を導入!ウェブサイトでは、顔認識やアルゴリズムを使用したビデオプレビュー...

...

...

SQLデータベースに基づくアルゴリズムを学ぶ

データベースは、データを保存し、大規模な計算を実行する場所です。現実世界の問題を解決するために、デー...

機械学習と AI のトレンド: 何が期待できるか?

ビデオゲーム、医療におけるモノのインターネット、スマートシティなどでは、すでに仮想現実がさらに多く見...

マイクロソフトCEOナデラ氏:顔認識技術は社会に有害

[[255839]] BI中国語ウェブサイトが1月18日に報じた。マイクロソフトのCEOサティア・ナ...

新たな調査でAIのROIの急上昇と将来の課題が浮き彫りに

Dataiku と Databricks が発表した新しい共同調査によると、生成型人工知能の急速な導...

WOT2019 検索推奨アルゴリズムフォーラム: さまざまな分野における AI ベースの検索推奨の実用化

6月21日、WOT2019グローバルテクノロジーサミットとグローバル人工知能テクノロジーサミットが北...

...