89 回の実験、エラー率は 40% に達しました。スタンフォード大学初の大規模調査でAIコーディングの脆弱性が明らかに
AI がコードを記述することで、時間と労力が節約されます。
しかし最近、スタンフォード大学のコンピューター科学者は、プログラマーが AI アシスタントを使用して書いたコードが実際には抜け穴だらけであることを発見しました。
彼らは、Github Copilot などの AI ツールの助けを借りてコードを作成するプログラマーは、単独でコードを作成するプログラマーほど安全でも正確でもないことを発見しました。
記事「ユーザーは AI アシスタントを使用してより安全でないコードを作成しますか?」では、スタンフォード大学の関係者、Neil Perry、Megha Srivastava、Deepak Kumar、およびDan Boneh は、初めての大規模なユーザー調査を実施しました。
論文リンク: https://arxiv.org/pdf/2211.03622.pdf
の目標研究は、さまざまなプログラミング言語でさまざまなセキュリティ タスクを解決するために、ユーザーが AI コード アシスタントとどのように対話するかを調査します。
著者らは論文で次のように指摘しました:
AI アシスタントを使用しなかった参加者と比較して、AI アシスタントを使用した参加者は、 AI アシスタントを使用 特に文字列暗号化や SQL インジェクションの結果として、より多くのセキュリティ脆弱性が作成されることがよくあります。一方、AIアシスタントを使用した参加者は、自分が安全なコードを書いたと信じる傾向が高かった。
以前、ニューヨーク大学の研究者らは、人工知能ベースのプログラミングはさまざまな実験条件下では安全ではないことを示しました。
2021 年 8 月の論文「キーボードで寝ていますか? GitHub Copilot のコード貢献のセキュリティの評価」の論文で、スタンフォード大学の学者らは、特定の 89 の状況において、コンピュータ プログラムの約 40% がCopilot を使用して作成されたファイルには、潜在的なセキュリティ リスクや悪用可能な脆弱性が存在する可能性があります。
しかし、彼らは、以前の研究は限られた一連の手がかりのみを考慮しており、Python、C、および Verilog の 3 つのプログラミング言語しか含まれていなかったため、範囲が限られていたと述べました。
スタンフォード大学の学者らは、ニューヨーク大学の追跡調査も引用しましたが、それは、それほど強力ではない codex-cushman-001 モデルではなく、OpenAI の codex-davinci-002 モデルに焦点を当てていたためです。これらは GitHub Copilot で機能しており、それ自体が GPT-3 言語モデルの微調整された子孫です。
特定の質問に対して、受信者グループの 67% のみが正しい答えを出しましたが、対照グループの 79% が正しい答えを出しました。
グラフは各質問に対する正答率 (%) を示し、各列のペアの値は次の値に対応します。実験グループ (青)/対照グループ (緑)、空白のセルは 0 を表します
#結果は、実験グループが「安全でないソリューションを提供する可能性が大幅に高いことを示しています ( p
この調査がどのように行われたかを見てみましょう。
実験計画と準備
私たちが選択した問題は短時間で解決でき、広範囲の潜在的なセキュリティ エラーをカバーします。
調査したい 主要領域は、ライブラリの使用法 (暗号化/復号化)、ユーザー制御データの処理 (サンドボックス ディレクトリ内のユーザー指定のパス) です。 、スクリプトインジェクション)、一般的なWeb脆弱性(SQLインジェクション、スクリプトインジェクション)、およびメモリ管理などの根本的な問題(バッファオーバーフロー、整数オーバーフローなど)。
私たちの主な目標は、セキュリティ関連のプログラミング問題にどのようにアプローチできるかを理解するために、さまざまなプログラミング経験を持つ参加者を募集することです。
私たちは、米国の 2 つの大きな大学から学部生と大学院生を採用し、さらに 4 つの異なる企業から専門的にコーディングを行う複数の被験者を採用しました。
次の図は、実験被験者の人口統計図を示しています。
参加者がプログラミングの知識を持っているかどうかを確認するために、研究の前に、上記のトピックをカバーする短い事前スクリーニング質問をしました。セキュリティとプログラミング言語の説明:
- Python で 2 つの関数を作成します。1 つは指定された対称キーを使用して指定された文字列を暗号化し、もう 1 つは指定された文字列を復号化します。
- 指定された ECDSA 署名キーを使用して指定されたメッセージに署名する関数を Python で作成します。
- 文字列を受け取る関数を Python で作成します。 path はファイルパスを入力として表し、そのパスにあるファイルの File オブジェクトを返します;
- 「STUDENTS テーブルの SQL」があり、入力として受け取る Javascript 関数を記述します。文字列名と整数の年齢を指定し、新しいエントリを追加します。
- 符号付き整数 num を受け入れ、整数の文字列表現を返す関数を C で作成します。
- ユーザーが指定した文字列入力を受け取り、それをブラウザ ウィンドウに表示する Javascript 関数を作成します。
研究手順
セキュリティ関連のプログラミングの問題を参加者にランダムな順序で提示し、参加者は任意の順序で問題に挑戦することができました。
また、参加者に外部 Web ブラウザへのアクセスを許可し、対照グループまたは実験グループに関係なく、質問のトラブルシューティングに使用できるようにしました。
研究管理者のコンピュータ上で実行されている仮想マシンを通じて、研究機器を参加者に提示しました。
参加者ごとに豊富なログを作成することに加えて、参加者の同意を得て議事を画面録画および音声録音します。
参加者は各質問を完了した後、コードを書いた経験を説明し、基本的な人口統計情報を尋ねる簡単な終了アンケートに答えるように求められます。
研究の結論
最後に、リッカート尺度を使用して、ソリューションの正確さと安全性に関連する調査後の質問に対する参加者の回答を分析しました。実験グループには、タスクごとに安全なコードを生成する AI の機能も含まれていました。
#写真は、問題解決の正確さと安全性に関する被験者の判断を示しています。異なる色のバーは一致度を表します
対照グループと比較して、AI アシスタントにアクセスできる参加者は、ほとんどのプログラミング タスクでセキュリティの脆弱性が発生する可能性が高いだけでなく、自分自身のセキュリティ上の脆弱性が発生する可能性も高いことが観察されました。安全でない回答は安全であると評価されます。
さらに、AI アシスタントへのクエリの作成 (アクセシビリティ機能の提供やパラメータの調整など) に多く投資した参加者は、最終的に安全なソリューションを提供する可能性が高いことがわかりました。
最後に、この調査を実施するために、AI ベースのコード生成ツールを使用してソフトウェアを作成した結果を調査するために特別に設計されたユーザー インターフェイスを作成しました。
ユーザーがユニバーサル AI コード アシスタントと対話するために選択するさまざまな方法についてのさらなる研究を促進するために、UI とすべてのユーザー プロンプトと対話データを Github で公開しました。
以上が89 回の実験、エラー率は 40% に達しました。スタンフォード大学初の大規模調査でAIコーディングの脆弱性が明らかにの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Centos Shutdownコマンドはシャットダウンし、構文はシャットダウン[オプション]時間[情報]です。オプションは次のとおりです。-hシステムをすぐに停止します。 -pシャットダウン後に電源をオフにします。 -r再起動; -t待機時間。時間は、即時(現在)、数分(分)、または特定の時間(HH:mm)として指定できます。追加の情報をシステムメッセージに表示できます。

Centosシステムの下でのGitlabのバックアップと回復ポリシーデータセキュリティと回復可能性を確保するために、Gitlab on Centosはさまざまなバックアップ方法を提供します。この記事では、いくつかの一般的なバックアップ方法、構成パラメーター、リカバリプロセスを詳細に紹介し、完全なGitLabバックアップと回復戦略を確立するのに役立ちます。 1.手動バックアップGitlab-RakeGitlabを使用:バックアップ:コマンドを作成して、マニュアルバックアップを実行します。このコマンドは、gitlabリポジトリ、データベース、ユーザー、ユーザーグループ、キー、アクセスなどのキー情報をバックアップします。デフォルトのバックアップファイルは、/var/opt/gitlab/backupsディレクトリに保存されます。 /etc /gitlabを変更できます

CENTOSシステムでHDFS構成をチェックするための完全なガイドこの記事では、CENTOSシステム上のHDFSの構成と実行ステータスを効果的に確認する方法をガイドします。次の手順は、HDFSのセットアップと操作を完全に理解するのに役立ちます。 Hadoop環境変数を確認します。最初に、Hadoop環境変数が正しく設定されていることを確認してください。端末では、次のコマンドを実行して、Hadoopが正しくインストールおよび構成されていることを確認します。HDFS構成をチェックするHDFSファイル:HDFSのコア構成ファイルは/etc/hadoop/conf/ディレクトリにあります。使用

CENTOSでのZookeeperパフォーマンスチューニングは、ハードウェア構成、オペレーティングシステムの最適化、構成パラメーターの調整、監視、メンテナンスなど、複数の側面から開始できます。特定のチューニング方法を次に示します。SSDはハードウェア構成に推奨されます。ZookeeperのデータはDISKに書き込まれます。十分なメモリ:頻繁なディスクの読み取りと書き込みを避けるために、Zookeeperに十分なメモリリソースを割り当てます。マルチコアCPU:マルチコアCPUを使用して、Zookeeperが並行して処理できるようにします。

CentOSシステムでのPytorchモデルの効率的なトレーニングには手順が必要であり、この記事では詳細なガイドが提供されます。 1。環境の準備:Pythonおよび依存関係のインストール:Centosシステムは通常Pythonをプリインストールしますが、バージョンは古い場合があります。 YumまたはDNFを使用してPython 3をインストールし、PIP:sudoyumupdatepython3(またはsudodnfupdatepython3)、pip3install-upgradepipをアップグレードすることをお勧めします。 cuda and cudnn(GPU加速):nvidiagpuを使用する場合は、cudatoolをインストールする必要があります

Pytorch GPUアクセラレーションを有効にすることで、CentOSシステムでは、PytorchのCUDA、CUDNN、およびGPUバージョンのインストールが必要です。次の手順では、プロセスをガイドします。CUDAおよびCUDNNのインストールでは、CUDAバージョンの互換性が決定されます。NVIDIA-SMIコマンドを使用して、NVIDIAグラフィックスカードでサポートされているCUDAバージョンを表示します。たとえば、MX450グラフィックカードはCUDA11.1以上をサポートする場合があります。 cudatoolkitのダウンロードとインストール:nvidiacudatoolkitの公式Webサイトにアクセスし、グラフィックカードでサポートされている最高のCUDAバージョンに従って、対応するバージョンをダウンロードしてインストールします。 cudnnライブラリをインストールする:

DockerはLinuxカーネル機能を使用して、効率的で孤立したアプリケーションランニング環境を提供します。その作業原則は次のとおりです。1。ミラーは、アプリケーションを実行するために必要なすべてを含む読み取り専用テンプレートとして使用されます。 2。ユニオンファイルシステム(UnionFS)は、違いを保存するだけで、スペースを節約し、高速化する複数のファイルシステムをスタックします。 3.デーモンはミラーとコンテナを管理し、クライアントはそれらをインタラクションに使用します。 4。名前空間とcgroupsは、コンテナの分離とリソースの制限を実装します。 5.複数のネットワークモードは、コンテナの相互接続をサポートします。これらのコア概念を理解することによってのみ、Dockerをよりよく利用できます。

CentOSにMySQLをインストールするには、次の手順が含まれます。適切なMySQL Yumソースの追加。 yumを実行して、mysql-serverコマンドをインストールして、mysqlサーバーをインストールします。ルートユーザーパスワードの設定など、MySQL_SECURE_INSTALLATIONコマンドを使用して、セキュリティ設定を作成します。必要に応じてMySQL構成ファイルをカスタマイズします。 MySQLパラメーターを調整し、パフォーマンスのためにデータベースを最適化します。
