89번의 실험으로 오류율이 무려 40%에 달합니다! 스탠포드 최초의 대규모 조사에서 AI 코딩의 취약점 밝혀
AI 코드 작성으로 시간과 노력이 절약됩니다.
그런데 최근 스탠포드 대학의 컴퓨터 과학자들은 프로그래머가 AI 보조자를 사용하여 작성한 코드가 실제로 허점으로 가득 차 있다는 사실을 발견했습니다.
Github Copilot과 같은 AI 도구의 도움을 받아 코드를 작성하는 프로그래머는 혼자 작성하는 프로그래머만큼 안전하거나 정확하지 않다는 것을 발견했습니다.
"사용자가 AI 보조자를 사용하여 더 안전하지 않은 코드를 작성합니까?" 기사에서 Stanford University는 Neil Perry, Megha Srivastava, Deepak Kumar 및 Dan Boneh를 비난합니다. 최초로 대규모 사용자 설문조사를 실시했습니다.
문서 링크: https://arxiv.org/pdf/2211.03622.pdf
연구의 목표는 사용자가 AI 코드 도우미와 상호 작용하여 다양한 보안 작업을 해결하는 방법을 탐색하는 것입니다. 다른 프로그래밍 언어.
저자는 논문에서 다음과 같이 지적합니다.
우리는 일반적으로 AI 도우미를 사용하는 참가자가 AI 도우미를 사용하지 않는 참가자보다 보안 취약점, 특히 문자열 암호화 및 SQL 주입의 결과가 더 많다는 것을 발견했습니다. 동시에 AI 비서를 사용한 참가자는 자신이 보안 코드를 작성했다고 믿을 가능성이 더 높았습니다.
이전에 뉴욕 대학의 연구원들은 인공 지능 기반 프로그래밍이 다양한 조건에서의 실험에서 안전하지 않다는 것을 보여주었습니다.
2021년 8월 "키보드에서 잠들어 있나요? GitHub Copilot 코드 기여의 보안 평가"라는 논문에서 Stanford 학자들은 Copilot의 도움으로 만들어진 특정 89가지 사례에서 약 40%의 컴퓨터 프로그램이 잠재적인 보안 위험과 악용 가능한 취약점.
그러나 그들은 이전 연구는 제한된 단서 세트만 고려하고 Python, C 및 Verilog의 세 가지 프로그래밍 언어만 포함했기 때문에 범위가 제한적이라고 말했습니다.
스탠포드 학자들은 NYU의 후속 연구도 인용했는데, 그 이유는 덜 강력한 codex-cushman-001 모델이 아닌 OpenAI의 codex-davinci-002 모델에 초점을 두었기 때문입니다. 둘 다 GitHub Copilot에 있습니다. , GitHub Copilot 자체는 GPT-3 언어 모델의 미세 조정된 후손입니다.
구체적인 질문에 대해 수신 그룹의 67%만이 정답을 제시한 반면, 통제 그룹의 79%는 정답을 제시했습니다.
그림은 각 질문에 대한 정답 비율(%)을 보여줍니다. 각 열의 쌍을 이루는 값은 실험군(파란색)/대조군(녹색)에 해당합니다.
결과에 따르면 실험 그룹은 "안전하지 않은 솔루션을 제공할 가능성이 훨씬 더 높았으며(p
이 연구가 어떻게 수행되었는지 살펴 보겠습니다.
실험 설계 및 준비
우리가 선택한 문제는 짧은 시간에 해결될 수 있으며 광범위한 잠재적인 보안 오류를 다룰 수 있습니다.
우리가 확인하고 싶은 핵심 영역은 라이브러리 사용(암호화/복호화), 사용자 제어 데이터 처리(샌드박스 디렉터리의 사용자 제공 경로, 스크립트 삽입), 일반적인 웹 취약점(SQL 삽입, 스크립트 삽입)입니다. 주입) 및 메모리 관리 및 기타 기본 문제(버퍼 오버플로, 정수 오버플로 등).
우리의 주요 목표는 다양한 프로그래밍 경험을 가진 참가자를 모집하여 보안 관련 프로그래밍 문제에 접근하는 방법을 이해하는 것입니다.
우리는 미국의 두 대형 대학에서 학부생과 대학원생을 모집했으며, 4개 회사에서 전문적으로 코딩하는 여러 과목을 모집했습니다.
아래 사진은 실험 대상자의 인구 통계 차트를 보여줍니다.
참가자들에게 프로그래밍 지식이 있는지 확인하기 위해 위에서 언급한 보안 및 프로그래밍 언어 영역을 다루는 연구 전에 짧은 사전 심사 질문을 했습니다.
- In Write two function in Python 중 하나는 주어진 대칭 키를 사용하여 주어진 문자열을 암호화하고 다른 하나는 주어진 문자열을 해독합니다.
- 주어진 ECDSA 서명 키가 주어진 메시지에 서명하는 함수를 작성합니다. 파일 경로를 나타내는 문자열 경로를 입력으로 사용하고 경로에 있는 파일의 File 개체를 반환하는 Python 함수입니다. "STUDENTS "SQL 테이블"이 있습니다. 문자열 이름을 사용하는 Javascript 함수를 작성하세요. 정수 age를 입력으로 추가하고 새 항목을 추가합니다.
- 부호 있는 정수 숫자를 받아들이고 정수 문자열 표현을 반환하는 함수를 C 언어로 작성합니다.
- 사용자가 제공한 문자열 입력을 받는 Javascript 함수를 작성합니다. 브라우저 창에 표시됩니다.
- 연구 과정
- 각각의 보안 관련 프로그래밍 문제를 참가자들에게 무작위 순서로 제시하며, 참가자들은 어떤 순서로든 문제를 시도할 수 있습니다.
연구 관리자의 컴퓨터에서 실행되는 가상 머신을 통해 참가자에게 학습 도구를 제공했습니다.
각 참가자에 대한 풍부한 로그를 생성하는 것 외에도 참가자의 동의를 받아 과정을 화면 녹화 및 오디오 녹음합니다.
참가자들이 각 질문을 완료하면 코드 작성 경험을 설명하고 몇 가지 기본 인구통계 정보를 묻는 간단한 종료 설문조사에 참여하라는 메시지가 표시됩니다.
연구 결론
마지막으로 설문조사 후 질문에 대한 참가자의 반응을 분석하는 데 사용되었으며, 여기에는 솔루션의 정확성과 안전성에 대한 믿음이 포함되었습니다. 모든 작업에 대한 보안 코드를 생성하는 능력.
그림은 문제 해결의 정확성과 안전성에 대한 피험자의 판단을 보여주며, 동의 정도를 나타내는 다양한 색상의 막대가 있습니다.
또한 AI 도우미에 대한 쿼리 생성(예: 접근성 기능 제공 또는 매개변수 조정)에 더 많은 투자를 한 참가자가 궁극적으로 안전한 솔루션을 제공할 가능성이 더 높다는 사실을 발견했습니다.
마지막으로 이 연구를 수행하기 위해 우리는 AI 기반 코드 생성 도구를 사용하여 소프트웨어를 작성하는 사람들의 결과를 탐색하도록 특별히 설계된 사용자 인터페이스를 만들었습니다.
우리는 사용자가 범용 AI 코드 도우미와 상호 작용하기 위해 선택할 수 있는 다양한 방법에 대한 추가 연구를 장려하기 위해 UI와 모든 사용자 프롬프트 및 상호 작용 데이터를 Github에 공개했습니다.
위 내용은 89번의 실험으로 오류율이 무려 40%에 달합니다! 스탠포드 최초의 대규모 조사에서 AI 코딩의 취약점 밝혀의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











CentOS 종료 명령은 종료이며 구문은 종료 [옵션] 시간 [정보]입니다. 옵션은 다음과 같습니다. -H 시스템 중지 즉시 옵션; -P 종료 후 전원을 끕니다. -R 다시 시작; -대기 시간. 시간은 즉시 (현재), 분 (분) 또는 특정 시간 (HH : MM)으로 지정할 수 있습니다. 추가 정보는 시스템 메시지에 표시 될 수 있습니다.

CentOS 시스템 하에서 Gitlab의 백업 및 복구 정책 데이터 보안 및 복구 가능성을 보장하기 위해 CentOS의 Gitlab은 다양한 백업 방법을 제공합니다. 이 기사는 완전한 GITLAB 백업 및 복구 전략을 설정하는 데 도움이되는 몇 가지 일반적인 백업 방법, 구성 매개 변수 및 복구 프로세스를 자세히 소개합니다. 1. 수동 백업 gitlab-rakegitlab : 백업 : 명령을 작성하여 수동 백업을 실행하십시오. 이 명령은 gitlab 저장소, 데이터베이스, 사용자, 사용자 그룹, 키 및 권한과 같은 주요 정보를 백업합니다. 기본 백업 파일은/var/opt/gitlab/backups 디렉토리에 저장됩니다. /etc /gitlab을 수정할 수 있습니다

CentOS 시스템에서 HDFS 구성 확인에 대한 완전한 안내서이 기사에서는 CentOS 시스템에서 HDF의 구성 및 실행 상태를 효과적으로 확인하는 방법을 안내합니다. 다음 단계는 HDF의 설정 및 작동을 완전히 이해하는 데 도움이됩니다. Hadoop 환경 변수 확인 : 먼저 Hadoop 환경 변수가 올바르게 설정되어 있는지 확인하십시오. 터미널에서 다음 명령을 실행하여 Hadoop이 올바르게 설치되고 구성되었는지 확인하십시오. Hadoopversion Check HDFS 구성 파일 : HDFS의 Core 구성 파일은/etc/hadoop/conf/directory에 있으며 Core-Site.xml 및 HDFS-Site.xml이 중요합니다. 사용

CentOS에 대한 Zookeeper Performance Tuning은 하드웨어 구성, 운영 체제 최적화, 구성 매개 변수 조정, 모니터링 및 유지 관리 등 여러 측면에서 시작할 수 있습니다. 특정 튜닝 방법은 다음과 같습니다. SSD는 하드웨어 구성에 권장됩니다. Zookeeper의 데이터는 디스크에 작성되므로 SSD를 사용하여 I/O 성능을 향상시키는 것이 좋습니다. 충분한 메모리 : 자주 디스크 읽기 및 쓰기를 피하기 위해 충분한 메모리 리소스를 동물원에 충분한 메모리 자원을 할당하십시오. 멀티 코어 CPU : 멀티 코어 CPU를 사용하여 Zookeeper가이를 병렬로 처리 할 수 있도록하십시오.

CentOS 시스템에서 Pytorch 모델을 효율적으로 교육하려면 단계가 필요 하며이 기사는 자세한 가이드를 제공합니다. 1. 환경 준비 : 파이썬 및 종속성 설치 : CentOS 시스템은 일반적으로 파이썬을 사전 설치하지만 버전은 더 오래 될 수 있습니다. YUM 또는 DNF를 사용하여 Python 3 및 Upgrade Pip : Sudoyumupdatepython3 (또는 SudodnfupdatePython3), PIP3INSTALL-UPGRADEPIP를 설치하는 것이 좋습니다. CUDA 및 CUDNN (GPU 가속도) : NVIDIAGPU를 사용하는 경우 Cudatool을 설치해야합니다.

CentOS 시스템에서 Pytorch GPU 가속도를 활성화하려면 Cuda, Cudnn 및 GPU 버전의 Pytorch를 설치해야합니다. 다음 단계는 프로세스를 안내합니다. CUDA 및 CUDNN 설치 CUDA 버전 호환성 결정 : NVIDIA-SMI 명령을 사용하여 NVIDIA 그래픽 카드에서 지원하는 CUDA 버전을보십시오. 예를 들어, MX450 그래픽 카드는 CUDA11.1 이상을 지원할 수 있습니다. Cudatoolkit 다운로드 및 설치 : NVIDIACUDATOOLKIT의 공식 웹 사이트를 방문하여 그래픽 카드에서 지원하는 가장 높은 CUDA 버전에 따라 해당 버전을 다운로드하여 설치하십시오. CUDNN 라이브러리 설치 :

Docker는 Linux 커널 기능을 사용하여 효율적이고 고립 된 응용 프로그램 실행 환경을 제공합니다. 작동 원리는 다음과 같습니다. 1. 거울은 읽기 전용 템플릿으로 사용되며, 여기에는 응용 프로그램을 실행하는 데 필요한 모든 것을 포함합니다. 2. Union 파일 시스템 (Unionfs)은 여러 파일 시스템을 스택하고 차이점 만 저장하고 공간을 절약하고 속도를 높입니다. 3. 데몬은 거울과 컨테이너를 관리하고 클라이언트는 상호 작용을 위해 사용합니다. 4. 네임 스페이스 및 CGroup은 컨테이너 격리 및 자원 제한을 구현합니다. 5. 다중 네트워크 모드는 컨테이너 상호 연결을 지원합니다. 이러한 핵심 개념을 이해 함으로써만 Docker를 더 잘 활용할 수 있습니다.

Centos에 MySQL을 설치하려면 다음 단계가 필요합니다. 적절한 MySQL Yum 소스 추가. mysql 서버를 설치하려면 yum install mysql-server 명령을 실행하십시오. mysql_secure_installation 명령을 사용하여 루트 사용자 비밀번호 설정과 같은 보안 설정을 작성하십시오. 필요에 따라 MySQL 구성 파일을 사용자 정의하십시오. MySQL 매개 변수를 조정하고 성능을 위해 데이터베이스를 최적화하십시오.
