[AI 에이전트 런타임 보안 샌드박스] 3주차 3일차: 정상 시나리오를 돌릴 환경 만들기: /dev/null, 개발 rootfs, 소유자 문제
·
AI 에이전트 런타임 보안 샌드박스 프로젝트
요약10월 22일에는 두 가지 일을 했다. 오전 11시 40분부터 오후 4시 30분까지는 BLOCK이 나도 종료하지 않고 기록만 하는 관찰 모드를 마무리하고, 러너 버그 하나를 고치고, 한계 목록을 정리했다. 오후 4시 46분부터는 정상 시나리오(n)로 오탐을 재기 위한 실행 환경을 만들어, 컴파일 후 실행 한 건에서 첫 오탐 실측값(SUSPECT 1, BLOCK 0)을 얻었다. n01 시나리오 파일과 러너의 시나리오별 rootfs 선택은 아직 만들지 않았다.끝낸 것은 다섯 가지다.관찰 모드(--no-kill)를 실제 로더와 컨테이너로 VM에서 확인하고 커밋했다(27554a2), 문서·주석을 코드에 맞추었다(b04d6da).러너가 ready 시간 초과 뒤 로더를 끄지 못하던 버그를 한 줄로 고치고 회귀 ..
[AI 에이전트 런타임 보안 샌드박스] 3주차 2일차: BLOCK을 실제 종료로 바꾸다 - kill_session, 러너 사후 검사, 탐지기 선택
·
AI 에이전트 런타임 보안 샌드박스 프로젝트
요약3주차 2일차에는 BLOCK 판정이 기록으로 끝나지 않고 세션을 실제로 종료하도록 바꿨다. 세션 cgroup의 cgroup.kill에 1을 쓰는 방식이고, 대상 cgroup을 inode로 확인한 뒤에만 쓴다. 러너는 이제 종료 코드, cgroup 디렉토리 소멸, 맵 항목 소멸까지 검사하고, 살아 있는 세션을 BLOCK으로 죽이는 s03이 통과한다. 라벨 w3d2는 작업 단위이고 달력으로는 10/18부터 10/21까지 걸렸다.아직 안 된 것도 분명히 적어 둔다. 관찰 모드(--no-kill)는 설계만 했고 구현하지 않았다. 진짜 write_exec_boundary로 하는 러너 e2e는 수동 확인뿐이다(러너 B안이 필요하다). leak_check.sh와 100회 반복은 5일차나 5주차로 미뤘다. 커밋한 ..
[AI 에이전트 런타임 보안 샌드박스] 3주차 1일차: 로더가 죽어도 모르는 보안 도구 - fail-open 을 flock 으로 막기
·
AI 에이전트 런타임 보안 샌드박스 프로젝트
요약3주차 1일차(10/15)에는 감시가 꺼진 채로 세션이 조용히 시작되는 경로 세 곳을 막았다. 감시 맵을 못 열어도, 세션 cgroup에 못 들어가도, 로더가 죽어 있어도 agent-run이 성공하던 것을 모두 "세션을 시작하지 않음"으로 바꿨다. 커밋은 네 개이고 아직 push하지 않았다. 정상 경로와 실패 경로 모두 VM에서 확인했다. 커밋제목한 일c331353감시 맵을 못 열거나 등록하지 못하면 세션을 시작하지 않음bpf_obj_get과 bpf_map_update_elem의 실패를 종료로 바꿈debf7abcgroup 합류에 실패하면 세션을 시작하지 않음join_cgroup의 실패 두 곳을 종료로 바꿈87495df로더 생존을 flock 잠금으로 확인하고 없으면 세션을 시작하지 않음로더가 잠금을 쥐..
[AI 에이전트 런타임 보안 샌드박스] 2주차 4일차: 호스트 스텝과 시나리오 s01·s02
·
AI 에이전트 런타임 보안 샌드박스 프로젝트
요약4일차는 컨테이너가 쓴 파일을 호스트가 실행하는 사건을 자동 회귀 테스트로 만들었다. 러너에 호스트 스텝(host.sh)을 넣고 시나리오 s01, s02를 추가했다. 그 과정에서 러너 테스트가 시나리오 추가에 흔들리는 구조를 찾아 격리했고, 3주차 계획을 위해 경로 비교 탐지기의 시작 조건(결정 9번)을 정했다. 결과는 사용자 VM 출력으로 확인한 것이고, 추정은 따로 표시했다. 질문결과확인 방법호스트가 컨테이너가 쓴 파일을 실행하는 사건을 러너가 재현할 수 있나가능. agent-run이 끝난 뒤 러너가 host.sh를 실행한다 (A안)실제 환경 s01s01, s02가 의도대로 판정하나s01은 BLOCK 한 번과 would_kill 한 번, s02는 SUSPECT만 있고 BLOCK 없음sudo ./r..
[AI 에이전트 런타임 보안 샌드박스] 2주차 3일차: 쓰기→실행 탐지기와 인터프리터 경유 한계
·
AI 에이전트 런타임 보안 샌드박스 프로젝트
요약3일차는 TAG_HIT 을 보고 BLOCK 이나 SUSPECT 를 내리는 탐지기 write_exec_boundary 를 만들고, 실제 로더에서 호스트 실행이 BLOCK 으로 기록되는 것까지 확인했다. 확인 도중 인터프리터를 거친 실행(sh )은 탐지되지 않는다는 한계를 찾아 기록했다. 아래 결과는 사용자 VM 출력으로 확인한 것이고, 추정은 따로 표시했다. 질문결과확인 방법세션 밖 실행에 BLOCK 이 나는가호스트가 컨테이너가 쓴 파일을 직접 실행하면 write_exec_boundary 의 BLOCK 과 would_kill 이 쓴 세션 로그에 남음실제 로더, verdicts.jsonl만료된 태그는 어떻게 다루나쓴 지 10분을 넘으면 세션 밖 실행도 SUSPECT (사용자 결정)단위 테스트의 경계 검사..
[AI 에이전트 런타임 보안 샌드박스] 2주차 2일차: 쓰기 태깅과 히트 이벤트
·
AI 에이전트 런타임 보안 샌드박스 프로젝트
요약2일차는 세션이 쓴 파일을 다른 주체가 실행하면 TAG_HIT 이벤트가 세션 로그에 남는 경로를 C 프로브로 구현하고 VM 에서 확인했다. 판정(BLOCK)은 아직 없고 이벤트가 올라오는 것까지가 이번 범위다. 아래 결과는 모두 사용자 VM 출력으로 확인한 것이다. 질문결과확인 방법세션이 쓴 파일이 맵에 기록되는가write_tags 에 (40, ino) 와 (265289730, ino) 두 쌍이 들어가고 값의 cgroup 이 세션의 값과 같음. 호스트에서 쓴 파일은 안 들어감bpftool map dump name write_tags태그된 파일이 실행되면 이벤트가 나오는가컨테이너 안 실행 1줄(exec_cgroup_id = cgroup_id), 호스트에서 upperdir 경로로 실행 1줄(exec_cg..