← 최신 논문
🤖 AI

Understanding the Impact of AI Code Assistants on Security API Usage: An Empirical Study

44명의 전문 개발자를 대상으로 한 이 실증적 연구는 GitHub Copilot이 기능적 정확성을 개선하고 일부 불안전한 패턴을 미미하게 감소시키기는 하지만, 안전한 보안 API 사용을 유의미하게 향상시키지는 못하며, 종종 개발자들이 남아 있는 취약점을 인지하지 못하게 만든다는 것을 밝혀냈다.

원저자: Zahra Mousavi, Chadni Islam, M. Ali Babar, Alsharif Abuadbba, Kristen Moore

게시일 2026-07-14
📖 4 분 읽기☕ 가벼운 읽기

원저자: Zahra Mousavi, Chadni Islam, M. Ali Babar, Alsharif Abuadbba, Kristen Moore

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

당신이 초특급 비밀 클럽하우스를 짓고 있다고 상상해 보세요. 침입자를 막기 위해 하이테크 잠금장치, 경보 장치, 그리고 비밀 통로를 설치해야 합니다. 이 잠금장치들은 소프트웨어를 보호하기 위해 개발자들이 사용하는 특수 도구인 보안 API와 같습니다. 하지만 반전이 있습니다. 이 잠록장치들은 까다롭습니다. 만약 잘못 설치한다면, 그 "비밀" 통로는 해커들에게 활짝 열린 문이 될 수도 있습니다.

이제 당신에게 코드를 대신 작성해 줄 수 있는 아주 똑똑한 로봇 조수, **코파일럿(Copilot)**이 있다고 상상해 보세요. 당신은 이렇게 생각할지도 모릅니다. "좋아, 로봇은 모든 규칙을 알고 있으니, 내 클럽하우스는 포트 녹스(Fort Knox, 난공불락의 요새)처럼 안전할 거야!" 하지만 호주의 대학과 연구소에 있는 자하라 무사비(Zahra Mousavi)와 그녀의 팀이 진행한 새로운 연구는 이 아이디어를 검증해 보기로 했습니다. 그들은 단순히 로봇에게 잠금장치를 만들라고 시킨 것이 아니라, 44명의 실제 전문 개발자들이 로봇의 도움을 받거나 받지 않고 이 잠금장치를 만드는 과정을 관찰했습니다.

다음은 그들이 발견한 사실을 현실적인 관점에서 정리한 내용입니다.

로봇은 훌ert 도움을 주는 조수이지만, 형편없는 보안 요원입니다

먼저 좋은 소식입니다. 코파일럿은 환상적인 속도광입니다. 개발자들이 복잡한 잠금장치(구체적으로 사용자 데이터에 접근하기 위한 구글 OAuth 시스템)를 구축해야 했을 때, 로봇은 그들이 작업을 훨씬 빠르게 마칠 수 있도록 도왔습니다.

  • 로봇 없이 작업했을 때, 개발자의 45%(22명 중 10명)만이 실제로 잠금장치를 작동시키는 데 성공했습니다.
  • 로봇과 함께했을 때, 91%(22명 중 20명)의 개발자가 이를 작동시켰습니다.
  • 또한 로봇은 복잡한 과제를 완료하는 데 걸리는 시간을 63% 단축하여, 평균 시간을 62분에서 23분으로 줄였습니다.

따라서, 단순히 문을 만들고 제대로 돌아가게 하는 것이 목적이라면 로봇은 큰 승리입니다.

하지만 여기 함정이 있습니다. 문이 만들어졌다고 해서 반드시 잠겨 있다는 뜻은 아닙니다. 사실, 로봇을 사용했든 사용하지 않았든, 주어진 과제를 수행한 그 어떤 개발자도 완전히 안전한 잠금장치를 만드는 데 성공하지 못했습니다. 평가된 모든 시도에서 적어도 하나 이상의 중대한 결함이 발견되었습니다.

"나를 믿어봐"라는 함정

연구는 두 가지 특정 유형의 잠금장치인 JSSE(보안 인터넷 연결용)와 Google OAuth(앱 로그인용)를 살펴보았습니다. 연구 결과, 로봇은 보안 문제를 해결하지 못했습니다. 오히려 많은 경우, 고장 난 잠금장치를 더 빨리 만들도록 도울 뿐이었습니다.

  • "모두 신뢰하기" 실수: 마치 인상이 좋다는 이유로 아무나 들여보내는 경비원과 같습니다. 연구에서 일부 개발자(그리고 로봇)는 시스템이 "모든 인증서를 신뢰"하도록 설정했습니다. 이는 경비원에게 "누군가 배지를 보여주면, 설령 그것이 가짜 배지일지라도 들여보내라"라고 말하는 것과 같습니다. 이는 엄청난 보안 구멍입니다.
  • "비밀 코드" 실수: 일부 개발자들은 비밀번호를 코드에 직접 작성했습니다. 마치 집 열쇠를 현관 매트 아래에 숨겨두는 것과 같습니다. 로봇도 가끔 이런 방식을 제안했습니다!
  • "확인 생략" 실수: 서버에 연결할 때는 실제로 올바른 사람과 대화하고 있는지 확인해야 합니다. 많은 구현 방식에서 이 단계를 건너뛰었으며, 이는 "중간자 공격자(Man-in-the-Middle attacker, 당신의 물건을 훔치기 위해 친구인 척하는 사람)"에게 문을 열어주는 결과를 초래했습니다.

연구진은 로봇이 일부 작은 실수들을 고치는 데는 도움이 되었지만, 큰 보안 실패를 막지는 못했다는 것을 발견했습니다. 실제로, 평가된 모든 과제에서 보안 문제가 있는 코드가 생성되었습니다. 로봇은 코드를 더 안전하게 만든 것이 아니라, 단지 보안이 취약한 코드가 더 빠르게 나타나도록 했을 뿐입니다.

인간의 사각지대

여기 가장 놀라운 부분이 있습니다. 연구진은 개발자들에게 물었습니다. "당신의 코드가 안전하다고 생각합니까?"

  • 코드가 실제로 안전하지 않았음에도 불구하고, 대부분의 개발자는 "네, 이 문제를 안전하게 해결했다고 생각합니다!"라고 답했습니다.
  • 실수를 깨달은 사람은 아주 극소수에 불과했습니다.
  • 로봇과 대화할 때, 거의 아무도 "이거 안전해?"라고 묻지 않았습니다. 그들은 그저 "작동하게 만들어줘"라고만 요청했습니다.

이는 사람들이 다리를 건설하면서 로봇에게 도움을 구하는 것과 같습니다. 로봇은 벽돌을 빠르게 쌓도록 도와주지만, 아무도 그 다리가 무게를 견딜 수 있는지 확인하지 않습니다. "이 다리가 버틸 수 있을까요?"라는 질문에 대부분의 사람은 비록 다리가 곧 무너질지라도 "물론이죠!"라고 답합니다.

로봇을 더 잘 가르칠 수 있을까요?

연구진은 한 가지를 더 시도했습니다. 개발자들에게 로보에게 명시적으로 "이것을 보안 점검해 줘!" 또는 "너는 보안 전문가야, 이걸 수정해 줘!"라고 말하도록 요청했습니다.

  • 그렇게 했을 때, 로봇은 더 단순한 잠금장치(JSSE)의 몇몇 실수들을 고쳐냈습니다.
  • 하지만 더 복잡한 잠금장치(OAuth)의 경우, 주의를 기울이라고 명령했음에도 불구하고 로봇은 여전히 많은 치명적인 보안 구멍을 놓쳤습니다.

결론

이 연구는 코파일럿과 같은 AI 어시스턴트가 우리가 코드를 빠르고 정확하게 작성하는 데는 놀라운 도움을 주지만, 해커로부터 우리를 지켜주는 마법의 방패는 아니다라는 점을 시사합니다.

  • 로봇: 속도와 기능에는 뛰어나지만, 보안 전문가는 아닙니다.
  • 인간: 종종 로봇을 너무 신뢰하며, 스스로 보안을 점검하지 않습니다.
  • 결과: 우리는 안전해 보이지만 실제로는 구멍이 숭숭 뚫린 시스템을 만들고 있습니다.

연구진은 우리가 로봇에게 안전을 맡길 수 없다고 결론짓습니다. 우리는 어려운 보안 질문을 던지고, 작업을 검토하며, 우리가 만드는 "잠금장치"가 실제로 잠겨 있는지 확인하는 주체가 되어야 합니다. 로봇은 강력한 도구이지만, 보안 의식을 가진 인간을 대체할 수는 없습니다.

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

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

Digest 사용해 보기 →