앨버타 정부, 클로드 코드로 4억 6600만 줄의 코드를 수시간 내에 스캔하고 수정

TL;DR

앨버타 주 정부는 앤트로픽의 클로드 코드(Opus 및 손넷)를 사용해 4억 6600만 줄의 코드를 20시간 내에 스캔하고, 자동으로 패치를 생성하고 테스트하며, 지속적인 AI 기반 보안 에이전트를 구축함으로써 수년에 걸친 작업을 일주일 내로 압축했습니다.

이 프로젝트 개요

앨버타 주 기술 및 혁신부는 주 내 27개 모든 부서의 소프트웨어 스택을 관리하며, 약 1,280개의 애플리케이션과 3,400개의 코드 저장소를 포함하고 있습니다. 이 코드의 대부분은 체계적인 보안 검토를 받지 못했으며, 세금 기록과 사회복지 사례 파일과 같은 매우 민감한 데이터 노출과 함께 수십억 달러의 기술 부채를 야기했습니다. 2025년 기술부는 앤트로픽의 클로드 코드와 협력해 이러한 위험을 대규모로 해결하기 위한 내부 팀을 구성했습니다.

거대한 코드베이스 평가

  • 범위: 주가 보유한 모든 저장소를 아우르는 4억 6600만 줄의 코드
  • 자원: 약 50개의 자율적인 클로드 에이전트가 병렬로 실행됨
  • 과정: 두 단계 절차 — 먼저 규칙 기반 엔진 스캔으로 알려진 취약점 패턴을 탐지한 후, 클로드 기반 리뷰를 통해 각 발견 사항에 대해 정확한 파일과 줄 번호를 제시함
  • 결과: 스캔이 20시간 내에 완료되었으며, 팀은 전통적인 방법으로는 약 6.5년이 소요될 것으로 추정합니다. AI는 기존 정적 분석 도구가 놓친 문제들을 식별했습니다.

자동화된 취약점 보완

  • 패치 생성: 클로드 코드는 대부분의 탐지된 취약점에 대한 수정을 생성하고, 필요 시 누락된 테스트를 작성하며, 오래된 컴포넌트를 현대 언어로 재구성했습니다.
  • 속도: 예를 들어 25년 된 자바 보조금 포털은 원래 5개월 개발 주기 대비 4~5일 만에 재구축되었습니다.
  • 인간 감시: 모든 패치는 배포 전에 주 정부 엔지니어가 검토하고 승인하여 안전성과 규정 준수를 보장했습니다.

지속적인 AI 기반 보안 검토

  • 전문 에이전트: 클로드 에이전트 SDK 기반으로 구축된 다음과 같은 에이전트를 도입했습니다:
    • 외부 공격을 시뮬레이션하여 악용 경로를 매핑하는 레드팀 에이전트
    • 국제 보안 기준에 따라 방어력을 평가하고 정확한 파일 참조를 포함한 보완 계획을 생성하는 블루팀 에이전트
    • 코드 품질 및 공개 문서 기준을 강제하는 추가 에이전트
  • 커버리지: 각 애플리케이션은 매번 약 95개의 보안 컨트롤을 기준으로 검토되어 개발 생애 주기 전반에 걸쳐 지속적인 신뢰를 제공합니다.

앨버타 AI 아카데미를 통한 역량 강화

  • 교육 대상: 수천 명의 정부 직원과 1만 명 이상의 일반 시민이 프롬프팅, 기업용 애플리케이션 배포, 책임 있는 AI 활용에 관한 AI 사용 교육을 수료했습니다.
  • 목표: 클로드 기반 보안 워크플로를 단일 팀에서 주 내 모든 부서로 확장하는 것입니다.

미래 계획 및 확장 전략

  • 새로운 소프트웨어 생성: 기술부는 엔지니어와 함께 완전히 새로운 도구를 개발할 수 있는 AI 에이전트 개발을 계획하고 있습니다.
  • 레거시 통합: 한 부서의 185개 레거시 애플리케이션을 분석하고 문서화한 후, 16개의 재사용 가능한 현대 애플리케이션으로 통합하여 유지보수 비용과 현대화 기간을 줄일 예정입니다.
  • 주 전체 롤아웃: 가을 프로그램을 통해 클로드 기반 접근 방식을 주 내 모든 부서로 확장할 계획입니다.

다른 정부를 위한 모범 사례

앨버타의 경험은 벨로시티 화이트페이퍼 사이트에서 제공하는 기술 보고서 시리즈에 문서화되어 있으며, 7월 에드먼턴에서 열리는 산업 행사에서 공유될 예정입니다. 이러한 자료는 유사한 기술 부채와 보안 도전 과제를 겪는 다른 지방 정부가 따라할 수 있는 재현 가능한 프레임워크를 제공합니다.

관련 앤트로픽 발표

  • Fable 5의 생물학적 보호 기능 개선 – 자세한 내용은 앤트로픽 블로그를 참조하세요.
  • 마리아노-플로렌티노(티노) 쿠엘라르, 앤트로픽의 수석 글로벌 업무 책임자로 임명 – 배경 정보는 발표문을 읽어보세요.

Sources

관련

  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch
  • Dispatch