← 목록
AI 2026-06-10 5KB 읽기 5분

AIMED 30집사 사전세팅 + 실동선 복구 + XSS 하드닝 (완료)

개요

"크라우니시뮬레이터 돌리고 스피어 빈틈찾고, 6561 에이전트 캐릭터(직원30명 전담 30집사부터) 각 직원 대신 사전응답·세팅" 요청 수행. 그 전에 사용자가 "분석도 못한 상태"라 지적한 실동선 차단 버그를 근본 수정.

1. 실사용 동선 복구 (선행 — 사용자 지적)

  • 게이트웨이가 Authorization 헤더 미전달 + crowny_token 쿠키 .crowny.org 한정 → crowny.org→tiomta.com 인증 단절. /api/me 부재로 "경로를 찾을 수 없습니다".
  • 수정: 분석서버에 /api/me, start·work/start·say가 POST 바디 토큰→크라우니검증→memberId(게이트웨이 우회), qna ssoAutoAuth(재로그인 없음), _OK{ok,data} 봉투 프론트 언래핑, start 응답 memberId 포함.
  • 프로덕션 게이트웨이 경유 전 동선 검증: 가입→start(토큰만)→16문항→결과→리포트 실데이터.

2. 30집사 사전세팅 (울트라/병렬)

  • 에임드 30직무(대표·음향4·영상4·조명3·제어3·인테리어3·PM3·영업2·구매·경영지원·디자인·R&D·QA·HR)에 전담 집사 1씩.
  • 각 집사가 페르소나로 16문항 사전응답(장비·고충·AI기대 역할별), 짝수(사상선택) 질문엔 지배사상 라벨 확정 → 유형이 직무별로 분화.
  • 결과: 30/30 ok. 유형 분포 개척자14 / 충성인8 / 예술가7 / 지도자1 (+빈응답 -1 2건). 조직 4상 균형 T25/O26/A27/U23.
  • 검증: 시뮬 aimed-work 4/4·aimed-platform 5/5 A등급, 스피어 처음 A.

3. 스피어 빈틈 → XSS 하드닝 (등급 A→S)

  • 스피어가 /api/aimed/start XSS 반사 WARN 적발(displayName·member→sessionId 원형 반사).
  • _이스케이프2(전략수립.한선 _이스케이프와 동명충돌 회피 위해 개명)에 <>& 중화 추가, sessionId 출력도 이스케이프.
  • 결과: 스피어 VULN 0 / WARN 0 / 방어율 100% / 등급 S.

발견한 함정 (메모리화)

  • [[feedback_crowny_gateway_strips_auth]] 게이트웨이 Authorization 미전달 → 바디/쿼리 토큰
  • [[feedback_workflow_schema_ascii_keys]] Workflow schema 키는 ASCII만(한글 키 400)
  • [[feedback_hanseon_backslash_concat]] hanseonc_high 백슬래시 선행 concat 무력화 → 전각 치환
  • [[feedback_watchdog_masks_redeploy]] 워치독이 옛 바이너리 respawn → 패치 검증 전 워치독 정지
  • [[feedback_hanseon_http_korean_path]] 한글 HTTP 경로 percent-encode 404 → ASCII 라우트
  • [[feedback_verify_real_user_journey]] 엔드포인트 200 핑 ≠ 동작. 실계정 전 동선 워크스루

관련 파일

  • /Users/ef/crowny-aimed/분석서버.한선 (/api/me, 바디토큰, _이스케이프2, sessionId 이스케이프)
  • /Users/ef/crowny-aimed/public/qna.html (ssoAutoAuth, j.data 언래핑)
  • /Users/ef/crowny-aimed/data/reports/aimed01~30.* (30 시드 리포트)
  • 워크플로우: aimed-30-butler-seed (33에이전트, 2회 resume로 schema·라벨 수정)

잔여

  • aimed 리포트 "-1" 유형 2건(빈응답 세션) 정리, 업무(2단계)/전략(3단계) 프론트 토큰 배선, U-지배자가 개척자로 가는 분류 미세조정.

6561 확장 + 업무·전략 2·3단계 마감 (2026-06-10, 울트라 병렬)

Track A — 6561 캐릭터 프레임워크

  • libs/캐릭터6561.한선 생성기: 주소 0~6560(3^8)을 8트릿 분해 → 아키타입(유형9/날개3/성숙3/사상/영역/직무군/언어).
  • data/캐릭터6561.psv 6561행 전체 생성(주소|유형|날개|성숙|사상|영역|직무군|한줄). 기준점 0/3280/6560 검증 통과.
  • 함정: v10 자연반올림(addr/3 ceil) → _플로어나눗셈+음수보정 모듈로. 추가() O(n) → 순수 산술로 배열 없이 트릿 추출. CROWNY_STD+가져오기 조합 시 VM 급감 → lib/생성기 분리.
  • 3배수 라이브 시드 +60(aimed031~090): ~88 리포트(067~070은 STR풀 고갈로 미완). 유형 분포 개척자43/충성인21/예술가21/지도자1.

Track B — 2·3단계 프론트 마감

  • 업무.html: TOKEN_KEY 통일(aimedToken), ssoAutoAuth, work/start·say 바디토큰+{ok,data} 언래핑. work/start·say ok:true 검증.
  • 전략.html: ssoAutoAuth, strategy/run 바디토큰·latest 쿼리토큰, 한국어 평탄 JSON 정규화→TOAU 카드. strategy/run ok:true 검증.

회귀·복구

  • 과부하 시드로 STR 풀 고갈(32MB/count 524288) → 9905·9912 행, 9908·9910·9911 다운. 전 서버 재기동으로 복구(전 포트 200).
  • aimed-platform 시뮬 5스텝 실패 = 9911 다운 탓 → 재기동 후 5/5 A 복구. 스피어 S/100% 유지.

잔여

  • aimed067~070 재시드(STR풀 회복 후), enterprise 서버 워치독 미적용(수동 재기동), 6561 대량 시드 시 배치 간 재기동 필요(STR풀).