GitHub: AI는 개발자가 더 안전한 코드를 작성하는 데 도움이 되지만 기본 사항을 올바르게 이해해야 합니다.
확고한 기반이 마련될 때까지는 AI 지원 개발에 손대지 마십시오.
취약성을 탐지하는 데 도움이 되는 정교한 사이버 보안 도구가 있으면 좋을 수도 있지만 코드 안전은 여전히 개발자가 기본 사항을 올바르게 익히는 것부터 시작해야 합니다.
GitHub의 최고 보안 책임자(CSO)이자 엔지니어링 담당 수석 부사장인 Mike Hanley는 이렇게 기반에 초점을 맞추는 것은 2FA(2단계 인증) 활성화, 업계 표준 및 모범 사례 채택 등 기본 사항을 준수하는 것을 의미한다고 말했습니다.
Microsoft가 소유한 소프트웨어 개발 플랫폼은 1억 명 이상의 사용자를 보유하고 있으며 표적 사이버 공격의 상당 부분을 차지하고 있습니다. 그러나 이러한 공격의 형태는 지난 10년 동안 크게 변하지 않았습니다. 이러한 시도의 대부분은 소프트웨어 관리자의 자격 증명과 계정을 탈취하고 웹 애플리케이션 취약점을 악용하는 것을 목표로 하는 피싱 및 사회 공학 공격입니다.
사이버 범죄자들은 대부분 동일한 전술을 고수하므로 보안은 개발자부터 시작하는 것이 중요합니다. Hanley는 ZDNET과의 인터뷰에서 "취약성을 예방하고 감지하기 위한 도구를 구입할 수 있지만 가장 먼저 해야 할 일은 개발자가 안전한 애플리케이션을 구축할 수 있도록 돕는 것입니다"라고 말했습니다.
화상 회의 통화 및 자율주행차를 지원하는 도구를 포함한 주요 소프트웨어 도구가 구축되고 해당 라이브러리가 GitHub에서 제공됨에 따라 이러한 애플리케이션을 유지 관리하는 사람들의 계정이 제대로 보호되지 않으면 악의적인 해커가 이러한 계정을 탈취하여 보안을 침해할 수 있습니다. 도서관.
피해는 광범위할 수 있으며 SolarWinds 및 Log4j와 같은 또 다른 제3자 침해로 이어질 수 있다고 그는 지적했습니다. Hanley는 대규모 SolarWinds 공격 확산 소식이 전해지자 2021년 GitHub에 합류하여 새로 만들어진 CSO 역할을 맡았습니다.
"우리는 여전히 사람들에게 2FA를 활성화하라고 말합니다. 기본을 익히는 것이 최우선입니다."라고 그는 말했습니다.
그는 모든 사용자에게 2FA 사용을 의무화하려는 GitHub의 노력을 지적했습니다. 이 프로세스는 지난 1년 반 동안 진행되었으며 올해 초에 완료될 예정입니다.
이제 보안 시장에는 "화려한" 제품이 넘쳐나기 때문에 전문가들은 간단한 데드볼트의 필요성을 간과하기 쉽습니다.
기본 통제는 업계 표준과 모범 사례의 채택과 함께 조직의 환경을 보호하는 데 더욱 효과적이 될 것이라고 그는 말했습니다. 이러한 관행에는 Cloud Security Alliance가 게시한 벤치마크와 싱가포르의 안전한 앱 표준이 포함됩니다. 이는 '상식' 기본 보안 관행과 민간 및 공공 조직의 의견을 바탕으로 구축되어 가장 필수적인 구성 요소에 집중하는 데 도움이 됩니다.
AI를 통한 Shift-Left 개발 재정의
Hanley에 따르면 생성 AI를 포함한 인공 지능(AI)도 특히 코드 작성 시 잠재적인 취약점을 식별하는 소프트웨어 개발자의 중요한 동반자로 떠오르고 있습니다.
AI는 Shift-Left 모델을 재정의하고 개발자가 처음부터 코드에 취약점을 작성하는 것을 방지하는 데 도움이 된다고 그는 말했습니다.
Shift-Left 접근 방식에는 개발 수명 주기 초기에 소프트웨어를 테스트하는 작업이 포함되므로 개발 단계 전반에 걸쳐 품질을 평가하고 개선할 수 있습니다.
소프트웨어 취약점은 코드가 대중에게 공개된 후에 발견되는 경우가 많으며 때로는 Log4j의 경우처럼 발견되기까지 몇 년이 걸리기도 합니다. AI가 소프트웨어보다 먼저 잠재적인 취약점을 식별하고 제안하는 기능을 제공하는 능력 출판된 것은 개발자들에게 판도를 바꾸는 일이라고 Hanley는 말했습니다.
2020년부터 2023년까지 작성된 1억 5,300만 개의 변경된 코드 라인을 조사한 GitClear의 연구에 따르면, 작성된 지 2주 이내에 되돌리거나 업데이트되는 코드의 비율은 올해 2021년에 비해 두 배로 증가할 것으로 예상됩니다.
Hanley는 GitHub의 AI 지원 소프트웨어 개발 도구인 Copilot을 가리키며 이 기술은 개발자가 코드를 작성하는 데 도움을 줄 뿐만 아니라 코드를 검토하고 수정하는 것을 목표로 한다고 말했습니다.
GitHub Copilot은 프로젝트의 컨텍스트 및 스타일 규칙에 맞는 코드 제안을 제공하여 개발자에게 수락, 거부 또는 편집할 내용을 결정할 수 있는 기능을 제공합니다. 이 도구는 Visual Studio 및 Neovim과 같은 다른 편집기와 통합될 수 있으며 Python, JavaScript, Ruby 및 C#을 포함한 여러 언어로 구문과 코드를 제안할 수 있습니다.
2021년 10월에 처음 도입된 GitHub Copilot은 현재 130만 명 이상의 유료 가입자와 50,000개 이상의 조직에서 사용되고 있다고 GitHub CEO Thomas Dohmke가 최근 LinkedIn 게시물에서 밝혔습니다. AI 지원 도구는 30억 줄 이상의 허용된 코드 라인을 생성했습니다.
사용자는 평균적으로 거의 30%의 코드 제안을 수락했으며, 개발자가 도구에 익숙해짐에 따라 이 수치가 상승했다고 Dohmke는 2023년 6월 게시물에서 934,533명의 GitHub Copilot 사용자에 대한 샘플 분석을 인용하여 말했습니다.
그는 30%의 생산성 비율과 2030년 예상 개발자 4,500만 명을 기준으로 생성 AI 개발자 도구가 잠재적으로 2030년까지 글로벌 역량에 1,500만 명의 "유능한 개발자"를 추가하여 GDP를 1조 5천억 달러 이상 늘릴 수 있다고 말했습니다.
GitHub Copilot 사용자는 또한 이 도구를 사용하여 코딩 속도가 55% 더 빨라졌다고 보고했으며 활성화된 파일에서 AI 기반 기술로 코드의 46%가 완성되었다고 덧붙였습니다.
그러나 자율주행차와 마찬가지로 AI 지원 개발 도구는 인간 개발자와 코드 검토 프로세스를 대체할 수 없다고 Hanley는 말했습니다. 그들은 동반 도구이며 이름에서 알 수 있듯이 소프트웨어 개발자의 부조종사는 인간과 함께 작업할 때 더 효과적입니다.
