아무리 강력한 reasoning LLM이라도, 맥락 안에 악의적인 지시가 들어가면 결국 취약한 코드를 출력하게 됨
작은 모델이 속이기 쉽다는 건 보안 관점에서 그리 흥미로운 포인트가 아님
결국 어떤 모델이든 prompt injection은 가능하다고 가정해야 함
그래서 모델이 손상되었을 때도 방어할 수 있는 sandbox 실행이나 정적 분석 같은 추가 보호 계층이 필요함
어제도 이런 주제로 sandboxing coding agents 에 대한 발표를 했음
기사에서 가장 충격적이었던 건, 검증되지 않은 외부 콘텐츠를 LLM에 그대로 넣고 그 결과를 프로덕션 코드로 사용하는 걸 당연하게 여긴다는 점이었음
그런 시스템은 이미 손상된 것이나 다름없음
‘defense in depth’ 같은 접근보다, 애초에 그런 위험한 구조를 만들지 않는 게 맞다고 봄
우리 팀도 Definite.app의 에이전트에 e2b.dev 기반 샌드박스를 붙였는데, 문제의 80%는 해결된 느낌임
임시 파일 저장 위치 같은 것도 샌드박스 환경에서는 명확해짐
물론 새로운 문제가 생기긴 했지만 전체적으로는 큰 개선이었음
혹시 그 발표가 녹화되었는지 궁금함
로컬에서 deepseek 같은 모델을 돌리면, 가짜 프롬프트만 주지 않는 한 안전하다고 생각함
결국 위험 요소는 사용자가 외부에서 복사한 프롬프트나, 모델이 인터넷 리소스에 접근할 수 있게 하는 설정임
이런 건 예전부터 IT 전반의 약점이었고, 단지 사용자 교육과 네트워크 격리로 관리해야 할 문제임
단순한 텍스트 입력이 공격 벡터가 된다는 점이 새로움
티켓, 문서 같은 평범한 데이터가 이제는 보안 리스크가 될 수 있음
현실성이 낮다고 해도 이런 공격 벡터는 반드시 인지해야 함
많은 강력한 해킹이 단순한 시작점에서 비롯되었음
이런 공격들은 너무 기초적인 보안 상식 수준임
코드를 프로덕션에 배포하기 전에 검토만 해도 막을 수 있음
아무것도 모르는 상태라면 어차피 안전하지 않은 코드를 배포하게 될 것임
핵심은 단순히 코드 생성의 실패가 아니라, 모델이 jailbreak 공격에 더 취약하다는 점임
오픈 모델은 접근성이 좋지만, post-training으로 막을 수 있다고 생각하는 건 착각임
“코드 리뷰만 하면 된다”는 생각은 위험함
두 번째 공격은 코드 배포가 아니라, LLM이 reddit 댓글을 읽고 바로 실행하는 상황이었음
이런 문제를 가볍게 보는 태도 자체가 더 큰 보안 위협을 만듦
로컬 LLM이 공격받을 수 있다는 말이 이상하게 들림
이미 시스템이 침해된 상태라면 LLM을 속이는 것보다 더 큰 피해를 줄 수 있을 텐데
LLM은 명령과 데이터의 구분이 없음
즉, 공격자가 데이터 입력을 통해 프롬프트를 주입할 수 있음
만약 LLM이 명령 실행 권한을 가진 에이전트라면, 이건 곧 명령 실행 취약점이 됨
고객 데이터를 분류하거나 이메일을 처리하는 용도로 LLM을 쓴다면, 이런 위험이 현실적일 수 있음
로컬 모델이라도 실제로는 인터넷 접근이 가능한 래퍼(예: OpenCode, Claude Code 등)에 연결되는 경우가 많음
“공격자가 VPN을 뚫고 관리자 권한으로 접속하면?” 같은 회사 보안 논리와 비슷함
그런 상황이면 이미 모든 게 끝난 셈임
이 글은 마치 Anthropic이나 OpenAI의 영업팀이 쓴 것처럼 느껴짐
실제로 로컬 모델은 코드 실행형 에이전트로 쓰이는 경우가 드물고, 대부분 데이터 변환이나 NLP 작업에 강함
나는 Agno agent로 로컬 모델을 쓸 때, 생성된 코드를 실행 전에 항상 출력하게 하고 로컬 샌드박스로 격리함
오히려 Atlas, Comet 같은 브라우저형 에이전트가 더 위험하다고 봄
오픈소스 모델은 프롬프트에 적힌 대로 행동했고, 클로즈드 모델은 그걸 무시했음
즉, 정렬(alignment) 테스트에서 실패한 건 오히려 닫힌 모델 쪽이었음
“lethal trifecta”라는 표현은 멋지지만 실제 위험을 잘 설명하지 못함
현실적으로는 외부 통신 능력 하나만 있어도 충분히 위험함
LLM 자체가 검증 불가능한 블랙박스 데이터 덩어리라, 신뢰하기 어렵음
작은 스타트업은 괜찮을지 몰라도, Coinbase 같은 곳이라면 접근 제한을 두 번은 고민해야 함
검증되지 않은 코드 실행의 보안 역설에 대한 이야기임
로컬에서 악성 코드나 미확인 코드를 실행한다면, 그 이유부터 다시 생각해야 함
이 취약점은 AI가 인터넷에서 읽은 비신뢰 데이터를 그대로 처리할 때 발생함
LLM은 인간 언어로 된 지시를 코드처럼 해석하기 때문에, 코드와 데이터의 경계가 모호해짐
LLM의 추론 능력을 보안 경계로 삼는다면 이미 큰 문제가 있음
그런 접근은 근본적으로 잘못된 설계임
입력을 조심하지 않으면 주입이 일어날 수 있다는 건 너무 명확함
어떤 시스템이든 입력은 항상 공격 벡터가 될 수 있음
LLM에 들어가는 모든 데이터는 반드시 검증해야 함
공격자가 어떻게 이런 프롬프트를 삽입해 실제 프로덕션 코드에 영향을 주는지 궁금함
혹시 브라우저 단의 크로스 사이트 공격 같은 방식인지 알고 싶음
Hacker News 의견
아무리 강력한 reasoning LLM이라도, 맥락 안에 악의적인 지시가 들어가면 결국 취약한 코드를 출력하게 됨
작은 모델이 속이기 쉽다는 건 보안 관점에서 그리 흥미로운 포인트가 아님
결국 어떤 모델이든 prompt injection은 가능하다고 가정해야 함
그래서 모델이 손상되었을 때도 방어할 수 있는 sandbox 실행이나 정적 분석 같은 추가 보호 계층이 필요함
어제도 이런 주제로 sandboxing coding agents 에 대한 발표를 했음
그런 시스템은 이미 손상된 것이나 다름없음
‘defense in depth’ 같은 접근보다, 애초에 그런 위험한 구조를 만들지 않는 게 맞다고 봄
임시 파일 저장 위치 같은 것도 샌드박스 환경에서는 명확해짐
물론 새로운 문제가 생기긴 했지만 전체적으로는 큰 개선이었음
로컬에서 deepseek 같은 모델을 돌리면, 가짜 프롬프트만 주지 않는 한 안전하다고 생각함
결국 위험 요소는 사용자가 외부에서 복사한 프롬프트나, 모델이 인터넷 리소스에 접근할 수 있게 하는 설정임
이런 건 예전부터 IT 전반의 약점이었고, 단지 사용자 교육과 네트워크 격리로 관리해야 할 문제임
티켓, 문서 같은 평범한 데이터가 이제는 보안 리스크가 될 수 있음
많은 강력한 해킹이 단순한 시작점에서 비롯되었음
이런 공격들은 너무 기초적인 보안 상식 수준임
코드를 프로덕션에 배포하기 전에 검토만 해도 막을 수 있음
아무것도 모르는 상태라면 어차피 안전하지 않은 코드를 배포하게 될 것임
오픈 모델은 접근성이 좋지만, post-training으로 막을 수 있다고 생각하는 건 착각임
두 번째 공격은 코드 배포가 아니라, LLM이 reddit 댓글을 읽고 바로 실행하는 상황이었음
이런 문제를 가볍게 보는 태도 자체가 더 큰 보안 위협을 만듦
로컬 LLM이 공격받을 수 있다는 말이 이상하게 들림
이미 시스템이 침해된 상태라면 LLM을 속이는 것보다 더 큰 피해를 줄 수 있을 텐데
즉, 공격자가 데이터 입력을 통해 프롬프트를 주입할 수 있음
만약 LLM이 명령 실행 권한을 가진 에이전트라면, 이건 곧 명령 실행 취약점이 됨
그런 상황이면 이미 모든 게 끝난 셈임
이 글은 마치 Anthropic이나 OpenAI의 영업팀이 쓴 것처럼 느껴짐
실제로 로컬 모델은 코드 실행형 에이전트로 쓰이는 경우가 드물고, 대부분 데이터 변환이나 NLP 작업에 강함
나는 Agno agent로 로컬 모델을 쓸 때, 생성된 코드를 실행 전에 항상 출력하게 하고 로컬 샌드박스로 격리함
오히려 Atlas, Comet 같은 브라우저형 에이전트가 더 위험하다고 봄
오픈소스 모델은 프롬프트에 적힌 대로 행동했고, 클로즈드 모델은 그걸 무시했음
즉, 정렬(alignment) 테스트에서 실패한 건 오히려 닫힌 모델 쪽이었음
“lethal trifecta”라는 표현은 멋지지만 실제 위험을 잘 설명하지 못함
현실적으로는 외부 통신 능력 하나만 있어도 충분히 위험함
LLM 자체가 검증 불가능한 블랙박스 데이터 덩어리라, 신뢰하기 어렵음
작은 스타트업은 괜찮을지 몰라도, Coinbase 같은 곳이라면 접근 제한을 두 번은 고민해야 함
검증되지 않은 코드 실행의 보안 역설에 대한 이야기임
로컬에서 악성 코드나 미확인 코드를 실행한다면, 그 이유부터 다시 생각해야 함
LLM은 인간 언어로 된 지시를 코드처럼 해석하기 때문에, 코드와 데이터의 경계가 모호해짐
LLM의 추론 능력을 보안 경계로 삼는다면 이미 큰 문제가 있음
그런 접근은 근본적으로 잘못된 설계임
입력을 조심하지 않으면 주입이 일어날 수 있다는 건 너무 명확함
어떤 시스템이든 입력은 항상 공격 벡터가 될 수 있음
LLM에 들어가는 모든 데이터는 반드시 검증해야 함
혹시 브라우저 단의 크로스 사이트 공격 같은 방식인지 알고 싶음