GitHub AI & ML수정일

비밀 보호는 소프트웨어와 함께 확장되어야 합니다

개발자들이 더 부주의해지고 있는 것이 아닙니다. 그들은 뒤처지고 있을 뿐입니다. 개발자가 더 많은 소프트웨어를 만들 수 있게 해주는 도구는 소프트웨어를 보호하는 일도 더 많이 담당해야 합니다. The post Secret protection must scale with software appeared first on The GitHub Blog .

Geometric blocks featuring the GitHub invertocat logo and a web icon in a decorative background.
이미지 출처 · GitHub AI & ML

오늘, GitHub의 풀 리퀘스트 3건 중 1건은 AI 에이전트와 관련되어 있습니다1년 전에는 그 수치가 10명 중 1명도 채 되지 않았습니다. 이런 속도가 유지된다면, 앞으로 2년 안에 GitHub에 푸시되는 코드의 대부분은 에이전트가 작성할 수 있습니다. 그중 상당 부분은 인간이 끝까지 읽지 못할 수도 있습니다.

개발자와 에이전트가 더 빠르게 움직인다면, 보호 조치가 가속화되는 코드 생성 속도를 따라갈 수 있도록 보장할 책임이 우리에게 있습니다. 이는 더 많은 유출을 사전에 방지하고, 남아 있는 노출 사례에 대한 대응이 수작업 인력에 덜 의존하도록 만드는 것을 의미합니다.

유출된 비밀 정보의 중요한 전환점이다. 개발자들이 더 부주의해진 것이 아니라, 기술의 발전 속도에 뒤처지고 있는 것이다. 개발자가 더 많은 소프트웨어를 만들 수 있게 해주는 도구들은 소프트웨어를 보호하는 작업도 더 많이 떠맡아야 합니다.

이 글에서는 그 주장을 뒷받침하는 9개 분기치 데이터를 공유합니다. 또한 Microsoft Applied Sciences와 함께 구축한 파인튜닝된 분류기를 소개하는데, 이를 통해 구조화되지 않은 시크릿까지도 푸시 보호를 확장할 수 있습니다. 이 모델은 2밀리초 미만으로 후보 시크릿 전체 집합을 평가하며, 우리가 차단할 수 있는 시크릿 수를 두 배 이상 늘릴 수 있습니다.

뒤처진 것이지, 부주의한 것이 아니다

공개된 코드에는 약 2초마다 새로운 비밀 정보가 노출되며, 지난 3년간 매년 두 배씩 증가하고 있습니다. 공론장에서는 AI가 개발자들을 부주의하게 만들었다는 생각으로 빠르게 기우는 경향이 있습니다.

2024년 2분기와 2026년 2분기 사이에 스크리닝된 푸시가 증가했습니다 2.84배 자격 증명을 실은 푸시가 늘어나는 동안 2.59배. 9개 분기 전체 데이터를 분석한 결과, 푸시당 유출률에 관해 통계적으로 감지 가능한 추세는 발견되지 않았습니다. 동시에, 개발자들이 그 어느 때보다 우발적인 노출의 위험을 이해하고 있으며 그 위험을 수용하려는 의지가 약해졌다는 것을 시사하는 데이터를 발견했습니다. 같은 기간 동안 개발자들에 의해 무시된 푸시 경로 차단의 비율은 다음 수치에서 선형적으로 감소했습니다: 6.63%에서 3.93%로. 이러한 수치는 에이전트가 개발자들을 더 부주의하게 만들고 있다는 통념에 반박한다.

푸시는 더 많아졌지만 푸시 유병률은 뚜렷한 상승 없음2026년 2분기 · 574M 푸시 · 0.47%에서 시크릿 발견2024년 2분기~2026년 2분기 공개 푸시. 푸시 유병률은 시크릿이 탐지된 푸시의 비율입니다. GitHub 자체 토큰을 포함한 지원되는 공급자 패턴을 다룹니다.

고정된 비율에서는 활동이 두 배가 되면 기대 노출량도 두 배가 됩니다. 각 노출에 동일한 사람의 대응이 필요하다면, 업무량 역시 두 배가 됩니다. 비밀을 수동으로 폐기하는 데 걸리는 평균 시간은 대략 다음과 같습니다 40일; 대략 5명 중 1명은 90일 이상이 걸렸습니다`. We’re accelerating the creation of software while exposed credentials can remain usable for weeks or months, because human remediation can’t scale at the same pace as development.` 소프트웨어 생성 속도는 가속화되고 있는 반면, 노출된 자격 증명은 몇 주 혹은 몇 달 동안 계속 사용 가능한 상태로 남을 수 있습니다. 인간에 의한 조치는 개발 속도만큼 확장될 수 없기 때문입니다.

개발자들에게 더 신중하라고 말하는 것만으로는 그 문제를 해결할 수 없습니다. 코드의 양이 늘어남에 따라, 소프트웨어 개발이 지속 가능하게 유지되려면 더 많은 노출을 방지하고 남아있는 노출에 필요한 인적 노력을 줄여야 합니다.

예방은 컴퓨팅 파워에 비례해 확장된다

저는 지난 몇 년간 GitHub에서 시크릿 스캐닝(secret scanning) 업무를 해왔고, 지난 1년간은 해당 분야의 제품 리드로 활동했습니다. 저희가 가장 큰 성과를 낸 부분은 탐지에서 이를 실행할 수 있는 시스템까지 점과 점을 연결하는 것이었습니다.

GitHub의 카탈로그는 우리의 150개 이상의 기술 파트너를 다룹니다. 시크릿 스캐닝 파트너 프로그램입니다. 파트너 프로그램을 통해 우리는 참여하는 시크릿 발급사들과 협력하여 탐지기를 구축하고 공개된 노출 사례를 보고해 대응할 수 있도록 합니다. 2026년 2분기에 공개 스캐닝은 반복 관측 건을 포함해 평균 초당 26건의 자격 증명 일치를 성공적으로 보고했습니다. 통지를 받은 후 이러한 파트너 중 상당수는 토큰을 즉시 폐기합니다: OpenAI API 키, Google Cloud 계정 자격 증명, Slack 웹훅, Hugging Face 사용자 토큰, SendGrid 키 등이 그 예입니다. 소유자는 여전히 토큰을 교체해야 할 수 있지만, 폐기는 개발자가 GitHub 알림을 찾아 처리하기를 기다리지 않고도 이루어질 수 있습니다.

푸시 프로텍션은 더 이른 단계에서 개입합니다. 인식 가능한 자격 증명이 저장소 기록에 들어가기 전에 이를 차단하여, 개발자나 에이전트가 노출 사례를 조사해야 하는 상황이 되기 전에 변경 사항을 수정할 기회를 제공합니다. 우리는 기술 파트너들과 협력하여 그들의 탐지기의 정밀도를 최대한 높이고, 개발자 커뮤니티를 위해 이러한 시크릿을 기본적으로 푸시 프로텍션할 수 있을 만큼 확신이 생길 때까지 기다립니다.

파트너 여러분의 노력 덕분에 지난 한 달 동안 최소 초당 한 번씩 비밀 정보가 푸시 보호에 의해 차단되었습니다. 발급자에 묶인 자격 증명의 경우, GitHub는 새어 나가는 비밀 정보보다 더 많은 비밀 정보를 차단하고 있습니다. 개발자들에게 그것이 지극히 평범한 일처럼 느껴지도록 만든 점이 자랑스럽습니다.

수습은 사람에 비례해서 확대됩니다

추가적인 비밀 정보 유형을 포함하면, 푸시 보호는 새로 탐지된 비밀 정보의 약 30%를 저장소 기록에 들어가기 전에 차단합니다. 남은 70%는 안타깝게도 자격 증명이 이미 유출된 후에야 발견됩니다. 그리고:

  1. 예방은 컴퓨팅 자원에 비례해 확대되지만, 수습은 여전히 사람에 비례해 확대됩니다.
  2. 푸시를 거부하는 것은 컴퓨팅 비용을 들이는 일이지만, 이미 공개된 기록에 유출된 비밀 정보를 정리하는 것은 개발자의 시간과 주의력을 소모하는 일입니다.
  3. 코드의 양이 늘어남에 따라 더 많은 노출을 예방하고 남아있는 노출에 필요한 인적 노력을 줄여야 하며, 그렇지 않으면 새로 도입되는 취약점의 양이 감당할 수 없는 수준이 될 것입니다.

개발자들에게 더 신중하라고 말하는 것만으로는 이러한 불균형을 해결할 수 없습니다. 이러한 시크릿을 더 많이, 그리고 개발 흐름에서 더 이른 단계에 인식하는 일은 플랫폼이 떠맡아야 할 과제입니다.

4체 문제 풀기

비밀이 푸시 경계를 넘어가기 전에는 이를 막는 비용이 적고 결정은 이분법적입니다. 차단할지 허용할지입니다. 경계를 넘어간 후에는 동일한 문자열이 실제 시스템에 대한 인증에 사용될 수 있으며 비용은 무한해집니다.

많은 경우, 우리가 사용할 수 있는 유일한 탐지 단서는 주변 코드와 세계 맥락(world context)일 수 있습니다. 공급자가 발급한 토큰은 식별 가능한 접두사를 가질 수 있습니다. 내부 데이터베이스 비밀번호는 완전히 비정형(non-structured)일 수 있어 식별 패턴이 전혀 없습니다. 우리는 이미 푸시 후 이러한 시크릿을 찾을 때 맥락을 활용하고 있었습니다. 문제는 그 맥락 인식 판단을 다른 요소들과 균형 있게 조율하는 것이었습니다.

우리는 이를 비밀 보호를 위한 "4체 문제"라고 부릅니다: 정밀도, 지연 시간, 처리량 및 비용 결합된 제약 조건들입니다. 예방은 개발자의 시간을 들일 만한 가치가 있어야 합니다. 나중에 검토하기에 적합한 발견 사항은 푸시를 차단할 정도를 정당화하지 못할 수 있습니다. 거짓 양성(false positive)은 개발자의 작업을 방해하고 다음 차단을 신뢰하기 어렵게 만듭니다. 너무 느리거나, 비용이 많이 들거나, 확장하기 어려운 검사는 실행 빈도를 제한합니다.

2 ms 미만의 푸시 한 번으로 보호

GitHub의 AI 기반 범용 시크릿 탐지 모델은 주변 코드 컨텍스트를 활용하여 데이터베이스 URL, Kubernetes Secret 매니페스트, Dockerfile의 비밀번호와 유사한 값은 차단하면서 placeholder changeme는 허용합니다.

우리의 새로운 ModernBERT 분류기는 코드나 산문을 생성하지 않고 후보 시크릿을 맥락 속에서 평가합니다. 기존의 LLM 기반 파이프라인보다 정밀할 뿐만 아니라, 매우 빠르게 2밀리초 미만으로 후보 배치를 평가합니다. 또한 비용 효율이 매우 높아, 중요 경로에서 대규모로 실행하기에 충분합니다.

푸시 보호에 당사 모델이 포함됨으로써 우리가 차단할 수 있는 시크릿 수를 두 배 이상으로 늘릴 수 있게 되었습니다. 이 기능은 현재 비공개 프리뷰 상태입니다. 이번 달 말에 이 기능은 Enterprise Cloud 및 GitHub Teams 전반에서 GitHub Secret Protection을 보유한 조직에 제공될 예정입니다. 이 기능은 AI 크레딧을 소비합니다.

또한 이 푸시를 넘어 개발자 서비스 영역에도 해당 모델을 제공할 예정입니다.

  • 오늘부터 모든 AI 비밀 탐지 기능을 갖춘 조직 ~할 것입니다 이다 자동으로 업데이트됨: 새 모델. 이러한 푸시 후 스캔에서 발생한 알림은 조직이 시크릿 스캐닝 구매에 추가 비용 없이 포함됩니다.
  • 그 해당 모델은 GitHub Enterprise Server 3.23과 함께도 제공될 예정입니다. 퍼블릭 프리뷰 단계, 에어갭(air-gapped) 환경에서도 Secret Protection 고객에게 AI 탐지 경보를 제공합니다.
  • 저희는 이 분류기를 /security-review Copilot CLI 및 Copilot App용명령에 추가하고 있습니다. 이를 통해 Copilot 사용자는 조직의 GitHub Secret Protection 플랜이 없어도 푸시 이전에 시크릿을 처리할 수 있습니다. AI 크레딧 사용량은 AI 사용 인사이트에서 GitHub Secret Protection으로 집계됩니다.

앞으로의 전망

저희가 원하는 미래는 개발자가 모든 요청을 일일이 감독하지 않고도 에이전트에 더 많은 작업을 맡길 수 있는 미래이며, 조직이 자격 증명을 안전하게 유지하기 위해 필요한 인력 규모가 작성하는 코드의 양에 더 이상 비례하지 않는 미래입니다. 저희는 소프트웨어를 생산하는 데 제공하고 있는 것과 같은 발전을 소프트웨어를 보호하는 데도 개발자 커뮤니티에 제공해야 합니다.

저희는 사람들이 더 많은 소프트웨어를 만들기를 바랍니다. 이를 보호할 수 있는 저희의 역량은 창조하는 역량과 함께 성장해야 합니다.

이 게시물 시크릿 보호는 소프트웨어와 함께 확장되어야 합니다 최초 게시 위치: The GitHub Blog.

원문 출처

GitHub AI & ML

내용 안내

원문 발행 및 권리는 출처에 있습니다.

기계 번역 · 원문을 참고하세요