---
url: https://docs.ogmabox.com/ko/reference/cli.md
description: 명령줄에서 Ogma를 로컬 프록시 서버, MCP 프로세스, 헤드리스 침투 테스트 명령 또는 개발용 백엔드로 실행합니다.
---

# CLI 참조 {#cli-reference}

Ogma의 Rust 백엔드는 로컬 프록시 서버, 내장 MCP 프로세스 또는 헤드리스 침투 테스트 명령으로 실행할 수 있습니다.

패키지로 배포된 데스크톱 버전 사용자는 보통 애플리케이션에서 Ogma를 시작합니다. CLI는 개발, 자동화, 서버 방식의 로컬 테스트에 유용합니다.

## 서버 모드 {#server-mode}

```bash
ogma \
  --listen 127.0.0.1:8080 \
  --api-port 127.0.0.1:8181 \
  --data-dir ./ogma-data
```

### 공통 플래그 {#common-flags}

| 플래그 | 기본값 | 용도 |
| --- | --- | --- |
| `--listen` | `127.0.0.1:8080` | 프록시 리스너 주소입니다. |
| `--api-port` | `127.0.0.1:8181` | REST API 및 프런트엔드 서버 주소입니다. |
| `--data-dir` | `./ogma-data` | 프로젝트 데이터베이스, 인증서, 플러그인, 내보내기 파일 및 로컬 상태를 저장합니다. |
| `--max-plugin-size` | `52428800` | 플러그인 패키지의 최대 크기이며 단위는 바이트입니다. |
| `--intercept-queue-cap` | `1000` | 새 트래픽을 그대로 전달하기 전에 대기열에 넣을 수 있는 가로채기 항목의 최대 개수입니다. |
| `--ui-dir` | 미설정 | API 서버가 제공할 빌드된 프런트엔드 파일이 있는 디렉터리입니다. |

## OAST 플래그 {#oast-flags}

| 플래그 | 기본값 | 용도 |
| --- | --- | --- |
| `--oast-http-port` | `8888` | HTTP 콜백 리스너입니다. 비활성화하려면 `0`을 사용합니다. |
| `--oast-https-port` | `8443` | HTTPS 콜백 리스너입니다. 비활성화하려면 `0`을 사용합니다. |
| `--oast-dns-port` | `5353` | DNS 콜백 리스너입니다. 비활성화하려면 `0`을 사용합니다. |
| `--oast-smtp-port` | `2525` | SMTP 콜백 리스너입니다. 비활성화하려면 `0`을 사용합니다. |
| `--oast-domain` | `oast.local` | 생성된 콜백 호스트 이름에 사용하는 도메인입니다. |
| `--oast-public-ip` | 미설정 | OAST DNS A 레코드 응답에서 반환할 공인 IP입니다. |

## 헤드리스 침투 테스트 모드 {#headless-pentest-mode}

`pentest` 하위 명령은 탐색, 수동형 분석, 선택적 능동형 스캔을 실행하고 Markdown 보고서를 출력합니다.

```bash
ogma pentest https://example.com \
  --depth 3 \
  --concurrency 10 \
  --min-severity medium \
  --output report.md
```

### 침투 테스트 플래그 {#pentest-flags}

| 플래그 | 기본값 | 용도 |
| --- | --- | --- |
| `--depth` | `3` | 탐색 깊이입니다. `0`은 무제한을 뜻합니다. |
| `--concurrency` | `10` | 최대 동시 요청 수입니다. |
| `--no-active` | 비활성화 | 능동형 스캔을 비활성화하고 탐색과 수동형 분석만 실행합니다. |
| `--min-severity` | `medium` | 종료 코드 `1`을 반환하는 최소 심각도입니다. 유효한 값은 `info`, `low`, `medium`, `high`, `critical`입니다. |
| `--output` | stdout | 표준 출력 대신 파일에 보고서를 씁니다. |

종료 코드:

| 코드 | 의미 |
| --- | --- |
| `0` | 완료되었으며 심각도 기준을 충족하는 발견 사항이 없습니다. |
| `1` | 완료되었으며 심각도 기준을 충족하는 발견 사항이 하나 이상 있습니다. |
| `2` | 실행 또는 설정 오류입니다. |

## MCP 모드 {#mcp-mode}

MCP는 Ogma 설정에서 시작하거나 독립 실행형 `ogma-mcp` 바이너리로 시작할 수 있습니다. 숨겨진 백엔드 플래그는 Ogma가 내부 MCP 프로세스를 실행할 때 내장 MCP 모드도 지원합니다.

일반적인 설정 방법은 [MCP 설정](../mcp-setup.md)을 참고하세요.

### 독립 실행형 `ogma-mcp` 플래그 {#standalone-ogma-mcp-flags}

```bash
ogma-mcp \
  --api-url http://127.0.0.1:8181 \
  --body-preview-bytes 2048
```

| 플래그 | 환경 변수 | 기본값 | 용도 |
| --- | --- | --- | --- |
| `--api-url` | `OGMA_API_URL` | `http://127.0.0.1:8181` | 실행 중인 Ogma 백엔드의 API URL입니다. |
| `--body-preview-bytes` | 미설정 | `512` | 읽기 도구가 반환하는 본문 미리보기의 최대 바이트 수입니다. |
| `--allow-write-findings` | `OGMA_MCP_ALLOW_WRITE_FINDINGS` | 비활성화 | 발견 사항 생성, 수정, 태그 지정 및 증거 연결을 허용합니다. |
| `--allow-export-data` | `OGMA_MCP_ALLOW_EXPORT_DATA` | 비활성화 | 내보내기 작업 생성을 허용합니다. |
| `--allow-read-secrets` | `OGMA_MCP_ALLOW_READ_SECRETS` | 비활성화 | 마스킹하지 않은 환경 변수 값을 반환합니다. |
| `--allow-send-requests` | `OGMA_MCP_ALLOW_SEND_REQUESTS` | 비활성화 | 트래픽 전송, 브라우저 조작, 크롤링, 탐지 요청, 인증 테스트 또는 WebSocket 연결을 수행하는 도구를 허용합니다. |
| `--allow-run-workflows` | `OGMA_MCP_ALLOW_RUN_WORKFLOWS` | 비활성화 | 워크플로 미리보기, 실행 및 취소 도구를 허용합니다. |
| `--allow-intercept-control` | `OGMA_MCP_ALLOW_INTERCEPT_CONTROL` | 비활성화 | 가로채기 대기열 제어, 전달, 폐기 및 수정을 허용합니다. |
| `--tool-profile` | `OGMA_MCP_TOOL_PROFILE` | `full` | 이전 버전 호환용 플래그입니다. 이전 명령이 `core` 또는 `discovery`를 전달하더라도 모든 도구를 항상 공개합니다. `--mcp-tool-profile`은 별칭입니다. |

MCP는 프로토콜 메시지를 stdout에 쓰므로 실행 로그는 stderr로 출력합니다.

불리언 권한 환경 변수는 `true`를 지정하면 해당 기능을 허용합니다. 서버에는 분당 또는 세션당 활동 할당량이 없지만 개별 도구의 제한은 계속 적용됩니다. 제거된 할당량 플래그는 허용되지 않습니다. Stdio 플래그는 내장 MCP 설정과 별개로 해당 프로세스를 설정합니다.

## 개발용 빌드 {#development-builds}

저장소 루트에 로컬 빌드 스크립트가 있습니다:

```bash
./build-local.sh
./build-desktop-local.sh
```

패키지로 배포되는 Electron 환경을 테스트할 때는 데스크톱 빌드를 사용하세요. API와 웹 UI 동작을 테스트할 때는 백엔드/프런트엔드 빌드를 사용하세요.
