first commit

This commit is contained in:
linkitapps
2026-09-14 23:22:10 +09:00
commit 9f9c8fb69b
4207 changed files with 1333187 additions and 0 deletions
+56
View File
@@ -0,0 +1,56 @@
# NEXPA SourceHub 3.8 QA RESULT
검증일: 2026-09-07
## 자동 테스트
- Python compile: PASS
- Frontend JavaScript syntax: PASS
- API pytest: **6 passed**
- Health/System status: PASS
- 7개 Current Baseline seed: PASS
- 실제 파일 upload: PASS
- Server-side SHA-256: PASS
- Immutable R2 revision: PASS
- Signed download URL: PASS
- 변조된 download token 차단: PASS
- 역할별 approval permission: PASS
- Git binding permission: PASS
- Deployment Gate / disabled executor 처리: PASS
- 배포 실패/비활성 상태 감사 로그 기록: PASS
## 인증 Gate 검증
- OIDC 모드 미인증 `/`: 로그인 화면만 표시 — PASS
- `/static/index.html` 직접 접근: **404** — PASS
## Migration / Recovery Drill
- Alembic initial migration: PASS
- `alembic_version` 생성: PASS
- SQLite DB backup → restore: PASS
- Local storage backup → restore: PASS
- 복구 파일 무결성 확인: PASS
## 구현된 Production Hardening
- Trusted Host
- Security Headers / CSP
- Secure Session 옵션
- CSRF
- ClamAV adapter
- SHA-256 before persistence
- Expiring HMAC download URL
- Server-side deployment target allowlist
- Deployment Gate enforcement
- Alembic
- DB/storage backup & restore tools
- DB/MinIO startup retry
## 아직 실제 운영값이 필요한 Gate
다음은 코드 QA 대상이 아니라 실제 NEXPA 서버 Credential/Infrastructure가 필요합니다.
- NEXPA Core OIDC Metadata / Client ID / Secret
- PostgreSQL 운영 Credential
- MinIO 운영 Credential
- ClamAV 운영 Container 연결 확인
- Gitea URL / Token / Repository Binding
- 실제 CI/CD Webhook URL / Secret
- TLS certificate / Nginx 적용
이 값이 채워지기 전에는 `/api/system/status`가 `production_ready=false`를 반환합니다.