zioinfo-mail/docs/system_spec.md
DESKTOP-TKLFCPR\ython 45f96176a6 Initial commit: GUARDiA project setup
- CLAUDE.md: project context and architecture spec
- docs/: system specs, DB schema, messenger integration, deployment engine
- skills/: guardia-deploy, guardia-agent, guardia-messenger
- .claude/settings.json: project-level permissions
- .gitignore: Python/FastAPI project

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-24 18:50:19 +09:00

97 lines
4.5 KiB
Markdown

# [Specification] GUARDiA 시스템 아키텍처 명세
## 1. 프로젝트 개요
### 1.1. 구축 배경
- 1,000개 이상의 관공서 SM 사이트, 10,000+ 운영 환경 관리
- 레거시 서버: 에이전트 설치 불가, 수동 FTP/SSH 반복 작업 만연
- 목표: 메신저 자연어 명령 → AI → 에이전트리스 자동 배포·운영
### 1.2. 핵심 가치
- **ChatOps**: 메신저가 유일한 터미널
- **Agentless**: SSH/FTP 표준 프로토콜만 사용
- **Human-in-the-loop**: PM 최종 승인 후 실행
---
## 2. 전체 아키텍처 (3-Layer)
```
┌─────────────────────────────────────────────────────────┐
│ INTAKE LAYER (현장 접수) │
│ 메신저 앱/웹 → Webhook → 입력 검증 모듈 │
└───────────────────────┬─────────────────────────────────┘
┌───────────────────────▼─────────────────────────────────┐
│ CONTROL LAYER (지능형 제어) │
│ ① SR/Ops 작업 관리 엔진 (상태: RECEIVED→COMPLETED) │
│ ② RBAC 보안 승인 엔진 (담당자→대리→상위 에스컬레이션)│
│ ③ sLLM Parser (자연어→JSON 정형화) │
│ ④ Claude Code 에이전트 (코드수정·스크립트 생성) │
│ ⑤ HITL 모듈 (PM 최종 검증 대기) │
└───────────────────────┬─────────────────────────────────┘
┌───────────────────────▼─────────────────────────────────┐
│ EXECUTION LAYER (에이전트리스 실행) │
│ SSH Executor / SFTP Client → 대상 서버(1,000+) │
│ Command Sanitizer → Audit Logger (Hash Chain) │
└─────────────────────────────────────────────────────────┘
```
---
## 3. 기술 스택
| 구분 | 기술 | 버전/비고 |
|------|------|-----------|
| Backend | Python / FastAPI | 3.11+ |
| LLM | Llama-3-8B 또는 Solar-10.7B | 온프레미스, 4-bit 양자화 |
| Infra 제어 | paramiko (SSH/SFTP) | 에이전트리스 |
| DB | PostgreSQL | CMDB + SR + Audit |
| 메신저 연동 | Webhook (REST) | 슬랙/잔디/자체앱 |
| 보안 | AES-256 (자격증명), SHA-256 (감사로그 해시체인) | |
---
## 4. 사용자 역할별 지원 기능
### 4.1. Developer (배포)
- 로컬 빌드 파일(class, html, js, img) 메신저 첨부 → 자동 배포
- 정적 파일: 카피 즉시 반영 (WAS 재기동 불필요)
- 동적 파일(class): 무중단 롤링 재기동 (WAS #1 → 헬스체크 → WAS #2)
### 4.2. SM 운영자
- 원격 로그 분석: 에러 키워드 grep, 타임라인 추출
- 인프라 점검: 디스크/CPU/메모리/포트 임계치 감시
- 자원 정비: 로그 로테이션, 오래된 아카이브 삭제
- SSL 인증서 만료일 사전 감지
### 4.3. PM 관리자
- SR 진척도 및 배포 이력 타임라인 조회
- 민감 시스템 배포 시 2차 승인 워크플로우 제어
- 배포 결과 HITL 최종 확인 후 고객 완료 통보
---
## 5. 핵심 보안 정책
| 정책 | 내용 |
|------|------|
| 자격증명 저장 | AES-256 암호화 DB 저장, 실행 시 메모리 로드 |
| SSH 접근 | 관제 전용 계정(opsagent) + sudoers 화이트리스트 |
| 명령어 필터 | Blacklist: `rm -rf /`, `mkfs`, `drop`, `truncate` |
| 감사 로그 | SHA-256 해시 체이닝 — 위변조 즉시 탐지 |
| Kill-Switch | 메신저 '정지' 명령 → 즉시 중단 + 롤백 |
| 폐쇄망 | 외부 API 호출 금지, sLLM 온프레미스만 허용 |
---
## 6. 개발 로드맵
| Phase | 내용 | 목표 |
|-------|------|------|
| P1 | 메신저 웹훅 + DB 티켓팅 시스템 | SR 접수 → DB 저장 |
| P2 | sLLM 파서 + 승인 워크플로우 | 자연어 → JSON → HITL |
| P3 | SSH/SFTP 배포 엔진 + 롤링 재기동 | 에이전트리스 실행 |
| P4 | End-to-End 자동화 루프 완성 | SR→배포→알림 전 과정 |