
オープンソースの脆弱性スキャナーで、自動ネットワーク発見、CVEベースの検出、CVSSスコアリング、リスクダッシュボード、gRPC経由のリモートエージェント、および企業のセキュリティチーム向けのモダンなWeb UIを備えています。
http://localhost:3000 を開いてログイン:
| メールアドレス | [email protected] |
| パスワード | インストーラーが出力します(出力内の INITIAL_ADMIN_PASSWORD を探してください) |
これだけです。6つのサービスすべてが自動的に起動します。インストーラーは初回実行時に安全なシークレットを生成し、再実行しても安全です。
デフォルトではインストーラーは IMAGE_TAG を設定しないため、Compose は GHCR から latest をプルします。リリース(例:.env 内で v1.0.0)を固定する場合は、そのタグが 6つすべてのコンテナイメージに存在していることを確認してからにしてください。確認するには、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)で動作します。
X-API-Key認証)インストーラーの手順は常に同じです。変更されるのは 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 |
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 [Clients]
UI["Sirius UI (Next.js)"]
CLI["Terminal and Agent Runtime"]
end
subgraph core [Core Services]
API["Sirius API (Go/Gin)"]
Engine["Sirius Engine"]
end
subgraph infra [Infrastructure]
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-ui | Next.js 14, React, Tailwind | 3000 | Webインターフェース |
| sirius-api | Go, Gin | 9001 | REST APIとビジネスロジック |
| sirius-engine | Go + 埋め込みgRPCエージェント | 5174, 50051 | スキャナー、ターミナル、エージェントサービス |
| sirius-postgres | PostgreSQL 15 | 5432 | 脆弱性とスキャンデータ |
| sirius-rabbitmq | RabbitMQ | 5672, 15672 | サービス間メッセージング |
| sirius-valkey | Valkey (Redis互換) | 6379 | キャッシュとセッションデータ |
| ダッシュボード | スキャナー | 脆弱性ナビゲーター |
|---|---|---|
![]() | ![]() | ![]() |
| 環境 | ホスト詳細 | ターミナル |
|---|---|---|
![]() | ![]() | ![]() |
Siriusはポート9001でRESTエンドポイントを公開し、内部サービスAPIキーで保護されています。Dockerシークレットファイル(SIRIUS_API_KEY_FILE、デフォルトは/run/secrets/sirius_api_key)を推奨します。SIRIUS_API_KEYは引き続きサポートされる環境変数のフォールバックとして残ります。インストーラーは./secrets/sirius_api_key.txt(非rootアプリケーションUIDがバインドマウントされたシークレットを読み取れるよう0644モード)を作成し、両方を設定します。
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リファレンス
本番デプロイメントの場合:
--force で実行してすべての資格情報を再生成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 を参照してください。
クイックリンク: Issues | Discussions | Discord