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

# 프로젝트 보안 센터

> 자동 스캔과 Agent 기반 보안 검토로 프로젝트의 의존성, 코드, 개인정보 취약점을 찾아보세요.

<Frame>
  <img src="https://mintcdn.com/replit/m66KQX7992wJ3rkk/images/security-scanner/security-scanner-hero.png?fit=max&auto=format&n=m66KQX7992wJ3rkk&q=85&s=fe56b3d0d0735cc2a6dbdba2b252badc" alt="심각도별로 분류된 취약점과 함께 Agent 보안 스캔 결과를 보여주는 프로젝트 보안 센터" style={{ display: 'block', margin: '0 auto' }} width="3402" height="2058" data-path="images/security-scanner/security-scanner-hero.png" />
</Frame>

<Note>
  의존성 보안이 처음이신가요? CVE, SBOM, 노출, Agent로 수정, 재게시, 자동 보호의 정의는 [보안 개념](/references/security/concepts)을 참조하세요.
</Note>

## 결과 분류 방법

두 가지 스캔 유형의 결과는 보안 창에 심각도 수준별로 분류되어 표시됩니다:

* **치명적**: 즉각적인 위험을 초래하며 게시 전에 반드시 해결해야 하는 취약점입니다. 원격 코드 실행, 노출된 엔드포인트의 SQL 인젝션, 자격 증명 유출 등이 포함됩니다.
* **높음**: 특정 조건에서 악용될 수 있는 심각한 문제입니다. 크로스 사이트 스크립팅(XSS), 안전하지 않은 인증 흐름, 알려진 취약점이 있는 패치되지 않은 의존성 등이 포함됩니다.
* **중간**: 잠재적 위험을 나타내지만 악용 가능성이 낮은 문제입니다. 누락된 보안 헤더나 지나치게 허용적인 CORS 구성 등이 포함됩니다.
* **낮음 / 정보**: 사소한 문제나 모범 사례 권장 사항입니다. 더 이상 사용되지 않는 API 사용이나 프로덕션에서의 상세 오류 메시지 등이 포함됩니다.

## 프로젝트 보안 센터란?

프로젝트 보안 센터는 게시 전에 보안 및 개인정보 취약점을 찾고 수정하기 위한 프로젝트의 중앙 허브입니다. 프로젝트의 **보안** 창을 열어 스캔을 실행하고, 발견 사항을 검토하고, 수락된 문제를 Agent에 전송하여 수정하세요.

프로젝트 보안 센터는 두 가지 유형의 스캔을 지원합니다:

1. **자동 의존성 스캔**: 공개 취약점 기록을 기준으로 프로젝트 패키지를 확인하는 무료 경량 스캔
2. **Agent 보안 스캔**: 모델 분석과 정적 코드 분석 도구를 결합하여 전체 코드베이스를 감사하는 AI 지원 검토

두 가지 스캔 유형 모두 동일한 보안 창에 결과를 표시하며, 가장 영향력 있는 문제에 집중할 수 있도록 심각도별로 구성됩니다.

## 자동 의존성 스캔

자동 의존성 스캔은 프로젝트가 의존하는 패키지를 공개 취약점 기록과 대조하여 감사합니다. 이 스캔은 **무료**이며 자동으로 실행됩니다. 새로운 CVE(공개 취약점 및 노출) 항목이 공개되면 Replit이 프로젝트의 의존성과 대조하여 일치하는 항목을 **보안** 창에 표시합니다. 수동으로 재스캔할 필요가 없습니다.

의존성 스캔은 Node.js/npm, Python, Go, Rust, PHP, Ruby를 지원합니다. 예를 들어, 오래된 패키지 `express@4.18.2`에서 알려진 취약점을 발견할 수 있습니다.

<Frame>
  <img src="https://mintcdn.com/replit/MuLW6SmzOLVKbNrI/images/project-security-center/fix-all-with-agent.png?fit=max&auto=format&n=MuLW6SmzOLVKbNrI&q=85&s=8d6a692c34d6d106462fa714bdc703aa" alt="프로젝트 보안 센터의 자동 의존성 스캔 카드에 있는 모든 항목 Agent로 수정 버튼" width="1440" height="900" data-path="images/project-security-center/fix-all-with-agent.png" />
</Frame>

### 자동 보호

자동 보호는 자동 의존성 스캔을 확장합니다. 일치하는 취약점이 감지되면 Replit Agent가 패치를 준비하고 테스트한 후 직접 링크가 포함된 이메일을 발송합니다. 자동 보호는 의존성 CVE만 다룹니다. 애플리케이션 코드의 취약점은 [Agent 보안 스캔](#agent-보안-스캔)을 사용하세요.

프로젝트의 의존성에 새로운 취약점이 일치할 때마다 Replit이 다음을 수행합니다:

1. 영향받은 프로젝트의 **보안** 창으로 연결되는 직접 링크가 포함된 요약 이메일을 발송합니다.
2. Replit Agent에게 취약점을 수정하는 패치를 준비하고 테스트하도록 요청합니다.
3. 패치를 **보안** 창에서 검토 대기 상태로 유지합니다.

**작업으로 이동**을 선택하여 적용하기 전에 생성된 변경 사항을 검토하세요. 패치를 적용한 후 새 버전을 게시할 때까지 취약점은 **재게시 대기 중**으로 표시됩니다.

패치 적용 후 반드시 재게시하여 프로덕션 앱이 안전한지 확인하세요.

Replit은 새로운 취약점마다 워크스페이스당 최대 한 번의 이메일을 발송합니다. 이메일에는 해당 워크스페이스에서 영향받은 모든 프로젝트가 요약됩니다. 관리자는 자동 보호를 트리거하는 최소 심각도를 설정할 수 있습니다(예: 치명적만).

#### 자동 보호 활성화

두 가지 자동 보호 설정은 **기본적으로 꺼져 있습니다**. 자동 보호를 활성화하려면 두 가지 설정이 필요합니다. 하나는 Replit이 패치를 준비하도록 승인하는 관리자 전용 설정이고, 다른 하나는 새 취약점에 대한 이메일 수신 여부를 제어하는 개인 설정입니다.

<Steps>
  <Step title="패치 준비 활성화 (관리자 전용)">
    **설정** > **계정** > **고급**으로 이동하여 Replit이 자동으로 수정 사항을 준비해야 하는 최소 심각도(낮음, 중간, 높음, 치명적)를 선택하세요. 더 높은 임계값을 설정하면 가장 심각한 취약점에 대해서만 패치를 준비합니다.
  </Step>

  <Step title="보안 이메일 활성화">
    **설정** > **개인화** > **이메일 알림**으로 이동하여 새로운 보안 문제에 대한 알림을 받을 최소 심각도를 선택하세요. 높음 또는 치명적이 일반적입니다.
  </Step>
</Steps>

<Note>
  Agent가 준비한 수정 사항은 자동 보호로 미리 준비된 경우에도 다른 Agent 작업과 동일하게 요금이 청구됩니다.
</Note>

## Agent 보안 스캔

Agent 보안 스캔은 의존성 검사를 넘어 전체 코드베이스에 대한 포괄적인 감사를 수행합니다. Security Agent는 모델 기반 검토와 [Semgrep](https://semgrep.dev/) 및 [HoundDog.ai](https://hounddog.ai)와 같은 정적 분석 도구를 결합하여 패턴 매칭만으로는 발견하기 어려운 취약점을 찾아냅니다.

Agent 보안 스캔은 유료 Replit 빌더라면 누구나 사용할 수 있습니다. 대규모 프로젝트의 경우 철저한 평가를 위해 심층 감사에 최대 15분이 소요될 수 있습니다.

### Security Agent가 하는 일

Agent 보안 스캔을 시작하면 Security Agent가 코드베이스 전체를 검토합니다:

1. **아키텍처 매핑** -- 라우트, API, 데이터 흐름, 진입점을 식별합니다
2. **위협 모델 구축** -- 애플리케이션에 대한 사용자 정의 가능한 위협 모델링 계획을 작성합니다
3. **정적 분석 실행** -- Semgrep과 HoundDog.ai를 사용하여 코드 수준 취약점 및 개인정보 문제를 스캔합니다
4. **AI로 발견 사항 분석** -- 플래그된 문제가 애플리케이션의 컨텍스트에서 실제로 악용 가능한지 평가하여 오탐을 크게 줄입니다
5. **발견 사항 보고서 생성** -- 식별된 위험을 검토할 수 있도록 제시합니다

Agent 보안 스캔은 광범위한 취약점 카테고리를 다룹니다:

* **정적 분석(SAST) 문제**: SQL 인젝션, 크로스 사이트 스크립팅(XSS), 크로스 사이트 요청 위조(CSRF)와 같은 안전하지 않은 코드 패턴
* **개인정보 문제**: 로그, 파일, 서드파티 API와 같은 위험한 싱크로 흘러가는 민감한 데이터
* **아키텍처 취약점**: 라우트, API, 데이터 흐름이 구성된 방식의 보안 허점

예를 들어, 검토에서 매개변수화되지 않은 데이터베이스 쿼리를 플래그할 수 있습니다:

```javascript theme={null}
const query = `SELECT * FROM users WHERE username = '${userInput}'`;
```

또는 민감한 사용자 데이터를 로깅하는 코드를 발견할 수 있습니다:

```javascript theme={null}
logger.info("New signup", {
  email: user.email,
  phoneNumber: user.phoneNumber,
  address: user.address,
});
```

### Agent 보안 스캔 시작하기

<Steps>
  <Step>
    프로젝트의 **보안** 창을 열어 프로젝트 보안 센터를 실행하세요.

    <Frame>
      <img src="https://mintcdn.com/replit/MuLW6SmzOLVKbNrI/images/project-security-center/review-security-button.png?fit=max&auto=format&n=MuLW6SmzOLVKbNrI&q=85&s=f242cc14d62a515060f1a065f6ee7bb5" alt="보안 창을 여는 프로젝트 게시 흐름의 보안 검토 버튼" width="1440" height="900" data-path="images/project-security-center/review-security-button.png" />
    </Frame>
  </Step>

  <Step>
    **Agent로 스캔 실행**을 선택하세요.

    <Frame>
      <img src="https://mintcdn.com/replit/MuLW6SmzOLVKbNrI/images/project-security-center/run-scan-with-agent.png?fit=max&auto=format&n=MuLW6SmzOLVKbNrI&q=85&s=32ae50df611a37d070e9640d775cca54" alt="프로젝트 보안 센터에서 강조 표시된 Agent로 스캔 실행 버튼" width="1440" height="900" data-path="images/project-security-center/run-scan-with-agent.png" />
    </Frame>
  </Step>

  <Step>
    필요한 경우 위협 모델링 프롬프트를 사용자 정의하여 애플리케이션의 특정 영역에 집중하세요.

    <Frame>
      <img src="https://mintcdn.com/replit/MuLW6SmzOLVKbNrI/images/project-security-center/scan-options.png?fit=max&auto=format&n=MuLW6SmzOLVKbNrI&q=85&s=2c47ea280383a22967df5daa7f323371" alt="프로젝트의 특정 영역으로 스캔을 좁히기 위한 컨텍스트 추가 필드가 있는 스캔 옵션 팝오버" width="1440" height="900" data-path="images/project-security-center/scan-options.png" />
    </Frame>
  </Step>

  <Step>
    검토가 완료될 때까지 기다리세요. 일반적으로 몇 분이 걸리지만 대규모 프로젝트는 최대 15분까지 소요될 수 있습니다.
  </Step>
</Steps>

검토가 완료된 후 Security Agent가 식별된 위험에 대한 보고서를 생성합니다. 취약점 세부 사항을 검토하고, 이해하고 수락할 수 있는 발견 사항을 무시하거나, 수정을 위해 보내기 전에 발견 사항을 수정할 수 있습니다.

발견 사항을 검토한 후 수락된 문제를 Replit Agent에 수정을 위해 전송하세요. Security Agent는 취약점을 별도의 작업으로 구성하여 Agent가 여러 수정 사항을 병렬로 작업할 수 있도록 합니다. 수정 사항이 적용된 후 다른 스캔을 실행하여 문제가 해결되었는지 확인하세요.

첫 번째 발견 사항을 수정한 후 다른 스캔을 실행하세요. 대규모 프로젝트는 높은 심각도의 발견 사항이 해결된 후 추가적인 문제가 나타날 수 있습니다.

## 제한 사항 및 모범 사례

* **개인정보 및 데이터 처리**: 모든 스캔은 Replit 인프라에서 실행됩니다. 코드와 데이터는 Semgrep, HoundDog.ai 또는 다른 서드파티에 전송되지 않습니다. 스캔 구성 및 결과는 Replit 앱에 연결된 상태로 유지됩니다.
* **언어 지원**:
  * 의존성 스캔은 많은 인기 있는 생태계를 지원합니다(**Node.js/npm**, **Python**, **Go**, **Rust**, **PHP**, **Ruby** 포함).
  * 자동 의존성 수정은 현재 **Node.js/npm**에 집중되어 있습니다.
* **완전한 보안 검토가 아님**: 스캔을 코드 검토, 테스트, 의존성 검토, 라이브 앱 점검과 함께 사용하세요.
* **변경 후 재실행**: 다음 경우 스캔을 다시 실행하세요:
  * 의존성 추가 또는 업데이트 후
  * 주요 코드 변경 후
  * 새 버전 게시 전

## 게시 확인

**중요 취약점 게시 차단** 설정은 배포 탭의 고급 설정(및 재배포 흐름)에 있습니다. Replit은 항상 게시 전에 보안 스캔을 실행합니다. 이 토글은 스캔에서 치명적 심각도 문제가 발견될 때 어떻게 처리할지를 결정합니다:

* **켜짐** — 문제가 해결되거나 무시될 때까지 게시가 차단됩니다.
* **꺼짐** — 게시가 진행되고 발견 사항이 검토할 수 있도록 표시됩니다.

중요한 문제가 검토 없이 배포되지 않도록 하려면 이 기능을 켜세요. Enterprise 플랜의 조직은 모든 앱에 대해 이 설정을 요구할 수 있습니다.

<Note>
  이 설정은 이전에 "게시 전 보안 스캔"으로 표시되었으며 **베타** 태그가 있었습니다. 이제 베타를 졸업하고 동작을 더 명확하게 하도록 이름이 변경되었습니다. 스캔 자체는 어느 쪽이든 항상 실행됩니다.
</Note>

## 다음 단계

* 스캔이 완료된 후 Replit 앱을 게시하는 방법에 대해 [게시](/learn/projects-and-artifacts/replit-deployments)에서 자세히 알아보세요.
* [Replit Agent](/references/agent/overview)를 탐색하여 프로젝트 편집기에서 직접 보안 및 개인정보 문제를 수정하세요.
* [Replit의 AI 생성 코드 보호 방법](https://blog.replit.com/securing-ai-generated-code)을 읽어 보안에 대한 Replit의 접근 방식을 자세히 알아보세요.
* 코드 품질, 성능, 안정성을 개선하는 더 많은 도구는 [편집기 기능](/references/editor/editor-and-tools)을 확인하세요.
