공개 에이전트 설치 파일 게시 · 2026-10-12
원인
공개 저장소에는 타워 0.1.0과 0.1.1만 게시되어 있었습니다. 에이전트 소스와 2026-10-06에 준비한 빌드 파일은 있었지만, 공개 릴리즈는 게시하지 않은 상태였습니다.
README와 설치 안내에서도 에이전트 설치 파일을 준비 중으로 표시했습니다.
사내용 0.2.39는 특정 회사의 기본 타워 주소를 사용합니다. 공개 소스는 회사 타워 주소와 등록 키를 비워 두고 설치할 때 입력하도록 구성되어 있습니다. 사내용 파일을 공개 다운로드로 복사하지 않고 공개 소스에서 새 버전을 만들었습니다.
해결 방법
- 공개 에이전트 0.2.40을 게시했습니다. Windows x64 설치 EXE, Windows x64·macOS x64/ARM64·Linux x64/ARM64의 실행 파일 및 OCR 전체 ZIP, Linux 메일 게이트 2종, VERSION·SHA256SUMS를 포함한 15개 파일입니다.
- Windows 설치 파일 바로 받기를 README와 릴리즈에 연결했습니다. 실행 파일의 Windows 버전 리소스도 새 버전으로 생성했습니다.
- README, 시작 안내, 직원 PC 연결, Docker·Windows 타워 배치, FAQ와 지원 범위를 공개 다운로드 기준으로 정리했습니다.
- 공개 빌드 소스는
b4ac5dcead6525da44d35aa2ce1557d2b553761c입니다. 모든 실행 파일의 Go 빌드 정보에서 이 커밋과vcs.modified=false를 확인했습니다. Go 1.27.1은 공식 다운로드의 SHA-256을 확인한 뒤 사용했습니다. - 원본 저장소의 공개 빌드 브랜치
codex/public-agent-0.2.40에도 같은 소스 커밋을 보존했습니다. 현재 브랜치 이름은public-agent-0.2.40입니다. 공식 원본 릴리즈에도 동일한 15개 파일을 게시했습니다. 원본main의 개발 작업을 바꾸지 않았습니다. - 초안에 모든 파일을 올리고 실제 업로드 바이트를 대조한 뒤 게시했습니다. 공개 파일은 인증 없이 다시 전부 내려받아 로컬 최종 바이트와 비교했습니다.
확인한 결과
| 검사 | 결과 |
|---|---|
| Go 테스트 | 대상 패키지 24개. 첫 검사에서 23개 성공·캐시 시간 검사 1개 실패. 빌드 종료 후 실패한 internal/scan 전체 재검사 성공 |
| 캐시 시간 검사 | 빌드와 동시에 실행할 때 20만 항목 읽기 336ms로 300ms 기준 초과. 제품 코드·기준을 바꾸지 않고 빌드 종료 후 재검사 통과 |
| 전체 빌드 | Windows x64, macOS x64/ARM64, Linux x64/ARM64, Windows 설치 EXE 및 Linux 메일 게이트 2종 성공 |
| Windows 브랜드 | 승인 원본 ICO로 실제 실행·설치·제거 PE의 기본 아이콘과 6개 해상도/변형 검사 성공 |
| 전체 ZIP | 실행 파일 일치, OCR 런타임·모델 체크섬, PNG·ICNS, 라이선스, ZIP 손상 검사 성공 |
| 공개 소스 검사 | 운영 파일·개인 키·내장 서버 주소 없음. 실제 인증 토큰과 사내 서버 주소가 실행 파일에 없는 것도 확인 |
| Linux 최종 패키지 | OCR 런타임 로드 성공. 합성 TXT 2개에서 탐지 1개·탐지 없음 1개, 읽기 실패 0개 |
| 공개 다운로드 | 로그인 없이 파일 15개를 전부 받아 SHA-256과 크기를 대조. 모두 일치 |
| 릴리즈 화면 | 로그인하지 않은 브라우저에서 릴리즈 목록·Windows 직접 링크·OS별 ZIP 표시 확인 |
| 기존 릴리즈 | 공개 Tower 2개와 기존 공식 에이전트 10개의 릴리즈 본문·첨부 ID·이름·크기 보존 확인 |
Windows 설치 EXE의 최종 SHA-256은 3869026a426b9b550730edb3df638b1714059ba9490d85162dd7d30129f96c9d입니다. 전체 파일은 릴리즈의 SHA256SUMS를 기준으로 확인합니다.
적용 범위와 한계
이번 작업은 공개 설치 파일 게시와 안내 보완입니다. 새로운 탐지 규칙이나 회사 서버 설정을 추가하지 않았습니다. 사내 운영 Tower의 기존 에이전트 0.2.39를 자동 승격하거나 직원 PC를 업데이트하지 않았습니다.
Windows 설치 파일은 코드 서명 없이 제공합니다. 공개 빌드에 대해 모든 OS의 신규 설치, 바로가기, 트레이와 창을 실제로 확인한 것은 아닙니다.
패키지와 아이콘의 정적 검사는 실제 OS 설치 확인과 구분합니다. 기존 사내용 Windows 검증 기록도 이번 공개 파일의 검사 결과와 따로 관리합니다.
일반 PC 서버에서의 1,000대 장기 운영과 모든 회사 문서의 탐지 정확도는 이번 검증 범위에 포함하지 않았습니다.
재현
공개 소스를 내려받고 저장소 루트에서 시작합니다. 빌드 환경은 개발 안내를 따릅니다.
cd agent-go
DIST="$PWD/../dist/agent" pack/build-agents.sh
go test ./...
cd ..
python3 agent-go/pack/verify-release.py dist/agent
python3 tools/verify-public-tree.py
빌드와 시간 기준 테스트를 함께 돌리지 않습니다. 빌드 전에 소스와 Windows 리소스를 커밋하여 빌드 정보의 커밋과 실제 소스가 일치하도록 합니다. 게시에는 기존 pack/release.sh의 초안·동일 바이트 재개·전체 다운로드 대조 절차를 사용합니다. 게시한 파일과 태그는 덮어쓰지 않습니다.
제안사항
자기 회사 시험 PC에서 서버 주소·인증서·등록·검사·직원 조치 재검사를 확인한 뒤 배포합니다. 이후 버전도 공개 Releases, 직접 다운로드 안내, 전체 패키지·체크섬과 인증 없는 다운로드 대조를 함께 갱신합니다.
원문: 공개 소스 b915c42. 문서 갱신일 2026-10-12.