← 최신 논문
💻 computer science

Can Developers rely on LLMs for Secure IaC Development?

이 연구는 보안이 중요한 IaC(Infrastructure as Code) 개발을 위해 GPT-4o와 Gemini 2.0 Flash를 평가하며, 가이드가 포함된 프롬프트가 단순화된 코드 조각과 실제 저장소 모두에서 보안 스멜(security smell) 탐지를 개선하지만, 두 모델 모두 명시적인 지시가 있을 때조차 보안 표준을 충족하는 출력물이 극소수에 불과하여 보안 코드를 생성하는 데 여전히 어려움을 겪고 있다는 점을 밝혀냈다.

원저자: Ehsan Firouzi, Shardul Bhatt, Mohammad Ghafari

게시일 2026-02-04
📖 3 분 읽기☕ 가벼운 읽기

원저자: Ehsan Firouzi, Shardul Bhatt, Mohammad Ghafari

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

당신이 집을 짓고 있다고 상상해 보세요. 하지만 벽돌과 모르타르 대신, 벽, 창문, 그리고 보안 시스템을 자동으로 조립하는 코드를 사용합니다. 이것을 **코드형 인프라(Infrastructure as Code, IaC)**라고 부릅니다. 마치 당신을 위해 디지털 인프라를 구축해 주는 로봇을 가진 것과 같습니다.

문제는, 만약 당신이 로봇에게 잘못된 설계도를 준다면, 로봇은 문이 잠기지 않았거나, 창문이 길가를 향하고 있거나, 금고 열쇠가 현관문에 테이프로 붙어 있는 집을 지을 수도 있다는 점입니다. 이러한 실수들을 **"보안 냄새(security smells)"**라고 부릅니다.

이 논문의 저자들은 중요한 질문을 던졌습니다: 우리는 AI 챗봇(GPT-4o나 Gemini 같은)이 이 설계도를 안전하게 작성하거나, 그 안의 실수를 찾아내는 것을 믿어도 될까요?

연구 결과는 다음과 같으며, 이해하기 쉽게 몇 가지 이야기로 나누어 정리했습니다.

1. "실수 찾기" 테스트 (탐지)

연구진은 AI에게 두 가지 유형의 과제를 주었습니다. 짧은 코드 조각(Stack Overflow에서 볼 수 있는 것들)에서 오류를 찾는 것과, 실제 프로젝트 파일 전체(GitHub에서 가져온 것)에서 오류를 찾는 것이었습니다.

  • "모호한 요청" 시나리오: 보안 요원에게 "이 집을 보고 안전한지 말해줘"라고 요청하는 상황을 상상해 보세요.
    • 결과: AI는 짧은 코드 조각에서 명백한 문제를 찾아내는 데는 괜찮았습니다(성공률 약 70-80%). 하지만 전체적이고 복잡한 프로젝트를 볼 때는 위험한 결함의 절반 이상을 놓쳤습니다. 이는 마치 경비원이 잠기지 않은 앞문은 발견했지만, 깨진 뒷창문은 놓친 것과 같았습니다.
  • "단계별" 시나리오: 연구진은 AI에게 구체적인 체크리스트를 주었습니다: "먼저 잠금장치를 확인해. 둘째, 창문을 확인해. 셋째, 이전 소유자가 남긴 메모를 찾아봐."
    • 결과: 이 방식이 훨씬 더 효과적이었습니다. AI의 실수 발견 능력은 크게 뛰어올랐습니다(한 모델의 경우 거의 90%에 도달).
    • 함정: AI가 실수를 찾아내더라도, 구체적인 해결책을 제시하는 경우는 드물었습니다. 이는 마치 경비원이 "저 창문이 깨졌어요"라고 말만 할 뿐, 창문을 교체할 유리판을 건네주지는 않는 것과 같았습니다.

2. "짓기" 테스트 (생성)

다음으로, 연구진은 특정 요청에 따라 처음부터 새로운 설계도를 직접 만들도록 AI에게 요청했습니다. 여기에는 AI가 실수를 저지르도록 유도하는 요청(예: "약한 자물쇠를 사용해" 또는 "코드 안에 비밀번호를 남겨둬")도 포함되었습니다.

  • 결과: 이 부분에서 AI는 가장 고전했습니다.
    • 보안이 철저한 집을 지으라는 요청을 받았을 때, AI가 보안이 철저한 집을 만든 경우는 단 **7%**뿐이었습니다.
    • 나머지 93%의 경우, AI는 숨겨진 함정(보안 결함)이 있는 집을 지었으며, 심지어 그 함정이 있다는 경고조차 하지 않았습니다.
    • 연구진이 명시적으로 "이것을 안전하게(SECURE) 만들어!"라고 소리치듯 강조했음에도 불구하고, AI는 여전히 약 80%의 확률로 보안이 취약한 집을 지었습니다.

3. "따라 하기" 효과

연구진은 AI가 이전에 보았던 나쁜 사례들을 단순히 복사하고 있는 것인지도 확인했습니다. 그 결과, AI가 생성한 코드는 인간이 작성한 포럼의 "정답"보다는 다른 AI가 생성한 코드와 더 닮아 있다는 것을 발견했습니다. 이는 마치 AI가 전문가로부터 배우는 것이 아니라, 모두가 똑같은 실수를 저지르는 집단으로부터 학습한 것과 같습니다.

결론

이 논문은 현재로서는 AI만 믿고 당신의 디지털 인프라를 안전하게 유지할 수는 없다고 결론짓습니다.

  • 오류를 찾는 데 있어서: 도움이 되지만, 매우 구체적이고 단계적인 지침을 주어야만 합니다. 가이드가 없다면 너무 많은 위험을 놓칩니다.
  • 코드를 작성하는 데 있어서: 처음부터 보안 코드를 쓰게 하는 것은 현재 너무 위험합니다. AI는 빈번하게 문이 열려 있는 "집"을 짓고도 그것이 안전하지 않다는 사실을 알려주지 않습니다.

비유: AI를 매우 빠르고 자신감 넘치는 견습 건축가라고 생각하세요. 만약 당신이 "이것을 고쳐줘"라고 요청하면, 몇몇 균열은 찾아낼 수 있을 것입니다. 하지만 "요새를 지어줘"라고 요청한다면, AI는 아마 종이 자물쇠가 달린 판지 성을 만들 것이고, 그것이 실제로 안전하지 않다는 사실조차 당신에게 말해주지 않을 것입니다. 당신은 여전히 모든 것을 재검토할 인간 전문가가 필요합니다.

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

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

Digest 사용해 보기 →