본문 바로가기

개발이야기

Nono: AI 코딩 에이전트를 커널 레벨에서 샌드박스… SSH·.env 노출 끊기

반응형

핵심 요약

nolabs는 2026년 7월 27일 Nono 를 공개했습니다(byteiota, 2026-07-27). Claude Code·GitHub Copilot·Codex·Cursor 등 터미널 기반 AI 에이전트는 기본적으로 사용자 권한 전체(SSH 키, AWS 자격증명, .env) 를 상속받는데, Nono는 Linux Landlock·macOS Seatbelt 로 프로세스 시작 시점에 OS 커널 수준 샌드박스를 적용합니다. Docker/VM 없이 측정 가능한 지연 없이 동작하며, credential proxy로 토큰을 에이전트 프로세스 메모리에 주입하지 않습니다.

무슨 일이 있었나

byteiota(2026-07-27) 보도에 따르면 Nono의 핵심 설계는 다음과 같습니다.

  • Landlock(Linux 5.13+) / Seatbelt(macOS): 샌드박스 적용 후 정책 완화 불가(비가역)
  • 기본 deny-all: 파일시스템·네트워크·자격증명 접근 없이 시작, 필요 권한만 명시적 grant
  • Credential proxy: GITHUB_TOKEN 등을 환경변수로 주입하지 않고, 요청 시 keychain·K8s Secrets에서 프록시가 fetch 후 메모리 zeroing
  • Ghost Sessions: 감사 로깅·다중 fleet 배포 등 엔터프라이즈 기능

Apple App Store 앱과 동일한 Seatbelt 메커니즘을 사용한다는 점이 macOS 개발자에게는 친숙한 보안 모델입니다. 컨테이너 데몬·이미지 pull·VM 부팅이 없어 로컬 에이전트 워크플로 지연을 추가하지 않는다 는 주장이 차별점입니다.

개발팀·보안 관점의 해석

긍정적 시각은 prompt injection·악성 패키지 설치·.env 유출 같은 에이전트 특화 공격면에 직접 대응한다는 점입니다. Hugging Face 샌드박스 침해(2026년 7월) 등 OSS·에이전트 보안 이슈가 이어지는 가운데, "에이전트에게 전체 셸을 맡기지 말라"는 권고에 구현체가 생긴 셈입니다.

신중한 시각은 (1) Landlock 5.13+ 등 커널·OS 버전 의존, (2) 과도한 deny 정책이 정상 개발 속도 저하, (3) 오픈소스·신생 프로젝트의 장기 유지보수·감사 불확실성을 짚습니다. Devcontainer·rootless Docker 등 기존 격리와 중복·선택 문제도 팀 표준 수립 시 논의가 필요합니다.

체크포인트와 리스크

  • 체크포인트
  • 팀 OS·커널 최소 버전(Landlock 5.13+) 충족 여부
  • 에이전트별 필요 권한 매트릭스(패키지 매니저, git push, cloud CLI)
  • credential proxy와 기존 SSO·Vault 연동 테스트
  • CI에서 headless Nono 적용 가능성
  • 리스크 요인
  • 샌드박스 우회 CVE·정책 설정 실수
  • 에이전트가 거부된 권한을 반복 요청하며 UX 저하
  • 규제 환경에서 서드파티 런타임 승인 절차

마무리

Nono는 "AI에게 코드를 쓰게 할 것인가" 를 넘어 "어떤 권한 경계 안에서 쓰게 할 것인가" 로 질문을 옮깁니다. 개인·소규모 팀은 우선 read-only 프로젝트에서 Nono + 최소 grant 정책으로 시범 운영하고, credential proxy만이라도 도입해 .env 직접 주입을 끊는 것부터 시작할 수 있습니다.

고유 인사이트: 에이전트 보안에서 "VM vs 커널 샌드박스" 는 latency·DX trade-off입니다. Nono가 주장하는 zero overhead는 짧은 세션·고빈도 호출에 유리하고, 장시간·다중 서비스 통합 테스트는 VM/Devcontainer가 여전히 유리할 수 있습니다. 팀 워크로드를 세션 길이·네트워크 egress 패턴으로 나눠 이중 전략(로컬 Nono + CI VM)을 쓰는 편이 현실적입니다.

참고 자료