모든 Lockpick API 작업, 필요한 권한, 입력과 응답입니다. API 자체에서 생성되었습니다. 버전 1, 베타.
버전 1, 베타입니다. 모든 경로는 /api/cli/v1로 시작하고, 모든 요청은 베어러 토큰으로 키를 함께 보내며, 모든 응답은 { data, error }입니다. 전체 설명은 OpenAPI 3.1로도 제공됩니다.
에이전트 API
호스팅된 MCP 도구 뒤에서 동작하는 서버 작업입니다. 새로운 연동은 이 작업들을 사용해야 합니다. lockpick_wait_for_scan은 GET /agent/scans/{scanId}를 반복해서 확인하고, lockpick_evaluate_scan은 같은 스캔을 읽고 클라이언트에서 평가 정책을 적용합니다. 이 두 조합 도구에는 별도의 HTTP 엔드포인트가 없습니다. 스크립트는 스캔 상태를 반복해서 확인하고, 완료 시각, 검사 범위, 열린 문제 수를 자신의 정책에 비추어 평가할 수 있습니다.
GET /agent/me
이 자격 증명의 사용자, 워크스페이스, 범위, 만료 시각, 그리고 시작할 수 있는 작업입니다.
- 권한:
read - MCP 도구:
lockpick_whoami
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
user | 객체 | 예 |
workspace | 객체 | 예 |
credential | 객체 | 예 |
capabilities | 객체 | 예 |
GET /agent/allowance
이번 달 남은 무료 스캔, 초기화 날짜, 크레딧입니다.
- 권한:
read - MCP 도구:
lockpick_get_allowance
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
accessSource | community, stripe(이전 결제 값), pilot(이전, 내부용), none | 예 |
accountingMode | pilot(이전, 내부용), credits(이전, 내부용), unmetered | 예 |
pulse | 객체 | 예 |
deep | 객체 | 예 |
creditBalance | 정수 또는 null | 예 |
freeSiteId | 문자열 또는 null | 예 |
freeSiteVisible | 불리언 | 예 |
canSwitchFreeSite | 불리언 | 예 |
GET /agent/monitor
승인된 사이트에 대해 현재 보안 정보를 살펴보고 일치 항목을 설명합니다.
- 권한:
read - MCP 도구:
lockpick_monitor
쿼리
| 필드 | 타입 | 필수 |
|---|---|---|
view | latest, sites, exploited, following | 아니요 |
kind | all, vulnerability, malicious_package | 아니요 |
q | 문자열 | 아니요 |
ecosystem | all, npm, pypi, composer, wordpress | 아니요 |
severity | all, critical, high, medium, low, unknown | 아니요 |
days | 숫자 | 아니요 |
cursor | 문자열 | 아니요 |
limit | 정수 | 아니요 |
siteId | 문자열 | 아니요 |
advisoryId | 문자열 | 아니요 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
items | 객체 목록 | 예 |
nextCursor | 문자열 또는 null | 예 |
limitations | 문자열 목록 | 예 |
각 항목
| 필드 | 타입 | 항상 포함 |
|---|---|---|
id | 문자열 | 예 |
title | 문자열 | 예 |
source | 문자열 | 예 |
kind | vulnerability, malicious_package | 예 |
severity | critical, high, medium, low, unknown | 예 |
provenance | 객체 목록 | 예 |
withdrawnAt | 문자열 또는 null | 아니요 |
publishedAt | 문자열 | 예 |
exploited | 불리언 | 예 |
ids | 문자열 목록 | 예 |
tech | 객체 목록 | 예 |
epss | 객체 또는 null | 아니요 |
cvss | 객체 또는 null | 아니요 |
attribution | 문자열 또는 null | 예 |
references | 문자열 목록 | 예 |
packages | 객체 목록 | 예 |
sites | 객체 목록 | 예 |
GET /agent/sites
최신 스캔과 함께 사이트 목록을 한 페이지씩 보여 줍니다.
- 권한:
read - MCP 도구:
lockpick_list_sites
쿼리
| 필드 | 타입 | 필수 |
|---|---|---|
limit | 정수 | 아니요 |
cursor | 문자열 | 아니요 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
items | 객체 목록 | 예 |
nextCursor | 문자열 또는 null | 예 |
각 항목
| 필드 | 타입 | 항상 포함 |
|---|---|---|
id | 문자열 | 예 |
name | 문자열 | 예 |
status | 문자열 | 예 |
baseDomain | 문자열 또는 null | 예 |
latestPulse | 객체 또는 null | 예 |
latestDeep | 객체 또는 null | 예 |
latestBox | 객체 또는 null | 예 |
webPath | 문자열 | 예 |
webUrl | 문자열 | 예 |
POST /agent/sites
사이트를 추가하거나, 같은 주소의 사이트가 있으면 그 사이트를 반환합니다.
- 권한:
sites - MCP 도구:
lockpick_add_site
본문
| 필드 | 타입 | 필수 |
|---|---|---|
url | 문자열 | 예 |
name | 문자열 | 아니요 |
idempotencyKey | 문자열 | 예 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
site | 객체 | 예 |
created | 불리언 | 예 |
GET /agent/sites/{siteId}/status
사이트 하나의 현재 상태입니다. 최신 스캔과 다음에 할 일을 보여 줍니다.
- 권한:
read - MCP 도구:
lockpick_site_status
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
site | 객체 | 예 |
latestPulse | 객체 또는 null | 예 |
latestDeep | 객체 또는 null | 예 |
latestBox | 객체 또는 null | 예 |
lastComparison | 객체 또는 null | 예 |
caveats | 문자열 목록 | 예 |
relevant | 객체 목록 | 아니요 |
relevantTotal | 정수 | 아니요 |
POST /agent/sites/{siteId}/dependencies
사이트가 고정(pin)한 패키지 이름과 정확한 버전을 보내고(코드는 보내지 않음), 그 패키지에 영향을 주는 권고를 읽습니다.
- 권한:
sites - MCP 도구:
lockpick_send_dependencies
본문
| 필드 | 타입 | 필수 |
|---|---|---|
inventory | 객체 | 아니요 |
packages | 객체 목록 | 예 |
sources | 목록: package-lock.json, npm-shrinkwrap.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock | 예 |
idempotencyKey | 문자열 | 예 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
siteId | 문자열 | 예 |
receivedAt | 문자열 또는 null | 예 |
sources | 목록: package-lock.json, npm-shrinkwrap.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock | 예 |
packageCount | 정수 | 예 |
affectsYouCount | 정수 | 예 |
affectsYou | 객체 목록 | 예 |
webUrl | 문자열 | 예 |
POST /agent/sites/{siteId}/pulse
사이트에서 Pulse를 시작합니다.
- 권한:
pulse - MCP 도구:
lockpick_start_pulse
본문
| 필드 | 타입 | 필수 |
|---|---|---|
idempotencyKey | 문자열 | 예 |
baselineScanId | 문자열 | 아니요 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
scan | 객체 | 예 |
charged | 객체 | 예 |
allowance | 객체 | 예 |
replayed | 불리언 | 예 |
POST /agent/sites/{siteId}/deep-verifications
Deep 스캔 전에 DNS 또는 파일 소유권 증명을 발급합니다.
- 권한:
deep - MCP 도구:
lockpick_start_deep_verification
본문
| 필드 | 타입 | 필수 |
|---|---|---|
method | dns, file, meta | 예 |
idempotencyKey | 문자열 | 예 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
verificationId | 문자열 | 예 |
siteId | 문자열 | 예 |
origin | 문자열 | 예 |
method | dns, file, meta | 예 |
state | pending, verified, expired, exhausted, revoked | 예 |
expiresAt | 문자열 | 예 |
verifiedUntil | 문자열 또는 null | 예 |
attemptsRemaining | 정수 | 예 |
retryAfterSeconds | 정수 또는 null | 예 |
value | 문자열 | 예 |
location | 문자열 | 예 |
POST /agent/sites/{siteId}/deep-verifications/{verificationId}/verify
게시된 소유권 증명을 확인합니다. 확인할 때마다 시도 한 번을 사용합니다.
- 권한:
deep - MCP 도구:
lockpick_check_deep_verification
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
verificationId | 문자열 | 예 |
siteId | 문자열 | 예 |
origin | 문자열 | 예 |
method | dns, file, meta | 예 |
state | pending, verified, expired, exhausted, revoked | 예 |
expiresAt | 문자열 | 예 |
verifiedUntil | 문자열 또는 null | 예 |
attemptsRemaining | 정수 | 예 |
retryAfterSeconds | 정수 또는 null | 예 |
POST /agent/sites/{siteId}/deep-operations
Deep 스캔을 준비하고, 사용자가 승인할 링크를 받습니다.
- 권한:
deep - MCP 도구:
lockpick_prepare_deep
본문
| 필드 | 타입 | 필수 |
|---|---|---|
verificationId | 문자열 | 예 |
idempotencyKey | 문자열 | 예 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
operationId | 문자열 | 예 |
siteId | 문자열 | 예 |
origin | 문자열 | 예 |
assessmentLevel | 문자열 | 예 |
verificationId | 문자열 | 예 |
cost | 객체 | 예 |
allowance | 객체 | 예 |
approvalState | pending, approved, expired, denied | 예 |
approvalUrl | 문자열 | 예 |
expiresAt | 문자열 | 예 |
POST /agent/deep-operations/{operationId}/start
사용자가 승인한 Deep 스캔을 시작합니다.
- 권한:
deep - MCP 도구:
lockpick_start_deep
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
scan | 객체 | 예 |
charged | 객체 | 예 |
allowance | 객체 | 예 |
replayed | 불리언 | 예 |
POST /agent/free-site-switch
사이트를 제거해서 이번 달 무료 Pulse를 다른 사이트로 옮깁니다.
- 권한:
sites및pulse - MCP 도구:
lockpick_switch_free_site
본문
| 필드 | 타입 | 필수 |
|---|---|---|
removeSiteId | 문자열 | 예 |
checkId | 문자열 | 아니요 |
idempotencyKey | 문자열 | 예 |
confirmRemoval | 불리언 | 예 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
removedSiteId | 문자열 | 예 |
removedSiteHost | 문자열 | 예 |
replacementSiteId | 문자열 또는 null | 예 |
allowance | 객체 | 예 |
restoreUrl | 문자열 | 예 |
startedScanId | 문자열 또는 null | 예 |
charged | 객체 | 예 |
replayed | 불리언 | 예 |
GET /agent/scans
필터를 적용해 스캔을 최신순으로 한 페이지씩 보여 줍니다.
- 권한:
read - MCP 도구:
lockpick_list_scans
쿼리
| 필드 | 타입 | 필수 |
|---|---|---|
siteId | 문자열 | 아니요 |
kind | pulse, box(Deep, 이전 이름) | 아니요 |
assessmentLevel | pulse, standard, deep | 아니요 |
status | queued, running, cancelling, succeeded, incomplete, failed, cancelled | 아니요 |
limit | 정수 | 아니요 |
cursor | 문자열 | 아니요 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
items | 객체 목록 | 예 |
nextCursor | 문자열 또는 null | 예 |
각 항목
| 필드 | 타입 | 항상 포함 |
|---|---|---|
id | 문자열 | 예 |
kind | pulse, box(Deep, 이전 이름) | 예 |
projectId | 문자열 | 예 |
target | 문자열 | 예 |
status | queued, running, cancelling, succeeded, incomplete, failed, cancelled | 예 |
mode | autonomous, authenticated, active 또는 null | 예 |
createdAt | 문자열 또는 null | 예 |
finishedAt | 문자열 또는 null | 예 |
webPath | 문자열 | 예 |
assessmentLevel | pulse, standard, deep 또는 null | 예 |
headline | 객체 | 예 |
webUrl | 문자열 | 예 |
suggestedPollAfterSeconds | 정수 또는 null | 예 |
GET /agent/scans/{scanId}
스캔 하나와 상태, 요약입니다.
- 권한:
read - MCP 도구:
lockpick_get_scan
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
id | 문자열 | 예 |
kind | pulse, box(Deep, 이전 이름) | 예 |
projectId | 문자열 | 예 |
target | 문자열 | 예 |
status | queued, running, cancelling, succeeded, incomplete, failed, cancelled | 예 |
mode | autonomous, authenticated, active 또는 null | 예 |
createdAt | 문자열 또는 null | 예 |
finishedAt | 문자열 또는 null | 예 |
webPath | 문자열 | 예 |
assessmentLevel | pulse, standard, deep 또는 null | 예 |
headline | 객체 | 예 |
webUrl | 문자열 | 예 |
suggestedPollAfterSeconds | 정수 또는 null | 예 |
baselineRunId | 문자열 또는 null | 예 |
open | 객체 | 예 |
findingCount | 정수 | 예 |
progress | 객체 또는 null | 예 |
coverage | 객체 | 예 |
caveats | 문자열 목록 | 예 |
outcome | 객체 또는 null | 예 |
exposureCheck | 객체 | 아니요 |
GET /agent/scans/{scanId}/findings
스캔의 문제를 한 페이지씩 보여 줍니다.
- 권한:
read - MCP 도구:
lockpick_list_findings x-lockpick-agent-features: finding-code를 보내면 각 발견 항목의code(LP-와 여섯 글자, 웹 보고서에 표시되는 것과 같음)를 받습니다. 이 헤더가 없으면 응답에code가 없으며, 이전 클라이언트가 기대하는 형태입니다.
쿼리
| 필드 | 타입 | 필수 |
|---|---|---|
state | attention, information, unknown, pass | 아니요 |
severity | critical, high, medium, low, info | 아니요 |
all | 불리언 또는 true, false | 아니요 |
limit | 정수 | 아니요 |
cursor | 문자열 | 아니요 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
items | 객체 목록 | 예 |
nextCursor | 문자열 또는 null | 예 |
각 항목
| 필드 | 타입 | 항상 포함 |
|---|---|---|
id | 문자열 | 예 |
code | 문자열 | 아니요 |
runId | 문자열 | 예 |
kind | pulse, box(Deep, 이전 이름) | 예 |
severity | critical, high, medium, low, info | 예 |
state | attention, information, unknown, pass | 예 |
category | 문자열 | 예 |
title | 문자열 | 예 |
meaning | 문자열 | 예 |
fix | 문자열 또는 null | 예 |
confidence | 문자열 | 예 |
evidence | 문자열 목록 | 예 |
sources | 문자열 목록 | 예 |
steps | 문자열 목록 | 예 |
webPath | 문자열 | 예 |
webUrl | 문자열 | 예 |
evidenceTrust | 문자열 | 예 |
evidenceTruncated | 불리언 | 예 |
verdict | confirmed, needs_review, not_actionable 또는 null | 아니요 |
certainty | high, medium, low 또는 null | 아니요 |
exploitability | direct, conditional, hygiene, none 또는 null | 아니요 |
proof | 객체 또는 null | 아니요 |
proofGap | 문자열 또는 null | 아니요 |
urgency | now, week, later, none | 아니요 |
howSure | confirmed, likely, possible 또는 null | 아니요 |
GET /agent/scans/{scanId}/findings/{findingId}
문제 하나와, 가려진 근거입니다.
- 권한:
read - MCP 도구:
lockpick_get_finding x-lockpick-agent-features: finding-code를 보내면 각 발견 항목의code(LP-와 여섯 글자, 웹 보고서에 표시되는 것과 같음)를 받습니다. 이 헤더가 없으면 응답에code가 없으며, 이전 클라이언트가 기대하는 형태입니다.
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
id | 문자열 | 예 |
code | 문자열 | 아니요 |
runId | 문자열 | 예 |
kind | pulse, box(Deep, 이전 이름) | 예 |
severity | critical, high, medium, low, info | 예 |
state | attention, information, unknown, pass | 예 |
category | 문자열 | 예 |
title | 문자열 | 예 |
meaning | 문자열 | 예 |
fix | 문자열 또는 null | 예 |
confidence | 문자열 | 예 |
evidence | 문자열 목록 | 예 |
sources | 문자열 목록 | 예 |
steps | 문자열 목록 | 예 |
webPath | 문자열 | 예 |
webUrl | 문자열 | 예 |
evidenceTrust | 문자열 | 예 |
evidenceTruncated | 불리언 | 예 |
verdict | confirmed, needs_review, not_actionable 또는 null | 아니요 |
certainty | high, medium, low 또는 null | 아니요 |
exploitability | direct, conditional, hygiene, none 또는 null | 아니요 |
proof | 객체 또는 null | 아니요 |
proofGap | 문자열 또는 null | 아니요 |
urgency | now, week, later, none | 아니요 |
howSure | confirmed, likely, possible 또는 null | 아니요 |
GET /agent/scans/{scanId}/repair-brief
스캔 수정 브리프의 일부입니다.
- 권한:
read - MCP 도구:
lockpick_get_repair_brief
쿼리
| 필드 | 타입 | 필수 |
|---|---|---|
findingId | 문자열 | 아니요 |
agent | claude-code, codex, cursor, vscode, opencode, lovable, bolt, replit, v0 | 아니요 |
cursor | 문자열 | 아니요 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
scanId | 문자열 | 예 |
findingIds | 문자열 목록 | 예 |
saved | 불리언 | 예 |
markdown | 문자열 | 예 |
nextCursor | 문자열 또는 null | 예 |
complete | 불리언 | 예 |
webUrl | 문자열 | 예 |
GET /agent/scans/{scanId}/comparison
스캔과 그 스캔이 다시 검사하는 대상 사이에서 바뀐 내용입니다.
- 권한:
read - MCP 도구:
lockpick_compare_scans x-lockpick-agent-features: finding-code를 보내면 각 발견 항목의code(LP-와 여섯 글자, 웹 보고서에 표시되는 것과 같음)를 받습니다. 이 헤더가 없으면 응답에code가 없으며, 이전 클라이언트가 기대하는 형태입니다.
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
runId | 문자열 | 예 |
baselineRunId | 문자열 | 예 |
error | 문자열 또는 null | 예 |
changes | 객체 목록 | 예 |
webUrl | 문자열 | 예 |
POST /agent/scans/{scanId}/dns-rechecks
스캔의 무료 DNS 검사를 다시 실행합니다. 사이트에는 아무것도 보내지 않습니다.
- 권한:
pulse - MCP 도구:
lockpick_recheck_dns
본문
| 필드 | 타입 | 필수 |
|---|---|---|
findingId | 문자열 | 예 |
idempotencyKey | 문자열 | 예 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
scanId | 문자열 | 예 |
findingIds | 문자열 목록 | 예 |
pending | 객체 또는 null | 예 |
checkedAt | 문자열 또는 null | 예 |
outcomes | 객체 목록 | 예 |
nextAllowedAt | 문자열 또는 null | 예 |
failedAt | 문자열 또는 null | 예 |
originalGradeUnchanged | 불리언 | 예 |
GET /agent/scans/{scanId}/dns-rechecks/latest
스캔의 가장 최근 DNS 재검사입니다.
- 권한:
read - MCP 도구:
lockpick_get_dns_recheck
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
scanId | 문자열 | 예 |
findingIds | 문자열 목록 | 예 |
pending | 객체 또는 null | 예 |
checkedAt | 문자열 또는 null | 예 |
outcomes | 객체 목록 | 예 |
nextAllowedAt | 문자열 또는 null | 예 |
failedAt | 문자열 또는 null | 예 |
originalGradeUnchanged | 불리언 | 예 |
POST /agent/quick-checks
홈페이지의 무료 빠른 검사를 시작합니다.
- 권한:
pulse - MCP 도구:
lockpick_quick_check
본문
| 필드 | 타입 | 필수 |
|---|---|---|
url | 문자열 | 예 |
idempotencyKey | 문자열 | 예 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
checkId | 문자열 | 예 |
status | queued, running, succeeded, failed | 예 |
reused | 불리언 | 예 |
headline | 객체 | 예 |
summary | 문자열 또는 null | 예 |
checks | 객체 목록 | 예 |
webUrl | 문자열 | 예 |
suggestedPollAfterSeconds | 정수 또는 null | 예 |
POST /agent/repository-checks
설치하기 전에 공개 GitHub 저장소(스킬, 플러그인, MCP 서버 또는 앱)를 검사합니다.
- 권한:
pulse - MCP 도구:
lockpick_check_repository
본문
| 필드 | 타입 | 필수 |
|---|---|---|
url | 문자열 | 예 |
mode | skill, app | 아니요 |
depth | free, deep | 아니요 |
idempotencyKey | 문자열 | 예 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
checkId | 문자열 | 예 |
status | queued, running, succeeded, failed | 예 |
reused | 불리언 | 예 |
repository | 객체 | 예 |
mode | skill, app 또는 null | 예 |
kind | 문자열 또는 null | 예 |
verdict | safe, caution, do_not_install 또는 null | 예 |
appRisk | low, elevated, high 또는 null | 예 |
score | 정수 또는 null | 예 |
summary | 문자열 또는 null | 예 |
plainSummary | 문자열 또는 null | 예 |
findings | 객체 목록 | 예 |
moreFindings | 정수 | 예 |
coverage | 객체 또는 null | 예 |
failure | not-found, ref-not-found, empty, too-large, rate-limited, unavailable, timeout, engine-error 또는 null | 예 |
webUrl | 문자열 | 예 |
suggestedPollAfterSeconds | 정수 또는 null | 예 |
GET /agent/repository-checks/{checkId}
저장소 검사와 그 발견 사항입니다.
- 권한:
read - MCP 도구:
lockpick_get_repository_check
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
checkId | 문자열 | 예 |
status | queued, running, succeeded, failed | 예 |
reused | 불리언 | 예 |
repository | 객체 | 예 |
mode | skill, app 또는 null | 예 |
kind | 문자열 또는 null | 예 |
verdict | safe, caution, do_not_install 또는 null | 예 |
appRisk | low, elevated, high 또는 null | 예 |
score | 정수 또는 null | 예 |
summary | 문자열 또는 null | 예 |
plainSummary | 문자열 또는 null | 예 |
findings | 객체 목록 | 예 |
moreFindings | 정수 | 예 |
coverage | 객체 또는 null | 예 |
failure | not-found, ref-not-found, empty, too-large, rate-limited, unavailable, timeout, engine-error 또는 null | 예 |
webUrl | 문자열 | 예 |
suggestedPollAfterSeconds | 정수 또는 null | 예 |
GET /agent/quick-checks/{checkId}
빠른 검사와 그 결과입니다.
- 권한:
read - MCP 도구:
lockpick_get_quick_check
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
checkId | 문자열 | 예 |
status | queued, running, succeeded, failed | 예 |
reused | 불리언 | 예 |
headline | 객체 | 예 |
summary | 문자열 또는 null | 예 |
checks | 객체 목록 | 예 |
webUrl | 문자열 | 예 |
suggestedPollAfterSeconds | 정수 또는 null | 예 |
GET /agent/docs/search
Lockpick 공개 문서를 검색합니다.
- 권한:
read - MCP 도구:
lockpick_search_docs
쿼리
| 필드 | 타입 | 필수 |
|---|---|---|
query | 문자열 | 예 |
limit | 정수 | 아니요 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
query | 문자열 | 예 |
results | 객체 목록 | 예 |
GET /agent/docs/page
공개 문서 페이지 하나를 Markdown으로 보여 줍니다. 길면 여러 부분으로 나눕니다.
- 권한:
read - MCP 도구:
lockpick_read_doc
쿼리
| 필드 | 타입 | 필수 |
|---|---|---|
path | 문자열 | 아니요 |
cursor | 문자열 | 아니요 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
path | 문자열 | 예 |
title | 문자열 | 예 |
description | 문자열 또는 null | 예 |
url | 문자열 | 예 |
markdownUrl | 문자열 | 예 |
markdown | 문자열 | 예 |
nextCursor | 문자열 또는 null | 예 |
complete | 불리언 | 예 |
기기 로그인
lockpick login이 키를 받는 방법입니다. 코드를 요청하고, 사용자가 브라우저에서 승인하면, 반복 확인으로 키를 받습니다.
POST /device/code
기기 로그인을 시작하고, 사용자가 브라우저에서 승인할 코드를 받습니다.
- 권한: 없음. 로그인 과정의 일부입니다
본문
| 필드 | 타입 | 필수 |
|---|---|---|
clientName | 문자열 | 아니요 |
hostname | 문자열 | 아니요 |
platform | 문자열 | 아니요 |
version | 문자열 | 아니요 |
scopes | 목록: pulse, sites, deep, local | 아니요 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
deviceCode | 문자열 | 예 |
userCode | 문자열 | 예 |
verificationUri | 문자열 | 예 |
verificationUriComplete | 문자열 | 예 |
expiresIn | 정수 | 예 |
interval | 정수 | 예 |
POST /device/token
사용자가 승인할 때까지 기기 로그인을 반복해서 확인한 뒤, 키를 받습니다.
- 권한: 없음. 로그인 과정의 일부입니다
본문
| 필드 | 타입 | 필수 |
|---|---|---|
deviceCode | 문자열 | 예 |
레거시
CLI 0.2가 쓰는 원래 CLI 경로입니다. 그대로 유지되며, 새로운 연동은 위의 에이전트 API를 사용해야 합니다.
원래 CLI 경로
POST /projects/{projectId}/local-assessments/authorize
저장소 검사 전에 로컬 평가를 승인합니다. 소스와 결과는 업로드하지 않습니다.
- 권한:
local
본문
| 필드 | 타입 | 필수 |
|---|---|---|
cliVersion | 문자열 | 예 |
scannerVersion | 문자열 | 예 |
rulesetVersion | 문자열 | 예 |
reportSchemaVersion | 문자열 | 예 |
checks | 목록: tracked-secrets, public-environment, browser-artifacts, supabase-client, supabase-migrations, git-history, docker-files, docker-values, actions-injection, source-maps | 예 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
admissionId | 문자열 | 예 |
projectId | 문자열 | 예 |
workspaceId | 문자열 | 예 |
policyVersion | 문자열 | 예 |
startBy | 문자열 | 예 |
checks | 객체 목록 | 예 |
GET /me
이 자격 증명 뒤에 있는 사용자, 워크스페이스, 키입니다.
- 권한:
read
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
user | 객체 | 예 |
workspace | 객체 | 예 |
key | 객체 | 예 |
DELETE /me
제출한 키를 폐기합니다.
- 권한: 유효한 모든 키
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
revoked | 불리언 | 예 |
GET /projects
최신 Pulse 및 Deep 스캔과 함께 사이트(프로젝트)를 보여 줍니다.
- 권한:
read
data 안의 각 항목
| 필드 | 타입 | 항상 포함 |
|---|---|---|
id | 문자열 | 예 |
name | 문자열 | 예 |
status | 문자열 | 예 |
baseDomain | 문자열 또는 null | 예 |
latestPulse | 객체 또는 null | 예 |
latestDeep | 객체 또는 null | 아니요 |
latestBox | 객체 또는 null | 예 |
webPath | 문자열 | 예 |
webUrl | 문자열 | 아니요 |
GET /projects/{projectId}/status
사이트 하나의 최신 결과와 바뀐 내용입니다.
- 권한:
read
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
project | 객체 | 예 |
latestPulse | 객체 또는 null | 예 |
latestDeep | 객체 또는 null | 아니요 |
latestBox | 객체 또는 null | 예 |
lastComparison | 객체 또는 null | 예 |
caveats | 문자열 목록 | 예 |
POST /projects/{projectId}/pulse
사이트에서 Pulse를 시작하거나, 가장 최근 Pulse를 재검사합니다.
- 권한:
pulse - 성공하면 201로 응답합니다
본문
| 필드 | 타입 | 필수 |
|---|---|---|
idempotencyKey | 문자열 | 예 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
id | 문자열 | 예 |
kind | pulse, box(Deep, 이전 이름) | 예 |
projectId | 문자열 | 예 |
target | 문자열 | 예 |
status | queued, running, cancelling, succeeded, incomplete, failed, cancelled | 예 |
mode | autonomous, authenticated, active 또는 null | 예 |
createdAt | 문자열 또는 null | 예 |
finishedAt | 문자열 또는 null | 예 |
webPath | 문자열 | 예 |
assessmentLevel | pulse, standard, deep 또는 null | 아니요 |
headline | 객체 | 아니요 |
webUrl | 문자열 | 아니요 |
suggestedPollAfterSeconds | 정수 또는 null | 아니요 |
baselineRunId | 문자열 또는 null | 예 |
open | 객체 | 예 |
findingCount | 정수 | 예 |
progress | 객체 또는 null | 예 |
coverage | 객체 | 예 |
caveats | 문자열 목록 | 예 |
outcome | 객체 또는 null | 아니요 |
exposureCheck | 객체 또는 null | 아니요 |
POST /projects/{projectId}/deep
이 사이트에 Deep이 허용된 CI 키로 릴리스의 Deep 스캔을 시작합니다.
- 권한:
deep - 성공하면 201로 응답합니다
본문
| 필드 | 타입 | 필수 |
|---|---|---|
idempotencyKey | 문자열 | 예 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
id | 문자열 | 예 |
kind | pulse, box(Deep, 이전 이름) | 예 |
projectId | 문자열 | 예 |
target | 문자열 | 예 |
status | queued, running, cancelling, succeeded, incomplete, failed, cancelled | 예 |
mode | autonomous, authenticated, active 또는 null | 예 |
createdAt | 문자열 또는 null | 예 |
finishedAt | 문자열 또는 null | 예 |
webPath | 문자열 | 예 |
assessmentLevel | pulse, standard, deep 또는 null | 아니요 |
headline | 객체 | 아니요 |
webUrl | 문자열 | 아니요 |
suggestedPollAfterSeconds | 정수 또는 null | 아니요 |
baselineRunId | 문자열 또는 null | 예 |
open | 객체 | 예 |
findingCount | 정수 | 예 |
progress | 객체 또는 null | 예 |
coverage | 객체 | 예 |
caveats | 문자열 목록 | 예 |
outcome | 객체 또는 null | 아니요 |
exposureCheck | 객체 또는 null | 아니요 |
GET /runs
Pulse 및 Deep 스캔을 최신순으로 보여 줍니다.
- 권한:
read
쿼리
| 필드 | 타입 | 필수 |
|---|---|---|
projectId | 문자열 | 아니요 |
kind | pulse, box(Deep, 이전 이름) | 아니요 |
assessmentLevel | pulse, standard, deep | 아니요 |
status | queued, running, cancelling, succeeded, incomplete, failed, cancelled | 아니요 |
limit | 정수 | 아니요 |
data 안의 각 항목
| 필드 | 타입 | 항상 포함 |
|---|---|---|
id | 문자열 | 예 |
kind | pulse, box(Deep, 이전 이름) | 예 |
projectId | 문자열 | 예 |
target | 문자열 | 예 |
status | queued, running, cancelling, succeeded, incomplete, failed, cancelled | 예 |
mode | autonomous, authenticated, active 또는 null | 예 |
createdAt | 문자열 또는 null | 예 |
finishedAt | 문자열 또는 null | 예 |
webPath | 문자열 | 예 |
assessmentLevel | pulse, standard, deep 또는 null | 아니요 |
headline | 객체 | 아니요 |
webUrl | 문자열 | 아니요 |
suggestedPollAfterSeconds | 정수 또는 null | 아니요 |
GET /runs/{runId}
요약과 개수가 있는 실행 하나입니다.
- 권한:
read
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
id | 문자열 | 예 |
kind | pulse, box(Deep, 이전 이름) | 예 |
projectId | 문자열 | 예 |
target | 문자열 | 예 |
status | queued, running, cancelling, succeeded, incomplete, failed, cancelled | 예 |
mode | autonomous, authenticated, active 또는 null | 예 |
createdAt | 문자열 또는 null | 예 |
finishedAt | 문자열 또는 null | 예 |
webPath | 문자열 | 예 |
assessmentLevel | pulse, standard, deep 또는 null | 아니요 |
headline | 객체 | 아니요 |
webUrl | 문자열 | 아니요 |
suggestedPollAfterSeconds | 정수 또는 null | 아니요 |
baselineRunId | 문자열 또는 null | 예 |
open | 객체 | 예 |
findingCount | 정수 | 예 |
progress | 객체 또는 null | 예 |
coverage | 객체 | 예 |
caveats | 문자열 목록 | 예 |
outcome | 객체 또는 null | 아니요 |
exposureCheck | 객체 또는 null | 아니요 |
GET /runs/{runId}/findings
실행의 문제입니다.
- 권한:
read
쿼리
| 필드 | 타입 | 필수 |
|---|---|---|
severity | critical, high, medium, low, info | 아니요 |
state | attention, information, unknown, pass | 아니요 |
all | true, false | 아니요 |
data 안의 각 항목
| 필드 | 타입 | 항상 포함 |
|---|---|---|
id | 문자열 | 예 |
code | 문자열 | 아니요 |
runId | 문자열 | 예 |
kind | pulse, box(Deep, 이전 이름) | 예 |
severity | critical, high, medium, low, info | 예 |
state | attention, information, unknown, pass | 예 |
category | 문자열 | 예 |
title | 문자열 | 예 |
meaning | 문자열 | 예 |
fix | 문자열 또는 null | 예 |
confidence | 문자열 | 예 |
evidence | 문자열 목록 | 예 |
sources | 문자열 목록 | 예 |
steps | 문자열 목록 | 예 |
webPath | 문자열 | 예 |
webUrl | 문자열 | 아니요 |
verdict | confirmed, needs_review, not_actionable 또는 null | 아니요 |
certainty | high, medium, low 또는 null | 아니요 |
exploitability | direct, conditional, hygiene, none 또는 null | 아니요 |
proof | 객체 또는 null | 아니요 |
proofGap | 문자열 또는 null | 아니요 |
urgency | now, week, later, none | 아니요 |
howSure | confirmed, likely, possible 또는 null | 아니요 |
GET /runs/{runId}/findings/{findingId}
문제 하나와, 가려진 근거입니다.
- 권한:
read
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
id | 문자열 | 예 |
code | 문자열 | 아니요 |
runId | 문자열 | 예 |
kind | pulse, box(Deep, 이전 이름) | 예 |
severity | critical, high, medium, low, info | 예 |
state | attention, information, unknown, pass | 예 |
category | 문자열 | 예 |
title | 문자열 | 예 |
meaning | 문자열 | 예 |
fix | 문자열 또는 null | 예 |
confidence | 문자열 | 예 |
evidence | 문자열 목록 | 예 |
sources | 문자열 목록 | 예 |
steps | 문자열 목록 | 예 |
webPath | 문자열 | 예 |
webUrl | 문자열 | 아니요 |
verdict | confirmed, needs_review, not_actionable 또는 null | 아니요 |
certainty | high, medium, low 또는 null | 아니요 |
exploitability | direct, conditional, hygiene, none 또는 null | 아니요 |
proof | 객체 또는 null | 아니요 |
proofGap | 문자열 또는 null | 아니요 |
urgency | now, week, later, none | 아니요 |
howSure | confirmed, likely, possible 또는 null | 아니요 |
GET /runs/{runId}/repair-brief
실행의 수정 사항을 하나의 Markdown 브리프로 보여 줍니다.
- 권한:
read
쿼리
| 필드 | 타입 | 필수 |
|---|---|---|
findingId | 문자열 | 아니요 |
agent | claude-code, codex, cursor, vscode, opencode, lovable, bolt, replit, v0 | 아니요 |
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
runId | 문자열 | 예 |
findingIds | 문자열 목록 | 예 |
saved | 불리언 | 예 |
markdown | 문자열 | 예 |
webUrl | 문자열 | 아니요 |
GET /runs/{runId}/comparison
실행과 그 이전 실행 사이에서 바뀐 내용입니다.
- 권한:
read
data
| 필드 | 타입 | 항상 포함 |
|---|---|---|
runId | 문자열 | 예 |
baselineRunId | 문자열 | 예 |
error | 문자열 또는 null | 예 |
changes | 객체 목록 | 예 |
webUrl | 문자열 | 아니요 |
도움이 되었나요?