4억 6,600만 줄의 코드 스캔 시간을 20시간으로 단축
오래된 소프트웨어를 유지보수하는 개발자는 문서가 없거나 보안 취약점이 방치된 레거시 코드(과거에 작성되어 현재의 표준에 맞지 않는 낡은 코드)와 씨름하며 많은 시간을 낭비한다. 앨버타 정부는 이러한 문제를 해결하기 위해 Claude Code를 도입해 4억 6,600만 줄의 코드를 20시간 만에 스캔하고 보안 결함을 찾아냈다. 수작업으로 대응하기 어려운 규모의 시스템을 AI 에이전트로 스캔해 보안성을 확보한 사례다.
앨버타 기술혁신부는 사회 서비스부터 공공 안전, 산불 대응까지 27개 주 정부 부처가 사용하는 시스템 전체를 관리한다. 대상은 약 1,280개의 애플리케이션과 3,400개의 코드 저장소(Repository)에 달한다. 대부분의 시스템에 보안 취약 코드나 미해결 버그가 누적되어 있었으며, 특히 세금 기록, 정부 조달 데이터, 사회 서비스 사례 파일 등 민감한 정보가 포함되어 있어 2025년부터 전담 팀을 구성해 보안 강화 작업에 착수했다.
이번 보안 점검에는 Claude Code의 Opus 및 Sonnet 모델이 투입되었다. 약 50개의 에이전트(특정 목표를 달성하기 위해 자율적으로 작동하는 AI 프로그램)가 병렬로 작동하며 보안 취약점, 인프라 및 배포 프로세스의 약점, 기술 문서의 공백을 조사했다. 이 과정에서 Claude Code는 기존의 전통적인 자동 스캔 도구들이 놓쳤던 문제들까지 식별했다. 앨버타 정부 팀은 이 방식을 통해 전통적인 방식으로는 약 6.5년이 소요되었을 분량의 검토를 20시간 만에 완료했다.
규칙 엔진과 레드·블루팀 에이전트의 2단계 검증 구조
보안 엔지니어가 화면에 뜬 경고 표시를 클릭하자 문제가 된 코드의 정확한 파일 경로와 줄 번호가 나타났다. 앨버타 정부는 단순한 키워드 검색을 넘어 2단계 검증 루틴을 적용해 탐지 정확도를 높였다. 1단계에서는 규칙 엔진(Rules Engine, 미리 정의된 보안 취약점 패턴을 빠르게 찾아내는 도구)이 전체 저장소를 훑으며 알려진 위험 패턴을 식별해 플래그를 세운다. 2단계에서는 Claude가 이 플래그가 달린 파일과 라인을 직접 분석하고 정확히 인용하며 실제 취약점 여부를 검증한다. 이 방식은 기존 자동화 도구가 놓치기 쉬운 복잡한 맥락의 결함을 식별한다.
실제 공격자의 관점에서 시스템을 파괴하려는 시도와 이를 막으려는 방어 전략이 가상 공간에서 충돌한다. 레드팀 에이전트는 애플리케이션 외부에서 침투 경로를 탐색하며 취약점이 어떻게 악용될 수 있는지에 대한 공격 경로 매핑을 수행한다. 이에 대응하는 블루팀 에이전트는 국제 보안 표준을 기준으로 현재의 방어 체계를 평가하고 구체적인 수정 계획을 작성한다. 블루팀은 수정이 필요한 정확한 파일 위치를 지정해 해결책을 제시하며, 보안 패치를 적용하기 전 공격 경로를 미리 차단한다.
이 모든 자율 작동 체계는 Claude Agent SDK(AI 에이전트 개발 키트)를 기반으로 설계되어 개발 프로세스 전반에 통합되었다. 에이전트들은 매 패스마다 약 95개의 보안 컨트롤(Security Controls, 시스템 보안성을 확인하기 위해 설정한 세부 점검 항목)을 적용해 코드를 전수 조사한다. 이 과정에서 코드 자체의 결함뿐 아니라 기반 인프라의 취약점과 배포 프로세스의 허점까지 함께 분석해 보안 검토의 일관성과 속도를 확보했다.
5개월 분량의 재구축 작업을 5일로 단축한 실무 성과
취약점 탐지를 넘어, 실제 코드를 수정하고 시스템을 재구축하는 단계에서도 AI의 효율성이 입증되었다. 앨버타 정부는 Claude Code가 패치(Patch, 소프트웨어의 결함을 수정하는 조각 코드)를 적용하기 전 자동화된 테스트를 먼저 수행하도록 설계했다. 만약 패치의 안전성을 확인할 테스트 코드가 없는 환경이라면 Claude가 테스트 코드를 먼저 작성하고, 이를 통해 검증된 상태에서만 수정을 진행했다. AI가 코드 수정 후 시스템 전체에 미칠 영향을 테스트 코드로 검증하는 방식이다.
앨버타 정부는 25년 전 Java(자바)로 작성된 보조금 포털 시스템을 재구축했다. 해당 시스템은 최초 구축 당시 5개월이 소요되었으나, 기존 코드가 너무 낡고 복잡해 부분적인 패치만으로는 효율적인 운영이 불가능하다고 판단했다. 이에 Claude를 통해 시스템 전체를 현대적 언어로 다시 짰으며, 결과적으로 과거 5개월이 걸렸던 작업을 4~5일 만에 완료했다. AI가 25년 전 설계 구조를 분석해 최신 코딩 방식으로 변환한 결과다.
앨버타 정부는 유지보수 비용이 과도하게 발생하고 업데이트가 어려운 레거시(Legacy) 애플리케이션 185개를 대상으로 분석을 진행하고 있다. 이 앱들을 분석해 공통 기능을 추출하고, 이를 재사용 가능한 16개의 현대적 애플리케이션으로 통합할 예정이다. 다만 모든 자동화 과정의 최종 결정권은 인간이 갖는다. 모든 패치와 재구축 코드는 실제 배포 전 정부 엔지니어 팀의 리뷰와 승인을 거치는 인적 검토 단계를 필수적으로 통과해야 한다.
공공 부문 기술 부채(Technical Debt) 해결의 벤치마크
기술적 성과를 조직 전체의 역량으로 전환하기 위해 앨버타 AI 아카데미를 운영했다. 이를 통해 수천 명의 공무원과 1만 명 이상의 일반인에게 프롬프팅부터 기업용 애플리케이션 배포까지 AI 활용 필수 교육을 실시했다. AI 에이전트 도입과 함께 교육을 병행해 조직의 기술 역량을 높였으며, 실무자가 AI로 코드 맥락을 빠르게 파악하게 함으로써 인수인계 비용과 문서화 공백을 줄였다.
앨버타 정부는 다른 정부 기관이 유사한 문제를 해결할 때 참고할 수 있도록 구체적인 구현 방법이 담긴 기술 백서(White Papers)를 공개했다. 내부적으로 검증한 보안 스캔 루틴과 에이전트 협업 구조를 표준화하여 외부로 공유함으로써 공공 부문의 기술 현대화 청사진을 제시했다. 또한 올해 가을부터 이러한 접근 방식을 주 정부 전체로 확대 적용하는 프로그램을 시작할 계획이다.
방대한 레거시 시스템을 보유한 조직이 AI 에이전트로 현대화를 추진할 때 필요한 시간과 효율성을 확인하는 지표가 된다. 전 세계 정부 기관이 AI를 통해 보안성을 확보하고 시스템을 최신화하는 구체적인 방법을 제시한다.
수개월이 소요될 보안 점검을 20시간으로 단축한 결과는 기술 부채 해결의 물리적 한계를 무너뜨렸다. 개발자는 이제 문서 없는 낡은 코드에서 취약점을 찾는 소모적 과정 대신, AI 에이전트가 분류한 결함을 최종 검증하고 수정하는 결정적 단계에만 집중한다. 이는 단순한 속도 향상을 넘어 보안 검토의 일관성을 확보하는 체계의 변화다.
보유한 레거시 코드의 규모와 보안 기준을 대조하여 AI 에이전트 도입 시 단축 가능한 실제 소요 시간을 가늠하는 것이 현대화 전략의 실질적인 판단 기준이 된다.



