사상 리더
비밀 없는 필수 사항: AI 에이전트가 코드를 만졌을 때 전통적인 보안 모델이 깨질 때

2023년 4월, 삼성은 엔지니어가 ChatGPT에 민감한 정보를 누설한 것을 발견했다. 그러나 그것은 우연이었다. 이제 코드 저장소에 의도적으로 심어져 있는 지시문이 인간에게는 보이지 않지만 AI에 의해 처리되어 코드뿐만 아니라 API 키, 데이터베이스 자격 증명, 서비스 토큰 등을 추출하도록 설계된 시나리오를 상상해 보라. 이것은 가상적인 시나리오가 아니다. 보안 연구자들은 이미 이러한 “보이지 않는 지시” 공격이 가능함을 chứng명했다. 질문은 이것이 언제 발생할지에 대한 것이 아니다. 언제 발생할지에 대한 것이다.
더 이상 존재하지 않는 경계
수십 년 동안 우리는 보안을 기본적인 가정 위에 구축해 왔다. 코드는 코드이고 데이터는 데이터이다. SQL 주입은 우리에게 쿼리를 매개변수화하는 것을 가르쳐 주었다. 크로스 사이트 스크립팅은 출력을 이스케이프하는 것을 가르쳐 주었다. 우리는 프로그램이 수행하는 작업과 사용자가 입력하는 것 사이에 벽을 세웠다.
그러나 AI 에이전트가 나타남에 따라 그 경계는 사라졌다.
결정론적인 소프트웨어와 달리, 대규모 언어 모델은 확률적인 블랙박스이며 합법적인 개발자 지침과 악의적인 입력을 구별할 수 없다. 공격자가 AI 코딩 어시스턴트에 프롬프트를 제공할 때, 단순히 데이터를 제공하는 것이 아니다. 어플리케이션을 재프로그래밍하는 것과 같다. 입력이 프로그램 자체가 된다.
이것은 모든 것을 우리가 알고 있는 어플리케이션 보안에서 근본적인 변화를 의미한다. 전통적인 구문 기반 방화벽은 DROP TABLE이나 태그와 같은 악의적인 패턴을 찾는 데 실패한다. 연구자들은 “의미적 대체” 기술을 보여주었는데, 여기서 프롬프트에서 “API 키”를 “사과”로 대체하면 필터를 완전히 우회할 수 있다. 의도를 방화벽할 때 어떻게 할 수 있는가?
누구도 논의하지 않는 제로 클릭 현실
보안 팀이 이해하지 못하는 것은 프롬프트 주입이 사용자가 입력을 타이핑할 필요가 없다는 것이다. 이것은 종종 제로 클릭 공격이다. AI 에이전트가 코드 저장소를 스캔하거나, 풀 리퀘스트를 검토하거나, API 문서를 읽을 때 공격을 트리거할 수 있다. 인간의 상호작용이 필요하지 않다.
다음 시나리오를 고려해 보라. 연구자들이 이미 입증한 기술을 기반으로 한다. 악의적인 배우가 인기 있는 오픈 소스 라이브러리의 문서에 보이지 않는 지시문을 삽입한다. GitHub Copilot, Amazon CodeWhisperer 또는 엔터프라이즈 코딩 어시스턴트와 같은 모든 AI 어시스턴트가 잠재적인 자격 증명 수집기가 된다. 하나의 취약한 라이브러리는 수천 개의 노출된 개발 환경을 의미할 수 있다.
위험은 LLM 자체가 아니라 우리가 그것에게 부여한 에이전트이다. 모델을 도구와 API와 통합하여 데이터를 가져오고 코드를 실행하고 비밀을 접근하도록 허용한 순간, 우리는 유용한 어시스턴트를 완벽한 공격 벡터로 변환했다. 위험은 모델의 지능과는 상관없이 연결성과 관련이 있다.
현재 접근 방식이 왜 실패할까
현재 산업은 모델을 “정렬”하고 더 나은 프롬프트 방화벽을 구축하는 데 집중하고 있다. OpenAI는 더 많은 가드레일을 추가한다. Anthropic은 헌법 AI에 집중한다. 모든人が 속임수를 당하지 않는 모델을 만들려고 한다.
이것은 패배한 전투이다.
유용한 모델이면 속임수를 당할 수 있다. 우리는 “소독 트랩”에 빠져 있다. 더 나은 입력 필터링이 우리를 구원할 것이라고 가정한다. 그러나 공격은 HTML 주석에 보이지 않는 텍스트로 숨겨질 수 있다. 문서에 깊이埋藏될 수 있다. 아직 상상하지 못한 방법으로 인코딩될 수 있다. 우리는 문맥적으로 이해할 수 없는 것을 소독할 수 없다. 문맥이 바로 LLM을 강력하게 만드는 것이다.
산업은 어려운 진실을 받아들여야 한다. 프롬프트 주입은 성공할 것이다. 질문은 그것이 성공했을 때 무슨 일이 일어날지에 대한 것이다.
필요한 아키텍처 전환
현재 우리는 “패치 단계”에 있다. 입력 필터와 유효성 검사 규칙을 절실히 추가하고 있다. 그러나 SQL 주입을 방지하기 위해 매개변수화된 쿼리가 필요한 것과 마찬가지로, 우리는 AI 보안을 위한 아키텍처 솔루션이 필요하다.
답은 간단하지만 시스템을 재구성하는 것을 요구한다. AI 에이전트는 사용하는 비밀을 소유해서는 안 된다.
이것은 더 나은 자격 증명 관리나 개선된 보관 솔루션에 관한 것이 아니다. AI 에이전트를 사용자에게 필요한 비밀번호가 아닌 고유한 검증 가능한 ID로 인식하는 것을 의미한다. AI 에이전트가 보호된 자원에 접근해야 할 때, 다음과 같이 해야 한다.
-
검증 가능한 ID를 사용하여 인증한다(저장된 비밀번호가 아님)
-
특정 작업에만 유효한 즉시 자격 증명을 받는다
-
자동으로 자격 증명을 만료한다(초 또는 분 내)
-
오래 지속되는 비밀을 저장하거나 볼 수 없다
여러 접근 방식이 등장하고 있다. AWS IAM 역할, Google의 Workload Identity, HashiCorp Vault의 동적 비밀 및 Akeyless의 Zero Trust Provisioning과 같은 목적을 위한 솔루션은 모두 비밀 없는 미래를 향한 방향으로 나아가고 있다. 구현 세부 사항은 다르지만, 원칙은 동일하다. AI 에이전트가 비밀을 가지고 있지 않다면, 프롬프트 주입은 훨씬 작은 위협이 된다.
2027年的 개발 환경
3년 내에, .env 파일은 AI 보조 개발에서 죽은 것으로 간주될 것이다. 환경 변수에 있는 오래 지속되는 API 키는 현재 평문 비밀번호와 마찬가지로 더 이상 사용되지 않을 것이다.
대신, 모든 AI 에이전트는 엄격한 특권 분리 아래에서 작동할 것이다. 기본적으로 읽기 전용 액세스. 작업 허용 목록이 표준이 된다. 샌드박스化된 실행 환경은 준수 요구 사항이 된다. 우리는 AI가 무엇을 생각하는지 제어하기보다 무엇을 할 수 있는지에 집중할 것이다.
이것은 기술적인 발전만이 아니다. 신뢰 모델의 근본적인 전환이다. 우리는 “신뢰하지만 검증하라”에서 “신뢰하지 말고, 항상 검증하고, 위협을 가정하라”로 이동하고 있다. 최소한의 특권 원칙은 오랫동안 설교되었지만 드물게 실행되었다. 그러나 일일이 수천 개의 잠재적으로 악의적인 입력을 처리하는 AI가 주니어 개발자라면, 이는 더 이상 협상할 수 없는 것이다.
우리가 직면한 선택
소프트웨어 개발에 AI를 통합하는 것은 불가피하며 대체로 유익하다. GitHub는 개발자들이 Copilot를 사용할 때 작업을 55% 더 빠르게 완료한다고 보고한다. 생산성 향상은 실제이며, 경쟁력을 유지하려는 모든 조직이 이를 무시할 수 없다.
그러나 우리는十字路에 서 있다. 현재 경로를 계속下去로 더 많은 가드레일을 추가하고, 더 나은 필터를 구축하며, 속임수를 당하지 않는 AI 에이전트를 만들려고 할 수 있다. 또는 우리는 근본적인 위협의 본질을 인정하고 보안 아키텍처를 재구성할 수 있다.
삼성 사건은 경고였다. 다음 침해는 우발적이지 않을 것이며, 한 회사에 국한되지 않을 것이다. AI 에이전트가 더 많은 기능을 얻고 더 많은 시스템에 접근할수록, 잠재적인 영향은 기하급수적으로 증가한다.
CISO, 엔지니어링 리더, 개발자 모든 사람에게 질문은 간단하다. 프롬프트 주입이 성공했을 때(그리고 성공할 것이다), 공격자는 무엇을 발견할 것인가? 오래 지속되는 자격 증명의 보물箱을 발견할 것인가, 아니면 비밀을 가지고 있지 않은 AI 에이전트를 발견할 것인가?
우리가 지금 내리는 선택은 AI가 소프트웨어 개발의 가장 큰 가속도인지, 아니면 우리가 만들어 낸 가장 큰 취약점인지 결정할 것이다. 안전하고 비밀 없는 AI 시스템을 구축하는 기술은 오늘날 이미 존재한다. 질문은 공격자가 강제하기 전에 우리가 이를 구현할 것인가에 대한 것이다.
OWASP는 이미 프롬프트 주입을 LLM 애플리케이션의 1위 위험으로 식별했다. NIST는 제로 트러스트 아키텍처에 대한 지침을 개발 중이다. 프레임워크는 존재한다. 구현 속도와 공격 진화만이 남은 질문이다.
Bio: Refael Angel은 Akeyless의 공동 설립자이자 CTO이다. 그는 회사의 특허된 Zero-Trust 암호화 기술을 개발했다. 암호화와 클라우드 보안에 대한 전문 지식을 가진 베테랑 소프트웨어 엔지니어이다. 그는 이전에 Intuit의 이스라엘 R&D 센터에서 시니어 소프트웨어 엔지니어로 일했으며, 퍼블릭 클라우드 환경에서 암호화 키를 관리하는 시스템을 구축하고, 기계 인증 서비스를 설계했다. 그는 19세의 나이에 예루살렘 기술 대학에서 컴퓨터 과학 학사 학위를 취득했다.












