# 명령어

모든 lockpick 명령어와 옵션입니다. CLI 자체에서 생성되었습니다.

{/* Generated by scripts/docs-generate.mts. Do not edit; run `pnpm docs:generate`. */}

터미널에서 쓰는 Lockpick입니다. 빠른 검사, 사이트, 상태, 문제, 수정 브리프, Pulse 스캔, 승인하는 Deep 스캔, 그리고 사용자와 코딩 에이전트를 위한 다시 검사를 할 수 있습니다.

`lockpick <command> --help`를 실행하면 터미널에서 같은 옵션을 볼 수 있습니다. 모든 명령어는 `--host`와 `--json`도 받습니다.

## lockpick login

브라우저로 로그인하고 워크스페이스 하나에 대한 키를 저장합니다

```bash title="사용법"
lockpick login [options]
```

| 인수             | 역할                                                            |
| -------------- | ------------------------------------------------------------- |
| `--no-browser` | 브라우저를 열지 않고 로그인 링크를 출력합니다                                     |
| `--pulse`      | Pulse 스캔, 빠른 검사, 무료 DNS 검사를 다시 시작할 권한을 요청합니다(브라우저에서 체크해야 합니다) |
| `--sites`      | 사이트를 추가하고 무료 사이트를 바꿀 권한을 요청합니다(브라우저에서 체크해야 합니다)               |
| `--deep`       | Lockpick에서 승인하는 Deep 스캔을 준비할 권한을 요청합니다(브라우저에서 체크해야 합니다)       |
| `--local`      | 로컬 평가 권한 요청                                                   |

## lockpick logout

이 터미널의 키를 폐기하고 잊습니다

```bash title="사용법"
lockpick logout
```

## lockpick whoami

이 터미널이 사용하는 사용자, 워크스페이스, 키를 보여 줍니다

```bash title="사용법"
lockpick whoami
```

## lockpick doctor

스캔을 시작하지 않고 CLI, 호스트, 연결, 인증, 워크스페이스 접근을 확인합니다

```bash title="사용법"
lockpick doctor [options]
```

| 인수                | 역할                                  |
| ----------------- | ----------------------------------- |
| `--scope <value>` | 확인할 범위: pulse, sites, deep 또는 local |

## lockpick projects

프로젝트를 최신 Pulse 및 Deep 스캔과 함께 나열합니다

```bash title="사용법"
lockpick projects
```

## lockpick status

프로젝트의 상태 보고서입니다(또는 모든 프로젝트의 개요)

```bash title="사용법"
lockpick status [project]
```

| 인수          | 역할            |
| ----------- | ------------- |
| `<project>` | 프로젝트 ID 또는 이름 |

## lockpick sites

사이트를 나열하고, `lockpick sites add \<url\>`로 하나를 추가하거나, `lockpick sites switch \<siteId\> --yes`로 무료 Pulse를 옮깁니다

```bash title="사용법"
lockpick sites
```

## lockpick sites add

소유하고 있거나 테스트해도 되는 사이트를 추가합니다(사이트 추가가 허용된 키가 필요합니다). 추가만으로는 스캔되지 않습니다.

```bash title="사용법"
lockpick sites add <url> [options]
```

| 인수               | 역할                                                        |
| ---------------- | --------------------------------------------------------- |
| `<url>`          | 사이트 주소, 예: [https://atlas.example](https://atlas.example) |
| `--name <value>` | Lockpick에 표시되는 이름                                         |

## lockpick sites switch

이번 달 무료 Pulse를 가진 사이트를 제거해서 다른 사이트가 쓸 수 있게 합니다(사이트 추가 및 Pulse 시작이 허용된 키가 필요합니다). `--check`를 함께 쓰면, 그 빠른 검사의 사이트에 대해 무료 Pulse 하나를 사용해 Pulse도 시작합니다.

```bash title="사용법"
lockpick sites switch <site> [options]
```

| 인수                | 역할                                                     |
| ----------------- | ------------------------------------------------------ |
| `<site>`          | 제거할 사이트 ID(`lockpick sites`에서 확인)                      |
| `--check <value>` | 새 사이트의 빠른 검사 ID. 이 Pulse는 전환과 함께 시작됩니다                 |
| `--yes`           | 제거를 확인합니다. 사이트는 더 이상 모니터링되지 않으며, Lockpick에서 복원할 수 있습니다 |

## lockpick runs

Pulse 및 Deep 스캔을 최신순으로 나열합니다

```bash title="사용법"
lockpick runs [options]
```

| 인수                  | 역할                                                                                |
| ------------------- | --------------------------------------------------------------------------------- |
| `--project <value>` | 프로젝트 ID 또는 이름                                                                     |
| `--kind <value>`    | pulse \| box                                                                      |
| `--status <value>`  | queued \| running \| cancelling \| succeeded \| incomplete \| failed \| cancelled |
| `--limit <value>`   | 개수(기본 20, 최대 100)                                                                 |

## lockpick run

실행 하나를 보여 줍니다

```bash title="사용법"
lockpick run <runId>
```

| 인수        | 역할    |
| --------- | ----- |
| `<runId>` | 실행 ID |

## lockpick watch

실행이 끝날 때까지 따라갑니다(성공하지 않으면 종료 코드 3)

```bash title="사용법"
lockpick watch <runId> [options]
```

| 인수                   | 역할                                                          |
| -------------------- | ----------------------------------------------------------- |
| `<runId>`            | 실행 ID                                                       |
| `--fail-on <value>`  | 열린 문제가 이 심각도 이상이면 종료 코드 8: critical, high, medium, low(CI용) |
| `--interval <value>` | 확인 사이의 초 단위 간격(기본 5, 30까지 늘어남)                              |
| `--timeout <value>`  | 최대 대기 시간(초). 기본 600, 최대 3600                                |

## lockpick pulse

프로젝트에 Pulse 스캔을 시작하고 결과를 기다립니다(Pulse 시작이 허용된 키가 필요합니다)

```bash title="사용법"
lockpick pulse <project> [options]
```

| 인수                   | 역할                                                                                          |
| -------------------- | ------------------------------------------------------------------------------------------- |
| `<project>`          | 프로젝트 ID 또는 이름                                                                               |
| `--no-wait`          | 결과를 기다리지 않고 스캔이 시작되면 바로 반환합니다                                                               |
| `--interval <value>` | 기다리는 동안 확인 사이의 초 단위 간격(기본 5)                                                                |
| `--timeout <value>`  | 최대 대기 시간(초). 기본 600, 최대 3600                                                                |
| `--fail-on <value>`  | 열린 문제가 이 심각도 이상이면 종료 코드 8: critical, high, medium, low(CI용)                                 |
| `--lockfile`         | 이번 실행에 이 폴더의 패키지 이름과 버전을 보냅니다(`--no-lockfile`을 쓰면 절대 보내지 않음). 그 외에는 Lockpick이 폴더마다 한 번 묻습니다 |

## lockpick recheck

사이트 전체를 다시 검사합니다. 허용량의 Pulse 스캔 하나를 사용하는 새 Pulse입니다. `--dns \<findingId\>`를 쓰면 스캔의 문제 하나를 무료 DNS 검사로 다시 확인하며, 이때 등급은 바뀌지 않습니다.

```bash title="사용법"
lockpick recheck <target> [options]
```

| 인수                   | 역할                                                                                          |
| -------------------- | ------------------------------------------------------------------------------------------- |
| `<target>`           | 사이트 ID 또는 이름. `--dns`를 쓰면 스캔 ID                                                             |
| `--dns <value>`      | 공개 DNS 레코드로 다시 확인할 문제 ID(무료이며, 사이트에는 절대 접근하지 않음)                                            |
| `--no-wait`          | 결과를 기다리지 않고 스캔이 시작되면 바로 반환합니다                                                               |
| `--interval <value>` | 기다리는 동안 확인 사이의 초 단위 간격(기본 5)                                                                |
| `--timeout <value>`  | 최대 대기 시간(초). 기본 600, 최대 3600                                                                |
| `--fail-on <value>`  | 열린 문제가 이 심각도 이상이면 종료 코드 8: critical, high, medium, low(CI용)                                 |
| `--lockfile`         | 이번 실행에 이 폴더의 패키지 이름과 버전을 보냅니다(`--no-lockfile`을 쓰면 절대 보내지 않음). 그 외에는 Lockpick이 폴더마다 한 번 묻습니다 |

## lockpick deps

이 프로젝트의 패키지 이름과 정확한 버전을 사이트로 보내고(코드는 보내지 않음), 그 패키지에 영향을 주는 보안 권고를 나열합니다. package-lock.json, npm-shrinkwrap.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock을 읽습니다(사이트 관리가 허용된 키가 필요합니다).

```bash title="사용법"
lockpick deps <site> [options]
```

| 인수                       | 역할                                                                  |
| ------------------------ | ------------------------------------------------------------------- |
| `<site>`                 | 사이트 ID 또는 이름                                                        |
| `--path <value>`         | 잠금 파일이 있는 프로젝트 폴더(기본: 이 폴더)                                         |
| `--completeness <value>` | complete, partial 또는 unknown(기본 unknown. 전체 목록일 때만 complete로 선언하세요) |
| `--revision <value>`     | 선택 사항인 소스 리비전. 배포를 증명하지는 않습니다                                       |
| `--environment <value>`  | production, staging, development 또는 unknown                         |
| `--dry-run`              | 보낼 내용만 출력합니다                                                        |
| `--forget`               | Lockpick에서 이 사이트의 패키지 목록을 잊습니다                                      |

## lockpick monitor

읽을 수 있는 사이트에 대한 현재 보안 권고와 일치 항목을 살펴봅니다.

```bash title="사용법"
lockpick monitor [options]
```

| 인수                    | 역할                                          |
| --------------------- | ------------------------------------------- |
| `--site <value>`      | 사이트 ID 또는 이름으로 필터링합니다                       |
| `--query <value>`     | 권고 ID, 제목 또는 패키지 이름을 검색합니다                  |
| `--ecosystem <value>` | all, npm, pypi, composer 또는 wordpress       |
| `--kind <value>`      | all, vulnerability 또는 malicious_package     |
| `--view <value>`      | latest, sites, exploited 또는 following       |
| `--severity <value>`  | all, critical, high, medium, low 또는 unknown |
| `--days <value>`      | 7, 30, 90, 365, 또는 전체 기록은 0                 |
| `--cursor <value>`    | 이전 응답의 다음 커서                                |
| `--advisory <value>`  | 권고 ID 하나를 읽습니다                              |

## lockpick check

웹사이트(홈페이지와 공개 DNS) 또는 설치 전의 공개 GitHub 저장소(스킬, 플러그인, MCP 서버 또는 앱)를 무료로 빠르게 검사합니다(Pulse 시작이 허용된 키가 필요합니다).

```bash title="사용법"
lockpick check <url> [options]
```

| 인수                  | 역할                                                                                                              |
| ------------------- | --------------------------------------------------------------------------------------------------------------- |
| `<url>`             | 웹사이트 주소(atlas.example) 또는 GitHub 저장소(github.com/owner/repo, owner/repo)                                         |
| `--no-wait`         | 결과를 기다리지 않고 스캔이 시작되면 바로 반환합니다                                                                                   |
| `--timeout <value>` | 최대 대기 시간(초). 기본 90, 최대 3600                                                                                     |
| `--deep`            | GitHub 저장소용: Deep 저장소 점검입니다. 모든 lockfile과 최근 커밋 50개에서 유출된 키도 읽고, 더 강한 검토를 합니다. Deep 플랜이 필요하며 Deep 스캔 1회를 사용합니다. |

## lockpick verify

사이트를 소유하고 있다는 것을 한 번 확인합니다. 사이트의 값과 어디에 게시할지 출력하며, `--wait`를 쓰면 그 값을 찾아봅니다(Deep 스캔 준비가 허용된 키가 필요합니다)

```bash title="사용법"
lockpick verify <site> [options]
```

| 인수                 | 역할                                                  |
| ------------------ | --------------------------------------------------- |
| `<site>`           | 사이트 ID 또는 이름                                        |
| `--method <value>` | dns(기본), file 또는 meta(홈페이지 head의 태그). 기본값 `dns`입니다. |
| `--wait`           | 약 5분 동안 계속 찾아봅니다(증명 확인 절차를 사용합니다)                   |

## lockpick deep local

프로젝트 승인 후 결정론적 로컬 저장소 검사 실행

```bash title="사용법"
lockpick deep local <path> [options]
```

| 인수                            | 역할                                                          |
| ----------------------------- | ----------------------------------------------------------- |
| `<path>`                      | 저장소의 물리 경로(pwd -P). 루트 심볼릭 링크는 지원하지 않음                      |
| `--project <value>`           | 프로젝트 ID 또는 고유한 이름                                           |
| `--browser-artifacts <value>` | 저장소 기준 상대 경로의 브라우저 산출물 디렉터리. 반복 지정 가능                       |
| `--env-file <value>`          | 저장소 기준 상대 경로로 명시하는 환경 파일. 반복 지정 가능                          |
| `--dockerfile <value>`        | 저장소 기준 Dockerfile 상대 경로. 여러 번 지정 가능                         |
| `--migration-file <value>`    | 저장소 기준 SQL 마이그레이션 파일. 실행 순서대로 반복 지정                         |
| `--build-context <value>`     | 저장소 기준 빌드 컨텍스트. --dockerfile과 같은 순서로 지정(루트는 .)              |
| `--checks <value>`            | 쉼표로 구분한 검사 ID. 요청한 미지원 검사는 미완료 상태로 유지됩니다                    |
| `--history`                   | 범위가 제한된 Git 기록 검사 포함                                        |
| `--source-maps`               | 제공된 브라우저 소스맵에 포함된 소스 검사                                     |
| `--fail-on <value>`           | 열린 문제가 이 심각도 이상이면 종료 코드 8: critical, high, medium, low(CI용) |

## lockpick deep verify

Deep 스캔을 위한 소유권 증명을 시작합니다. 게시할 DNS TXT 레코드, 파일 또는 홈페이지 meta 태그를 사용합니다(Deep 스캔 준비가 허용된 키가 필요합니다)

```bash title="사용법"
lockpick deep verify <site> [options]
```

| 인수                 | 역할                                                  |
| ------------------ | --------------------------------------------------- |
| `<site>`           | 사이트 ID 또는 이름                                        |
| `--method <value>` | dns(기본), file 또는 meta(홈페이지 head의 태그). 기본값 `dns`입니다. |
| `--wait`           | 약 5분 동안 계속 찾아봅니다(증명 확인 절차를 사용합니다)                   |

## lockpick deep check

게시된 소유권 증명을 한 번 찾아봅니다(확인할 때마다 시도 한 번을 사용합니다)

```bash title="사용법"
lockpick deep check <site> <verificationId>
```

| 인수                 | 역할                             |
| ------------------ | ------------------------------ |
| `<site>`           | 사이트 ID 또는 이름                   |
| `<verificationId>` | `lockpick deep verify`에서 받은 ID |

## lockpick deep prepare

확인된 증명으로 Deep 스캔을 준비하고 승인 페이지를 엽니다. Lockpick에서 승인하기 전까지는 아무것도 시작되지 않습니다

```bash title="사용법"
lockpick deep prepare <site> <verificationId> [options]
```

| 인수                 | 역할                       |
| ------------------ | ------------------------ |
| `<site>`           | 사이트 ID 또는 이름             |
| `<verificationId>` | 확인된 증명 ID                |
| `--no-browser`     | 브라우저를 열지 않고 승인 링크를 출력합니다 |

## lockpick deep start

Lockpick에서 승인한 Deep 스캔을 시작하고 결과를 기다립니다(준비 때 표시된 대로 허용량에서 Deep 스캔 하나를 사용합니다)

```bash title="사용법"
lockpick deep start <operationId> [options]
```

| 인수                   | 역할                                                          |
| -------------------- | ----------------------------------------------------------- |
| `<operationId>`      | `lockpick deep prepare`에서 받은 ID                             |
| `--no-wait`          | 결과를 기다리지 않고 스캔이 시작되면 바로 반환합니다                               |
| `--interval <value>` | 기다리는 동안 확인 사이의 초 단위 간격(기본 5)                                |
| `--timeout <value>`  | 최대 대기 시간(초). 기본 600, 최대 3600                                |
| `--fail-on <value>`  | 열린 문제가 이 심각도 이상이면 종료 코드 8: critical, high, medium, low(CI용) |

## lockpick findings

실행에서 확인이 필요한 문제

```bash title="사용법"
lockpick findings <runId> [options]
```

| 인수                   | 역할                                                          |
| -------------------- | ----------------------------------------------------------- |
| `<runId>`            | 실행 ID                                                       |
| `--severity <value>` | critical \| high \| medium \| low \| info                   |
| `--all`              | 통과한 검사와 평가되지 않은 검사도 포함합니다                                   |
| `--fail-on <value>`  | 열린 문제가 이 심각도 이상이면 종료 코드 8: critical, high, medium, low(CI용) |

## lockpick report

기존 평가와 가려진 문제를 Markdown 또는 JSON으로 내보냅니다

```bash title="사용법"
lockpick report <runId> [options]
```

| 인수              | 역할                               |
| --------------- | -------------------------------- |
| `<runId>`       | 실행 ID                            |
| `--out <value>` | 새 보고서 파일을 만듭니다. 기존 파일은 덮어쓰지 않습니다 |

## lockpick finding

문제 하나와 그 근거를 보여 줍니다

```bash title="사용법"
lockpick finding <runId> <findingId>
```

| 인수            | 역할                 |
| ------------- | ------------------ |
| `<runId>`     | 실행 ID              |
| `<findingId>` | 발견 사항 ID 또는 LP- 코드 |

## lockpick brief

실행에서 확인이 필요한 모든 항목(또는 문제 하나)을 고치는 Markdown 브리프입니다

```bash title="사용법"
lockpick brief <runId> [options]
```

| 인수                  | 역할                                                                                        |
| ------------------- | ----------------------------------------------------------------------------------------- |
| `<runId>`           | 실행 ID                                                                                     |
| `--finding <value>` | 이 문제만 포함합니다                                                                               |
| `--agent <value>`   | 이 에이전트에 맞게 조정합니다: claude-code, codex, cursor, vscode, opencode, lovable, bolt, replit, v0 |
| `--out <value>`     | Markdown을 이 파일에 씁니다                                                                       |

## lockpick fix

모든 문제를 고치는 브리프를 lockpick-fixes.md에 저장하고, 에이전트가 그것으로 작업을 시작하는 명령어를 출력합니다

```bash title="사용법"
lockpick fix <runId> [options]
```

| 인수                | 역할                                                                                        |
| ----------------- | ----------------------------------------------------------------------------------------- |
| `<runId>`         | 실행 ID                                                                                     |
| `--agent <value>` | 이 에이전트에 맞게 조정합니다: claude-code, codex, cursor, vscode, opencode, lovable, bolt, replit, v0 |
| `--out <value>`   | 브리프를 저장할 위치(기본: lockpick-fixes.md)                                                        |

## lockpick compare

Pulse 재검사를 기준 스캔과 비교합니다

```bash title="사용법"
lockpick compare <runId>
```

| 인수        | 역할        |
| --------- | --------- |
| `<runId>` | 재검사 실행 ID |

## lockpick import

Codex Security의 findings.json 또는 SARIF 파일을 읽어 실행과 대조합니다. 모든 작업은 내 컴퓨터에서 이루어집니다

```bash title="사용법"
lockpick import <file> [options]
```

| 인수              | 역할                                              |
| --------------- | ----------------------------------------------- |
| `<file>`        | findings.json 또는 SARIF 2.1.0 파일의 경로             |
| `--run <value>` | 이 실행 ID와 대조합니다(생략하면 파일만 읽습니다)                   |
| `--upload`      | 공유할 최소한의 대조 키(경로, 규칙 ID, 심각도)를 만듭니다. 기본값은 꺼짐입니다 |

## lockpick open

브라우저에서 실행 또는 프로젝트를 엽니다

```bash title="사용법"
lockpick open <id>
```

| 인수     | 역할                        |
| ------ | ------------------------- |
| `<id>` | 실행 ID, 프로젝트 ID 또는 프로젝트 이름 |

## lockpick mcp

코딩 에이전트를 위해 stdio로 MCP 서버를 실행합니다

```bash title="사용법"
lockpick mcp [options]
```

| 인수                     | 역할                                  |
| ---------------------- | ----------------------------------- |
| `--local-root <value>` | MCP 로컬 검사를 허용할 절대 루트 경로. 여러 번 지정 가능 |

## lockpick mcp config

claude, cursor, vscode, codex용 MCP 설정을 출력합니다

```bash title="사용법"
lockpick mcp config <client> [options]
```

| 인수                     | 역할                                            |
| ---------------------- | --------------------------------------------- |
| `<client>`             | claude \| cursor \| vscode \| codex           |
| `--local-root <value>` | MCP 로컬 검사를 허용할 절대 루트 경로. 여러 번 지정 가능           |
| `--hosted`             | 로컬 stdio 서버 대신 호스팅된 OAuth 커넥터를 사용합니다          |
| `--apply`              | 비공개 백업과 함께 Cursor, VS Code 또는 Codex 설정에 병합합니다 |
| `--file <value>`       | `--apply`로 업데이트할 설정 파일(기본적으로 표준 위치)           |

## lockpick mcp rollback

설정 후 변경되지 않았다면 Lockpick MCP 설정 백업을 복원합니다

```bash title="사용법"
lockpick mcp rollback <backup>
```

| 인수         | 역할                              |
| ---------- | ------------------------------- |
| `<backup>` | `mcp config --apply`가 출력한 백업 경로 |

## lockpick skills

코딩 에이전트에 Lockpick 스킬을 추가합니다(npx skills add promptadvisers/lockpick-skills)

```bash title="사용법"
lockpick skills [options]
```

| 인수                | 역할                                     |
| ----------------- | -------------------------------------- |
| `--agent <value>` | 추가할 에이전트, 예: claude-code,codex(기본: 묻기) |
| `--global`        | 이 프로젝트 대신 사용자 계정에 추가합니다                |

## lockpick docs

터미널에서 Lockpick 문서를 검색하거나 CLI 가이드를 나열합니다(`--open`은 첫 번째 결과를 엽니다)

```bash title="사용법"
lockpick docs [query] [options]
```

| 인수        | 역할                                 |
| --------- | ---------------------------------- |
| `<query>` | 찾을 내용, 예: "누락된 CSP 고치기"            |
| `--open`  | 가장 잘 맞는 결과(또는 CLI 가이드)를 브라우저에서 엽니다 |

## lockpick ci init

GitHub Actions 워크플로(.github/workflows/lockpick.yml)를 작성합니다. 이 워크플로는 릴리스마다 Pulse를 실행하고, 심각한 문제가 있으면 실패합니다

```bash title="사용법"
lockpick ci init <site> [options]
```

| 인수                  | 역할                                                                            |
| ------------------- | ----------------------------------------------------------------------------- |
| `<site>`            | 검사할 사이트 ID 또는 이름                                                              |
| `--fail-on <value>` | 이 심각도 이상이면 워크플로를 실패시킵니다: critical, high, medium, low(기본 high). 기본값 `high`입니다. |
| `--file <value>`    | 작성할 위치(기본 .github/workflows/lockpick.yml)                                     |
| `--action`          | npx로 CLI를 실행하는 대신 Lockpick GitHub Action을 사용합니다(미리보기)                         |
| `--force`           | 기존 워크플로 파일을 교체합니다                                                             |
| `--dry-run`         | 파일을 쓰지 않고 워크플로를 출력합니다                                                         |

## lockpick ci check

스캔을 시작하지 않고 허용량도 쓰지 않으면서 기존 평가를 확인합니다

```bash title="사용법"
lockpick ci check <runId> [options]
```

| 인수                        | 역할                                                          |
| ------------------------- | ----------------------------------------------------------- |
| `<runId>`                 | 평가할 정확한 실행 ID                                               |
| `--max-age-hours <value>` | 완료 후 경과한 최대 시간(시간 단위, 선택 사항)                                |
| `--min-coverage <value>`  | 보고된 최소 검사 범위(%). 알 수 없으면 실패합니다(선택 사항)                       |
| `--fail-on <value>`       | 열린 문제가 이 심각도 이상이면 종료 코드 8: critical, high, medium, low(CI용) |