에이전트 능동 분석가(Analyst) 신설과 정팀장 구조 개편 착수, 매니저 네트워크 구역 개편안 기능 누락 22건 반영 — 주간 리뷰 (2026-10-19)

기존 덤프분석기를 대체할 능동 분석가 orange.analyst.exe 신설, 정팀장 서버 개입 지점을 규칙에서 틀과 시험으로 바꾸는 구조 개편 착수, 룰이 집계값을 직접 정의하는 ruleData 체계, 매니저 네트워크 구역 개편안 기능 누락 22건 반영을 다룬 Orange Labs 주간 개발 기록

이번 주에는 기존 덤프분석기를 대체할 능동 분석가 orange.analyst.exe 를 신설해, 멈춘 프로세스가 무엇을 기다리는지 사람이 WinDbg로 보지 않아도 원인과 해결까지 내도록 했다. 정팀장은 서버가 모델의 답·행동에 손대는 지점이 112갈래로 늘어난 것을 실측으로 확인하고, 사례별 규칙을 쌓는 대신 틀과 시험 묶음으로 바꾸는 구조 개편에 착수했다. 매니저에서는 네트워크 구역 개편안이 기존 위젯과 전수 대조를 거쳐 기능 누락 22건을 반영하며 DEV 실험실로 올라갔고, 패키징에서는 에이전트 배포 파일을 zip 하나로 단일화했다.

룰·데이터 분석 파트

정팀장이 PC 느려짐을 진단할 때 느린 프로세스 명령 결과에 커밋·I/O·핸들 상위 목록을 포함하게 하고, "정리해줘" 결론을 강제하던 부분을 걷어 근거가 부족하면 다른 결론도 낼 수 있게 했다. 룰에는 Detail·Evidence 항목을 더해 정팀장이 증상을 설명할 때 판정 근거까지 함께 낼 수 있게 했다.

노드 현황 섹션에 배포 노드 누적선을 추가했다가, 누적 노드 수를 따로 파악하지 않기로 결정이 바뀌면서 같은 주에 되돌렸다. 줄바꿈이 CRLF 로 남아 있던 룰 9개가 다시 받아들여지도록 끝줄을 더했고, 1.6.242.1013 회차 릴리즈 노트를 게시했다.

커널 드라이버 파트

한 고객사의 NAC 인증 뒤 SSO 자동 로그인이 지연되는 문제와 NAC/SSO 로그인 실패 원인을 조사했다. 이번 주 커밋 산출물은 없다.

orange

네트워크 구역 화면을 개편하기 전에 동작하는 HTML 목업으로 먼저 합의한 뒤, 그 목업을 실제 API 에 연결해 DEV 실험실 페이지로 옮겼다. 노드 배치는 관리자가 결정하고 엔진의 확신도는 화면에서 숨기고 "추천"으로만 보여주는 설계를 그대로 반영했다.

기존 networkZone 위젯 9개 장과 개편안 코드를 하나씩 대조해 하위 구역, 저장 직전 재검사, 구역 밖 팝업 등 누락 22건을 찾아 모두 반영했다. "추천 노드 보기"를 화면 전환 대신 팝업으로 바꾸고, 대역만 일치해도 25대가 한꺼번에 체크되던 문제를 대역 일치 외 근거가 있는 노드로 기준을 좁혀 고쳤다. VM 표기도 번역하지 않고 노드가 보고한 제조사 값 그대로 쓰도록 정정했다. 드래그 다중 선택, 그룹 옮기기 경고 문구, 뒤로가기 시 화면 상태가 주소와 맞물리도록 정리했다.

분석 서비스 파트

nginx 에서 파일함 원본 경로로의 직접 접근을 막았다. 이번 주 커밋 산출물은 없다.

서버 백엔드 파트

크래시 루프 중인 서비스를 업데이트 전에 멈추지 못해 업데이트가 중간에 깨지던 문제와, setup.sh 가 서비스 정지·MongoDB 계정 설정 실패에도 계속 진행하던 문제를 고쳤다. uninstall.sh 가 재설치 뒤 남기던 잔재도 정리하고, 고아 패키지는 이번 제거분만 지우도록 범위를 좁혔다. 에이전트 배포 파일은 zip·exe·PACKAGE 세 파일을 따로 올리던 방식에서 zip 하나로 줄였다.

실 mongod 를 쓰는 테스트마다 각자 접속을 확인하던 걸 conftest 하나의 세션 fixture 로 모아, mongod 가 없을 때 전체 테스트 실행을 64초에서 10초로 줄였다. node 컬렉션에 없는 id 까지 노드 수에 세던 결함으로 한 고객사의 노드 수가 실제보다 8~9배 부풀어 있던 것을 정정했다. 네트워크 구역 기능의 설계 문서 사실 오류를 정정하고 데이터 분석 가이드·설계 강의·현장 운영자 가이드를 새로 썼다. 배포 노드 확산 차트에 누적 집계 API 를 추가했다가, 누적 노드 수를 따로 파악할 필요가 없다는 결정이 같은 날 나오면서 되돌렸다.

매니저·에이전트 파트

기존 덤프분석기(orange.da.exe)는 크래시·부하를 리포트로만 냈고, 멈춘 프로세스가 무엇을 기다리는지는 숙련자가 WinDbg로 직접 봐야 했다. 새 실행 파일 orange.analyst.exe 를 추가해 대상 프로세스의 RPC·COM 호출 사슬을 따라가 원인과 해결까지 내도록 하고, 커널 드라이버 부하 순위·CPU·전원·배터리·그래픽 드라이버 사실·Windows 업데이트 평판·핸들 테이블 조회를 한 주에 통합해 93개 커밋으로 쌓았다.

정팀장 서버가 모델의 답·행동에 손대는 지점이 112갈래(행동 강제 31건·판단 대행 19건 포함)로 늘어난 것을 추적했다. 대화 42건 실측에서 증상 화면 질문 13건 중 잘 답한 사례가 0건으로 나온 결과를 근거로, 사례별 규칙을 쌓는 대신 틀과 시험 묶음으로 바꾸는 개편에 착수했다. 서버는 형식 검사만 하고 선택은 모델이 하도록 원칙을 다시 세웠다.

COM 응답 지연의 누적 시간, 강제종료의 근원 프로그램처럼 증상마다 남길 값이 다른 문제를 detect.ruleData 범용 칸 하나로 풀었다. 룰 파일에 MongoDB 갱신 연산자로 적어두면 에이전트가 탐지마다 그대로 계산해 채우므로, 집계 항목이 바뀌어도 에이전트·서버 코드를 고치지 않는다.

설정 > 에이전트 화면에 업로드 속도 상한(Mbps)을 추가하고, 증상 증적 줄에 "보내는 중"·"증적 없음" 상태를 표시했다. 서버 쪽에는 보고서 첨부의 선언 크기·상태 확인과 증적 포기 통보 API를 더해, 큰 증적이 느린 망에서 올라가는 중인지 실패했는지 구분할 수 있게 했다. 정팀장 관제 위젯에는 수정 내역 탭과 배포 날짜 띠를 추가해 배포될 때마다 무엇이 바뀌었는지 날짜별로 볼 수 있게 했다.

개발 통계

  • 커널 드라이버 파트와 분석 서비스 파트는 이번 주 커밋 없이 이슈 조사·완료로 진행했다.