← 최신 논문
💻 computer science

Does Fixing Break Security? An Empirical Study of Security Degradation in Iterative LLM-Driven Infrastructure-as-Code Repair

이 경험적 연구는 5,968건의 반복적인 LLM 기반 IaC(Infrastructure-as-Code) 복구 시나리오를 분석하여, 표준 탐지 하에서는 보안 회귀가 최대 13.8%의 사례에서 발생하지만, 더 보수적인 엄격 모드(strict-mode) 분석을 적용하면 주로 리소스 재구조화에 의해 유발되는 방어 가능한 수준인 3.3%의 저하율을 보이며, 3회 반복 후 복구를 중단함으로써 이를 완화할 수 있음을 밝혀냈다.

원저자: Benjamin Agyekum, Fabio Santos

게시일 2026-08-14
📖 5 분 읽기🧠 심층 분석

원저자: Benjamin Agyekum, Fabio Santos

원본 논문은 CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) 라이선스로 제공됩니다. 이것은 아래 논문에 대한 AI 생성 설명입니다. 저자가 작성하거나 승인한 것이 아닙니다. 기술적 정확성을 위해서는 원본 논문을 참조하세요. 전체 면책 조항 읽기

당신이 디지털 블록으로 거대하고 정교한 성을 짓고 있다고 상상해 보세요. 이것은 단순한 성이 아닙니다. 인터넷, 당신이 즐겨 사용하는 앱, 그리고 클라우드 서비스를 실행하는 인프라입니다. 소프트웨어 공학의 세계에서 이를 **코드형 인프라(Infrastructure-as-Code, IaC)**라고 부릅니다. 메뉴에서 버튼을 클릭하는 대신, 엔지니어들은 컴퓨터에게 이 디지털 성을 어떻게 지을지 정확히 알려주는 텍스트 파일(코드)을 작성합니다. 최근에는 우리는 LLM(대규모 언어 모델)이라고 불리는 초지능형 AI 비서를 사용하여 우리 대신 이 코드를 작성하기 시작했습니다. 이는 마치 몇 초 만에 설계도를 그려내는 로봇 건축가를 고용하는 것과 같습니다.

하지만 여기 함정이 있습니다. 로봇은 실수를 합니다. 때때로 로봇이 그린 설계도에는 보안 구멍이 있을 수 있습니다. 예를 들어 앞문을 활짝 열어두거나 보물 상자의 잠금장치를 잊어버리는 식이죠. 이를 해결하기 위해 우리는 '피드백 루프'를 사용합니다. 우리는 보안 스캐너(디지털 검사관)를 실행하여 로봇의 작업물을 점검하고, 실수를 지적하며, 나쁜 소식을 로봇에게 다시 전달합니다. 그러면 로봇은 코드를 수정하여 다시 검사를 받습니다. 이 성이 매 라운드마다 더 안전해지기를 바라며 이 사이클은 반복됩니다. 여기서 핵심적인 질문은 다음과 같습니다: 하나의 문제를 고치는 과정에서 이미 안전했던 다른 무언가를 실수로 망가뜨리지는 않을까? 이것은 마치 배에 난 구멍을 때우려다가 실수로 선체에 구멍을 내는 것과 같습니다. 이 논문은 우리의 AI 조력자들이 실제로 상황을 더 안전하게 만들고 있는지, 아니면 그저 엉망진창으로 만들고 있는지를 확인하기 위해 바로 이 시나리오를 깊이 있게 파고듭니다.


로봇 건축가의 딜레마: 수정이 수정을 망칠 때

이 연구에서 연구자 Benjamin Agyekum과 Fabio Santos는 이러한 AI의 코드 수정 시도를 추적하기 위해 방대한 데이터셋을 가지고 탐정 놀이를 하기로 했습니다. 그들은 AI가 클라우드 인프라 코드를 구축하거나 수정하려고 시도한 거의 6,000개의 서로 다른 시나리오를 살펴보았습니다. 그들은 5번의 수정 라운드 동안 어떤 일이 일어나는지 관찰했으며, 30가지의 특정 보안 체크 항목(예: "데이터가 암호화되었는가?" 또는 "액세스가 차단되었는가?")을 추적했습니다.

그들의 주요 발견은 약간의 반전이 있습니다: 그렇습니다, 무언가를 고치는 것이 보안을 망가뜨릴 수 있지만, 처음 생각만큼 무서운 일은 아닙니다.

그들이 '표준적인' 방식으로 숫자를 계산했을 때, AI가 무언가를 고치려고 노력하는 동안 이전에 작동하던 보안 규칙을 깨뜨린 경우가 **13.8%**에 달한다는 것을 발견했습니다. 이는 많게 느껴지죠, 그렇지 않나요? 하지만 연구자들은 자신들의 계산 방식이 다소 까다롭다는 사실을 깨달았습니다. 코드는 종로 종종 여러 부분(건물의 여러 디지털 자물쇠처럼)을 포함하고 있기 때문에, AI가 하나의 자물쇠를 고치면서 실제 보안은 침해되지 않았음에도 불구하고 다른 자물쇠의 상태를 실수로 건드릴 수 있기 때문입니다.

그들이 명확하고 부정할 수 없는 사례, 즉 보안이 실제로 악화된 경우만을 찾아내는 '엄격한' 방식으로 계산 방식을 바꿨을 때, 그 수치는 단 **3.3%**로 급격히 떨어졌습니다. 이는 대부분의 '파손'이 실제 보안 재앙이 아니라, 코드의 복잡성으로 인해 발생한 혼란스러운 측정 오류였음을 시사합니다.

파손의 "이유"와 "방법"

그렇다면 AI가 정말로 실수를 할 때는 어떤 일이 벌어지는 걸까요? 연구자들은 그 원인이 거의 항상 **리소스 구조 재편(resource restructuring)**에 있다는 것을 발견했습니다. 로봇 건축가가 단순히 금을 때우는 대신 벽 전체를 완전히 새로 짓기로 결정했다고 상상해 보세요. 그 과정에서 새로운 벽에 보안 카메라를 다시 설치하는 것을 잊어버릴 수 있습니다. 보안이 실제로 퇴보한 사례의 **79%**에서 이런 일이 발생했습니다.

그들은 또한 AI 모델의 '성격'에 대해 흥적인 점을 발견했습니다. 한 모델(Mistral)은 표준 계산 방식을 사용할 때 다른 모델(Gemini)보다 무언가를 17배 더 자주 망가뜨리는 것으로 나타났습니다. 그러나 엄격한 방식을 사용했을 때, 두 모델 모두 독점적으로 무언가를 망가뜨리지는 않았습니다. 이는 '나쁜' 모델이 실제로 더 위험한 구멍을 만든 것이 아니라, 단지 계산 방식을 혼란스럽게 만드는 더 복적인 코드 구조를 생성했을 뿐이라는 것을 의미합니다.

스위트 스팟(Sweet Spot): 언제 수정을 멈출 것인가

가장 실용적인 발견 중 하나는 언제 멈춰야 하는가에 대한 것입니다. AI는 코드를 개선하기 위해 계속 시도하지만, 과연 멈추기는 할까요? 연구는 3번째 반복(AI가 코드를 수정하려고 시도하는 세 번째 시도)이 가장 적절한 지점(sweet spot)이라고 제안합니다.

  • 3번째 시도까지 코드는 약 **83.1%**의 보안성을 갖춥니다.
  • 만약 4번째나 5번째 시도까지 계속 간다면, 보안성은 거의 늘어나지 않지만(약 0.3% 증가), 무언가를 다시 망가뜨릴 위험은 커지기 시작합니다.

이는 라디오 튜닝과 같습니다: 어느 지점을 넘어서면, 다이얼을 돌려도 더 선명한 방송을 찾는 대신 잡음만 더 심해질 뿐입니다.

한 줄기 빛: 자기 수정

여기에 가장 희망적인 이야기가 있습니다. 연구자들은 AI가 실수로 보안 규칙을 깨뜨렸을 때, 그것이 스스로를 고치는 경우가 많다는 것을 발견했습니다. 약 **36.6%**의 경우, 바로 다음 라운드의 수정 단계에서 AI가 방금 저지른 실수를 바로잡았습니다. 이는 마치 로봇 건축가가 "앗, 문을 잘못 떼어냈네"라고 깨닫고 다음 단계에서 다시 붙여놓는 것과 같습니다.

하지만 그들은 또한 '줄다리기' 효과도 발견했습니다. 약 **28.5%**의 경우, 보안 체크가 통과, 실패, 통과, 실패를 반복하며 마치 멈출 곳을 정하지 못하는 추처럼 왔다 갔다 했습니다. 이는 주로 복잡한 액세스 제어에서 발생하며, AI가 해당 부분을 구축하는 최선의 방법을 여전히 파악하는 중임을 시사합니다.

결론

이 논문은 반복적인 AI 수정이 강력한 도구이지만, 그 성공을 측정하는 방식에 주의를 기울여야 한다고 말합니다.

  1. 모든 글리치(glitch)에 당황하지 마세요: 대부분의 겉보기 보안 파손은 실제 위험이 아니라 혼란스러운 측정상의 결과물입니다.
  2. 대규모 재작성을 경계하세요: AI가 작은 버그를 고치기 위해 코드의 전체 섹션을 허물기 시작한다면, 그때가 보안이 가장 빠지기 쉬운 때입니다.
  3. 세 번에서 멈추세요: AI가 코드를 고치도록 세 번 정도 시도하게 한 뒤, 그만두세요. 그 이상 진행하는 것은 보통 보상보다 위험을 더 많이 초래합니다.
  4. 올바른 도구를 사용하세요: 만약 매우 안전하게 가고 싶다면, 혼란스러운 다중 부분 오류를 무시하는 '엄격한' 방식을 사용하되, 만약을 대비해 '표준' 경고도 계속 주시하십시오.

요약하자면, AI는 유능한 견습생이지만, 언제 렌치를 놓아야 할지 알 수 있도록 인간 감독자가 필요합니다. 그렇지 않으면 볼트를 너무 세게 조여서 기계 전체를 부러뜨릴 수도 있습니다.

연구 분야의 논문에 파묻히고 계신가요?

연구 키워드에 맞는 최신 논문의 일일 다이제스트를 받아보세요 — 기술 요약 포함, 당신의 언어로.

Digest 사용해 보기 →