업데이트로 돌아가기
New releaseJul 31, 2026

Sirius v1.1.0

자동 네트워크 탐색, CVE 기반 탐지, CVSS 점수, 위험 대시보드, gRPC를 통한 원격 에이전트, 그리고 엔터프라이즈 보안 팀을 위한 현대적인 웹 UI를 갖춘 오픈소스 취약점 스캐너입니다.

공유

시리우스 스캔

CI Release Registry License: MIT Discord

Sirius Scan Dashboard

시리우스는 자동 탐색, CVE 기반 탐지, 현대적인 웹 UI를 갖춘 오픈소스 취약점 스캐너입니다. 클론 후 네 개의 명령어를 실행하면 스캔을 시작할 수 있습니다.

빠른 시작

git clone https://github.com/SiriusScan/Sirius.git
cd Sirius
docker compose -f docker-compose.installer.yaml run --rm sirius-installer
docker compose up -d

**http://localhost:3000**을 열고 로그인하세요:

이메일[email protected]
비밀번호설치 프로그램이 출력합니다 (출력에서 INITIAL_ADMIN_PASSWORD를 찾으세요)

그게 전부입니다. 여섯 개의 서비스가 자동으로 시작됩니다. 설치 프로그램은 첫 실행 시 안전한 시크릿을 생성하며, 다시 실행해도 안전합니다.

기본적으로 설치 프로그램은 IMAGE_TAG를 설정하지 않으므로 Compose는 GHCR에서 **latest**를 가져옵니다. 릴리스 (예: .env에서 v1.0.0)를 고정하려면, 해당 태그가 여섯 개의 모든 컨테이너 이미지에 존재하는 경우에만 수행하세요. ghcr.io에 로그인하지 않은 셸에서 bash scripts/verify-ghcr-public-access.sh v1.0.0으로 확인하세요.

요구 사항: Docker Engine 20.10+ 및 Compose V2, 4 GB RAM, 10 GB 디스크. Linux, macOS, Windows (WSL2)에서 작동합니다.

시리우스의 기능

  • 네트워크 탐색 -- Nmap을 통한 자동 호스트 및 서비스 열거
  • 취약점 탐지 -- CVSS 점수를 사용한 CVE 기반 스캔
  • 위험 대시보드 -- 실시간 스캔 진행 상황, 심각도 추세 및 수정 지침
  • 원격 에이전트 -- gRPC를 통한 여러 환경에 걸친 분산 스캔
  • 대화형 터미널 -- 고급 스크립팅 및 자동화를 위한 PowerShell 콘솔
  • REST API -- 기존 보안 워크플로우와 통합 (X-API-Key 인증, 포트 9001)

배포 옵션

설치 단계는 항상 동일합니다. docker compose up 명령어만 변경됩니다.

모드명령어사용 사례
표준docker compose up -d대부분의 사용자 -- GHCR에서 전체 릴리스 스택을 가져옴
개발docker compose -f docker-compose.yaml -f docker-compose.dev.yaml up -d로컬 코드 작업을 위한 라이브 리로드
소스 빌드docker compose -f docker-compose.yaml -f docker-compose.build.yaml up -d --build명시적 로컬 전체 스택 빌드
프로덕션docker compose -f docker-compose.yaml -f docker-compose.prod.yaml up -d강화된 설정, pull_policy: always

비대화형 설정 (CI / Terraform / 자동화)

docker compose -f docker-compose.installer.yaml run --rm sirius-installer --non-interactive --no-print-secrets
docker compose up -d

시크릿 순환

docker compose -f docker-compose.installer.yaml run --rm sirius-installer --force
docker compose up -d --force-recreate

설치 확인

docker compose ps                    # 모든 6개 서비스가 "healthy" 또는 "running" 상태여야 함
curl http://localhost:3000            # UI 응답
curl http://localhost:9001/health     # API 응답

예상 서비스: sirius-ui (3000), sirius-api (9001), sirius-engine (5174, 50051), sirius-postgres (5432), sirius-rabbitmq (5672, 15672), sirius-valkey (6379).

아키텍처

graph TD
    subgraph clients [클라이언트]
        UI["Sirius UI (Next.js)"]
        CLI["터미널 및 에이전트 런타임"]
    end

    subgraph core [핵심 서비스]
        API["Sirius API (Go/Gin)"]
        Engine["Sirius 엔진"]
    end

    subgraph infra [인프라]
        MQ["RabbitMQ"]
        DB["PostgreSQL"]
        Cache["Valkey"]
    end

    UI -->|"HTTP/WebSocket"| API
    CLI -->|"gRPC"| Engine
    API -->|"AMQP publish"| MQ
    MQ -->|"Queue consume"| Engine
    API -->|"SQL read/write"| DB
    Engine -->|"SQL read/write"| DB
    API -->|"Session/cache ops"| Cache
    Engine -->|"Scan state cache ops"| Cache
서비스기술포트용도
sirius-uiNext.js 14, React, Tailwind3000웹 인터페이스
sirius-apiGo, Gin9001REST API 및 비즈니스 로직
sirius-engineGo + 임베디드 gRPC 에이전트5174, 50051스캐너, 터미널, 에이전트 서비스
sirius-postgresPostgreSQL 155432취약점 및 스캔 데이터
sirius-rabbitmqRabbitMQ5672, 15672서비스 간 메시징
sirius-valkeyValkey (Redis 호환)6379캐시 및 세션 데이터

인터페이스

대시보드스캐너취약점 탐색기
DashboardScannerVulnerabilities
환경호스트 세부정보터미널
EnvironmentHostTerminal

API

시리우스는 내부 서비스 API 키로 보호되는 REST 엔드포인트를 포트 9001에 노출합니다. Docker 시크릿 파일(SIRIUS_API_KEY_FILE, 기본값 /run/secrets/sirius_api_key)을 선호합니다. SIRIUS_API_KEY는 지원되는 환경 변수 대체 수단으로 남아 있습니다. 설치 프로그램은 ./secrets/sirius_api_key.txt (모드 0644로, 비루트 앱 UID가 바인드 마운트된 시크릿을 읽을 수 있도록 함)를 작성하고 둘 다 구성합니다.

curl http://localhost:9001/health -H "X-API-Key: $SIRIUS_API_KEY"
curl http://localhost:9001/api/v1/scan/get/all -H "X-API-Key: $SIRIUS_API_KEY"

전체 API 문서: REST API 참조

보안 권장 사항

프로덕션 배포의 경우:

  1. 시크릿 순환 -- 설치 프로그램을 --force로 실행하여 모든 자격 증명을 재생성합니다.
  2. 포트 제한 -- 포트 3000(UI)만 노출하고, 5432, 6379, 5672는 내부로 유지합니다.
  3. 리버스 프록시 사용 -- nginx 또는 Traefik을 TLS와 함께 앞에 둡니다.
  4. 이미지 업데이트 유지 -- docker compose pull && docker compose up -d

문제 해결

일반적인 문제에 대한 빠른 해결 방법:

문제해결 방법
서비스가 시작되지 않음docker compose logs <서비스>로 오류 확인
개발 오버레이에 인프라 누락두 파일을 함께 사용: -f docker-compose.yaml -f docker-compose.dev.yaml
포트 충돌lsof -i :3000으로 충돌하는 프로세스 찾기
데이터베이스 연결 오류docker exec sirius-postgres pg_isready 실행
재설정 후 오래된 시크릿설치 프로그램을 다시 실행한 후 docker compose up -d --force-recreate 실행

자세한 운영 런북, 검증 절차 및 비상 복구는 운영 및 문제 해결을 참조하세요.

기여하기

개발 설정, 코딩 표준 및 PR 지침은 CONTRIBUTING.md를 참조하세요.

빠른 링크: 이슈 | 토론 | Discord

추가 자료

라이선스

MIT

카테고리