> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudthinker.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 보안 테스트 실행

> 앱 대상과 범위를 설정하고 도메인을 확인한 뒤 테스트 액세스를 추가해 보안 테스트를 실행하거나 예약합니다.

보안 테스트는 실행 중인 앱 하나에 대한 DAST 스캔입니다. CloudThinker가 설정한 범위 안에서 앱을 테스트하고, 확인한 모든 문제의 요청·응답 증거를 저장합니다. 테스트 권한이 있는 대상, 범위, 액세스, 강도를 선택합니다.

## 사전 요구 사항

* 앱을 테스트할 권한과 도메인의 DNS 레코드를 추가할 권한.
* 워크스페이스에서 Cyber를 만들고 실행할 권한.
* 필요한 경우 테스트 계정과 [연결된 Git 제공자](https://docs.cloudthinker.io/ko/guide/connections/overview.md).

## 앱 설정

**1. 대상 선택**

**Cyber**에서 앱을 만듭니다. **Target**에서 **App name**, **Application URL**을 입력하고 **OWASP Web** 또는 **OWASP API** 중 하나를 선택합니다.

**Continue**로 저장합니다. 소유권 확인이 필요하면 **Create DNS proof**를 누르고 표시된 이름과 값으로 TXT 레코드를 추가한 뒤 **Check again**을 누릅니다.

**완료 상태:** **Target ownership**이 **Verified**로 표시됩니다. 같은 호스트의 확인된 증명을 재사용할 수 있습니다.

![앱 이름, 대상 URL, Web 또는 API 범위.](https://mintcdn.com/cloudthinker/YUtBQCA-74Ac7wGh/images/security/cyber/02-test-target.png?fit=max\&auto=format\&n=YUtBQCA-74Ac7wGh\&q=85\&s=5cb73b9c91f3172933e05ad5f8716148)

앱 이름, 대상 URL, Web 또는 API 범위.

**2. 액세스 추가**

**Access**에서 선택적으로 테스트 사용자, 저장소, API 문서를 추가합니다. 사용자별 역할, 테넌트, 예상 권한을 설명합니다.

선택 입력을 건너뛸 수 있습니다. 입력이 부족한 검사는 제한 사항으로 남으며 안전한 것으로 판정되지 않습니다.

![테스트 사용자, 소스 코드, API 문서는 선택 사항입니다.](https://mintcdn.com/cloudthinker/YUtBQCA-74Ac7wGh/images/security/cyber/03-test-access.png?fit=max\&auto=format\&n=YUtBQCA-74Ac7wGh\&q=85\&s=e88123ad92a4a6c58421bf09b1845858)

테스트 사용자, 소스 코드, API 문서는 선택 사항입니다.

**3. 검토하고 시작**

**Start**에서 대상, 검사 범위, 액세스, 강도를 확인합니다. **Start test**로 실행하거나 **Run later**로 실행 없이 설정을 완료합니다.

설정 완료 후 대상과 OWASP 프레임워크는 변경할 수 없습니다. 변경하려면 다른 앱을 만드세요.

## 도메인 확인

표시된 TXT 레코드 이름과 값을 사용합니다. DNS 제공자가 영역 이름을 자동으로 붙이면 해당 접미사를 입력하지 마세요. Cloudflare를 사용한다면 [공식 DNS 안내](https://developers.cloudflare.com/dns/manage-dns-records/how-to/create-dns-records/)를 확인하세요.

확인된 도메인은 **Cyber → Settings**에서 관리합니다. 도메인 확인은 저장된 테스트 범위를 넓히지 않습니다.

![표시된 TXT 이름과 값을 복사한 다음 DNS를 확인합니다.](https://mintcdn.com/cloudthinker/_u5eRuTpYujlERGZ/images/security/cyber/05-domain-dns-proof.png?fit=max\&auto=format\&n=_u5eRuTpYujlERGZ\&q=85\&s=642a1f1048da35a51ff1bbec4a7b473f)

표시된 TXT 이름과 값을 복사한 다음 DNS를 확인합니다.

## 로그인 방법 선택

| 방법 | 입력 항목 |
| - | - |
| **Password** | 사용자 이름, 비밀번호, 선택적 로그인 URL |
| **TOTP** | 사용자 이름, 비밀번호, 인증 앱 설정 키, 선택적 로그인 URL 또는 안내. 요청 시 실행에만 사용 |
| **Session token** | 로그인한 요청을 cURL로 복사. **Verify and attach**로 저장 전에 확인합니다 |
| **Long-lived token** | API가 요구하는 요청 헤더. 접근을 확인하지 않고 저장하며, 실행에서 헤더를 사용하고 접근 거부를 보고합니다 |
| **Agent creates new account** | 실행마다 새 계정을 만들고 로그인하는 지침과 성공 기준 |

비밀번호 로그인에 CAPTCHA가 필요하면 실행 전에 [CAPTCHA 옵션](https://docs.cloudthinker.io/ko/guide/security/captcha.md)을 설정하세요.

비밀번호나 장기 토큰을 저장해도 인증된 접근이 입증되지는 않습니다. 보호된 경로가 테스트되었다고 판단하기 전에 실행의 로그인 결과를 확인하세요. 만료되거나 취소된 토큰은 다음 실행 전에 갱신하세요.

자동 생성 사용자 지침에는 `<generated_username>`과 `<generated_password>`를 사용합니다. 역할, 성공 기준, 필요한 계정 정리 방법도 적습니다. 이메일 또는 SMS 확인이 필요한 가입은 이 방법에서 지원하지 않습니다.

![전용 테스트 사용자와 예상 액세스 권한을 설명합니다.](https://mintcdn.com/cloudthinker/_u5eRuTpYujlERGZ/images/security/cyber/13-test-user-credentials.png?fit=max\&auto=format\&n=_u5eRuTpYujlERGZ\&q=85\&s=43b85f6db43decd66878b1f2fd2b72e6)

전용 테스트 사용자와 예상 액세스 권한을 설명합니다.

## 범위와 강도 설정

앱 **Settings**에서 허용 경로, 제외 경로, 테스트 사용자, 코드, 문서, 일정을 관리합니다.

| 액세스 | 컨텍스트 |
| - | - |
| **Black-box** | 공개 액세스 |
| **Gray-box** | 로그인한 액세스 |
| **White-box** | 실행 중인 앱과 연결된 소스 |

| 강도 | 허용 동작 |
| - | - |
| **Safe** | 읽기 전용 요청 |
| **Aggressive** | 테스트 데이터 변경을 포함한 적극적 테스트. 파괴적 작업은 제외합니다 |
| **Full** | 범위 안에서 삭제를 포함한 파괴적 작업을 시도할 수 있습니다 |

> [!WARNING]
>
> 적극적 테스트는 데이터를 변경할 수 있습니다. Aggressive와 Full 전에 범위를 검토하세요. Full은 데이터를 영구 삭제할 수 있습니다.

![데모 API의 포함 경로와 제외 경로.](https://mintcdn.com/cloudthinker/YUtBQCA-74Ac7wGh/images/security/cyber/06-test-scope.png?fit=max\&auto=format\&n=YUtBQCA-74Ac7wGh\&q=85\&s=68ebbe69da0796713606b70ac94636f2)

데모 API의 포함 경로와 제외 경로.

## 실행과 확인

저장된 앱에서 **Run test**를 누릅니다. **Run now** 또는 **Schedule**을 선택하고 표시된 시간대와 액세스를 확인합니다. 임시 세션은 즉시 실행과 예약 실행에서 액세스가 다를 수 있습니다.

소스가 있으면 **Full**은 전체 저장소를, **Incremental**은 마지막 성공 이후 변경을 우선합니다. 첫 실행은 Full입니다.

**Timeline**에서 진행을 확인합니다. **Stop run**은 실행을 취소하며 재개할 수 없습니다. 저장된 발견 항목은 유지됩니다. 실패하거나 취소된 실행은 완전한 평가가 아닙니다.

![설정과 강도를 검토한 다음 테스트를 실행하거나 예약합니다.](https://mintcdn.com/cloudthinker/YUtBQCA-74Ac7wGh/images/security/cyber/07-run-test.png?fit=max\&auto=format\&n=YUtBQCA-74Ac7wGh\&q=85\&s=3f946c93f57d3b261ed2aa51ed1877cf)

설정과 강도를 검토한 다음 테스트를 실행하거나 예약합니다.

![실행 기록, 타임라인, 발견 항목, App surface.](https://mintcdn.com/cloudthinker/_u5eRuTpYujlERGZ/images/security/cyber/08-run-workbench.png?fit=max\&auto=format\&n=_u5eRuTpYujlERGZ\&q=85\&s=f6006424c4888f08190fe3e16f2e3de2)

실행 기록, 타임라인, 발견 항목, App surface.

## 발견 항목 처리

**Findings**는 Table과 Kanban을 제공합니다. 열은 **Needs verification**, **Confirmed**, **In progress**, **Awaiting retest**, **Verified fixed**, **Dismissed**입니다.

재테스트 표시는 다음 스캔을 위한 표시이며 실행을 시작하지 않습니다. 단서를 직접 확인하거나 수정 완료로 표시할 수 있지만 재테스트 증거와는 다릅니다. 무시하려면 이유가 필요합니다. 스캔으로 수정이 확인된 항목은 스캔만 다시 열 수 있습니다.

**Create PR with agent** 또는 이슈 트래커로 수정을 전달합니다. 티켓 생성이나 수정 병합은 판정을 바꾸지 않습니다.

## 보고서

[Reports](https://docs.cloudthinker.io/ko/guide/security/cyber-reports.md)에서 선택한 Confirmed 항목의 보고서나 실행 문서를 받습니다. Findings에는 개별 PDF 다운로드가 남습니다.

## 다음 단계

> **[Cyber 보고서 만들기](https://docs.cloudthinker.io/ko/guide/security/cyber-reports.md)**
>
> 증거와 평가 문서를 공유합니다


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.