[AI 에이전트 런타임 보안 샌드박스] 2일차: execve를 커널에서 관측하는 eBPF 배관
·
AI 에이전트 런타임 보안 샌드박스 프로젝트
목표와 환경 점검2일차의 목표는 agent-run -- ls를 실행했을 때 세션 cgroup의 execve가 ring buffer를 거쳐 유저스페이스에 JSON으로 출력되고, 호스트 셸에서 친 명령은 잡히지 않는 것이다. 탐지 로직은 없고 관측만 한다. 구현은 mycontainer_run.c가 이미 C와 libbpf를 쓰고 있으니 C + libbpf skeleton으로 정했다.환경 점검작업을 시작하기 전에 도구와 커널 기능을 확인했고 전부 통과였다.확인결과의미clang, llvm, libbpf-dev, bpftool, 커널 헤더이미 설치됨빌드 도구 준비 완료커널 버전7.0.0-27-generic최신 커널이라 이후 주차에 필요한 기능도 쓸 가능성이 높음/sys/kernel/btf/vmlinux존재CO-RE..
[AI 에이전트 런타임 보안 샌드박스] 1일차: agent-run과 세션 만들기
·
AI 에이전트 런타임 보안 샌드박스 프로젝트
프로젝트와 이번 글의 범위이 글은 "AI 코딩 에이전트 실행 샌드박스" 프로젝트의 v0.1 1주차 중 첫날 기록이고, 오늘의 결과물은 agent-run 서브커맨드와 "세션"이라는 실행 단위다. eBPF는 다음 글로 미루고, 이번에는 컨테이너 실행 코드를 읽고 고치는 데 집중했다.프로젝트가 풀려는 문제2026년 상반기에 Cursor, Codex, Gemini CLI 같은 AI 코딩 에이전트에서 프롬프트 인젝션으로 셸 안전장치를 우회하는 취약점이 연달아 공개됐다. 이 프로젝트는 그 원인을 개별 구현 실수가 아니라 "안전장치가 에이전트와 같은 신뢰 영역 안에 있다"는 구조적 문제로 본다. 그래서 판정을 에이전트의 출력이 닿지 않는 OS 커널(eBPF)에서 규칙 기반으로 수행하는 경량 샌드박스를 만든다.새로운 ..
[동시성 제어] 비동기 Fan-In 구조에서의 레이스 컨디션 및 멱등성 확보
·
프로젝트/트러블슈팅
1. 장애 상황 (Incident)현상: 멀티모달 인덱싱 파이프라인에서 비동기 AI Worker들이 각각의 태스크 완료 이벤트를 동시에 발행할 때, 최종 단계로 진입하기 위한 Fan-In 상태 전이(모든 하위 작업 완료 판정)가 간헐적으로 누락되는 현상을 확인했다.연쇄 효과: 하위 비동기 작업들이 모두 성공적으로 끝났음에도 불구하고, 전체 파이프라인의 최종 상태가 '완료'로 갱신되지 않고 '진행 중' 상태로 멈추는 시스템 교착(Stall)이 발생했다.2. 원인 분석 (Root Cause Analysis)문제의 근본 원인은 비동기 환경에서 트랜잭션 격리 수준과 JPA 영속성 컨텍스트의 특성이 결합하며 발생한 TOCTOU(Time-of-Check-Time-of-Use) 레이스 컨디션 및 설계상 취약점이었다...
AWS t3.micro 환경에서 Network Throttling으로 인한 HikariPool Starvation 장애 복구
·
프로젝트/트러블슈팅
1. 장애 상황 (Incident)현상: AWS t3.micro 인스턴스 환경에서 부하 테스트(Load Test)를 진행하던 중, 애플리케이션 로그에 HikariPool - Thread starvation or clock leap detected 경고가 지속적으로 발생했다.연쇄 효과: 이와 동시에 AWS SQS(Simple Queue Service)와의 통신에서 TimeoutException이 발생했으며, 최종적으로 서버가 요청을 처리하지 못하는 마비(Stall) 상태에 진입했다.2. 원인 분석 (Root Cause Analysis)문제의 근본 원인은 단순한 DB 커넥션 부족이 아닌, 네트워크 대역폭 제한으로 인한 스레드 고갈이었다.Network Throttling 발생: Grafana 대시보드의 인프라..
[JPA/Spring] afterCommit 훅 내부의 TransactionRequiredException 발생 원인과 해결책 (Propagation.REQUIRES_NEW)
·
프로젝트/트러블슈팅
1. 배경 및 문제 상황1.1. 비즈니스 요구사항: 비동기 Fan-In 파이프라인과 오케스트레이션당시 개발 중이던 유실물 매칭 서비스(It's Mine)에는 대용량 이미지를 처리하기 위해 Spring Boot 메인 서버와 FastAPI 기반의 AI Worker 서버들이 분리된 구조로 파일럿 파이프라인이 구축되어 있었다. 전체 흐름은 비동기 분산 환경으로 설계되었다.사용자가 유실물 이미지를 업로드하면 메인 서버가 태스크를 생성하고 AWS SQS를 통해 AI Worker들에게 이벤트를 발행한다. 이기종 AI 모듈들은 각자 비동기적으로 특징 추출(Re-ID 등) 작업을 수행한 뒤, 결과 메시지를 다시 SQS 큐로 송신한다. 메인 서버의 SQS 리스너가 개별 AI 모듈의 완료 메시지를 수집하여 DB 상태를 DO..
5: 메모리 파편화와 하드웨어 최적화 (시스템 엔지니어링)
·
OS
챕터 5: 메모리 파편화와 하드웨어 최적화 (시스템 엔지니어링) (완전판)5.1 메모리 파편화(Fragmentation)의 구조적 인과관계핵심: 메모리 할당 정책의 고정성과 동적 런타임의 불확실성이 결합하여 발생하는 물리 자원의 공간적 낭비 현상입니다.내부 파편화 (Internal Fragmentation): 가상 메모리의 최소 관리 단위가 $4\text{KB}$(페이지)로 고정되어 발생합니다. 프로세스가 단 $1\text{Byte}$의 메모리만 요구하더라도 커널은 $4\text{KB}$ 블록 전체를 내어주어야 하므로, 할당된 블록 내부에서 사용되지 않고 버려지는 자투리 공간이 누적됩니다.외부 파편화 (External Fragmentation): 동적 할당과 예측 불가능한 오브젝트 수명(Lifecycle..