# Herramientas, recursos y plantillas

Todo lo que el servidor MCP alojado de Lockpick ofrece a un asistente, generado a partir del propio servidor.

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

El servidor alojado ofrece 29 herramientas, 2 recursos y 3 plantillas. Cada herramienta necesita el [permiso](/es/docs/mcp/permissions) que se indica. Las herramientas que cambian algo están marcadas para que los asistentes te pidan confirmación primero, pero el permiso y las propias comprobaciones de Lockpick son los que deciden. Todas las herramientas también aceptan `format`: `markdown` para el texto que el asistente te lee, o `json` para los datos.

## Herramientas

### lockpick_whoami

**Quién soy**

La persona que inició sesión, el espacio de trabajo que lee esta credencial, los permisos y la caducidad de la credencial, y lo que puede iniciar.

* Permiso: Leer (`lockpick.read`)
* Solo lee

No necesita otros datos.

### lockpick_get_allowance

**Obtener cupo**

Si el acceso a Lockpick de la persona está activo, el cupo disponible de Pulse y Deep con sus fechas de renovación, los créditos y qué sitio tiene el Pulse gratuito de este mes. Consúltalo antes de dar un coste.

* Permiso: Leer (`lockpick.read`)
* Solo lee

No necesita otros datos.

### lockpick_list_sites

**Listar sitios**

Los sitios del espacio de trabajo que puede leer esta credencial, del más reciente al más antiguo, cada uno con su último escaneo Pulse y Deep. Paginado con un cursor.

* Permiso: Leer (`lockpick.read`)
* Solo lee

| Entrada  | Tipo    | Obligatorio |
| -------- | ------- | ----------- |
| `limit`  | integer | No          |
| `cursor` | string  | No          |

### lockpick_site_status

**Estado del sitio**

La situación de un sitio: sus últimos escaneos Pulse y Deep con nota y puntuación, los hallazgos abiertos por gravedad, los límites de cobertura, el último cambio tras volver a comprobar y lo que importa ahora (avisos que afectan a sus versiones fijadas o que pueden afectar a su pila, componentes vistos en directo, los que se explotan activamente y las correcciones recientes, cada uno con su evidencia).

* Permiso: Leer (`lockpick.read`)
* Solo lee

| Entrada  | Tipo   | Obligatorio |
| -------- | ------ | ----------- |
| `siteId` | string | Sí          |

```json title="Argumentos de ejemplo"
{
  "siteId": "<siteId>"
}
```

### lockpick_add_site

**Añadir un sitio**

Añade un sitio por su dirección al espacio de trabajo, o devuelve el sitio existente con esa dirección. Solo para un sitio que la persona posee o puede probar. Añadir un sitio no lo escanea. Repetir la petición con la misma idempotencyKey devuelve el mismo sitio.

* Permiso: Sitios (`lockpick.sites`)
* Cambia algo, así que los asistentes te piden confirmación primero

| Entrada          | Tipo   | Obligatorio |
| ---------------- | ------ | ----------- |
| `url`            | string | Sí          |
| `name`           | string | No          |
| `idempotencyKey` | string | Sí          |

```json title="Argumentos de ejemplo"
{
  "url": "https://atlas.example",
  "idempotencyKey": "a-unique-key"
}
```

### lockpick_switch_free_site

**Cambiar el sitio gratuito**

Elimina uno de los sitios de la persona para que el Pulse gratuito de este mes pueda pasar a otro sitio. Llámala solo cuando la persona lo haya pedido y haya nombrado el sitio que se elimina: pasa su id como removeSiteId con confirmRemoval: true, nunca un sitio que hayas elegido tú. El sitio eliminado deja de vigilarse, sus escaneos siguen siendo legibles, y un gestor puede restaurarlo en Lockpick (restoreUrl). Con checkId, una comprobación rápida del nuevo sitio, también inicia un Pulse en ese sitio, que usa un Pulse gratuito; el resultado indica el escaneo, el cargo y el cupo que queda. Sin checkId no se inicia nada. Se rechaza sin eliminar nada si hay un escaneo de ese sitio en curso, si eliminarlo no liberaría el Pulse gratuito, si la comprobación rápida caducó o si no queda ningún Pulse gratuito. Si el sitio se eliminó pero el Pulse no pudo iniciarse, el error lo indica y enlaza con iniciarlo en Lockpick. Repetir la petición con la misma idempotencyKey devuelve el mismo resultado y no cambia nada más.

* Permiso: Sitios (`lockpick.sites`) y análisis Pulse (`lockpick.pulse`)
* Cambia algo, así que los asistentes te piden confirmación primero

| Entrada          | Tipo    | Obligatorio |
| ---------------- | ------- | ----------- |
| `removeSiteId`   | string  | Sí          |
| `checkId`        | string  | No          |
| `idempotencyKey` | string  | Sí          |
| `confirmRemoval` | boolean | Sí          |

```json title="Argumentos de ejemplo"
{
  "removeSiteId": "<removeSiteId>",
  "idempotencyKey": "a-unique-key",
  "confirmRemoval": true
}
```

### lockpick_list_scans

**Listar escaneos**

Escaneos del más reciente al más antiguo, filtrables por sitio, tipo, nivel de evaluación (pulse, standard, deep) y estado, cada uno con su nota y puntuación. Paginado con un cursor.

* Permiso: Leer (`lockpick.read`)
* Solo lee

| Entrada           | Tipo                                                                                | Obligatorio |
| ----------------- | ----------------------------------------------------------------------------------- | ----------- |
| `siteId`          | string                                                                              | No          |
| `kind`            | `pulse`, `box` (Deep, nombre heredado)                                              | No          |
| `assessmentLevel` | `pulse`, `standard`, `deep`                                                         | No          |
| `status`          | `queued`, `running`, `cancelling`, `succeeded`, `incomplete`, `failed`, `cancelled` | No          |
| `limit`           | integer                                                                             | No          |
| `cursor`          | string                                                                              | No          |

### lockpick_get_scan

**Obtener escaneo**

Un escaneo: estado, nivel, nota y puntuación, hallazgos abiertos por gravedad, cobertura y lo que no se evaluó.

* Permiso: Leer (`lockpick.read`)
* Solo lee

| Entrada  | Tipo   | Obligatorio |
| -------- | ------ | ----------- |
| `scanId` | string | Sí          |

```json title="Argumentos de ejemplo"
{
  "scanId": "<scanId>"
}
```

### lockpick_evaluate_scan

**Evaluar un escaneo**

Evalúa un escaneo registrado concreto según la gravedad (por defecto high), una antigüedad máxima opcional en horas y un porcentaje mínimo de cobertura. Los escaneos incompletos y los que no cumplen la frescura o la cobertura fallan. Solo lee una vez; no inicia ningún escaneo ni consume cupo de escaneos. Un resultado correcto no es una certificación ni una prueba sobre el código local o un commit no desplegado.

* Permiso: Leer (`lockpick.read`)
* Solo lee

| Entrada       | Tipo                                | Obligatorio |
| ------------- | ----------------------------------- | ----------- |
| `scanId`      | string                              | Sí          |
| `failOn`      | `critical`, `high`, `medium`, `low` | No          |
| `maxAgeHours` | number                              | No          |
| `minCoverage` | number                              | No          |

```json title="Argumentos de ejemplo"
{
  "scanId": "<scanId>"
}
```

### lockpick_wait_for_scan

**Esperar a un escaneo**

Vuelve a leer un escaneo hasta que termine o hasta que pasen waitSeconds (como máximo 45), y lo devuelve. Cada lectura se autoriza por separado. Vuelve a llamarla mientras siga en curso.

* Permiso: Leer (`lockpick.read`)
* Solo lee

| Entrada       | Tipo    | Obligatorio |
| ------------- | ------- | ----------- |
| `scanId`      | string  | Sí          |
| `waitSeconds` | integer | No          |

```json title="Argumentos de ejemplo"
{
  "scanId": "<scanId>"
}
```

### lockpick_list_findings

**Listar hallazgos**

Los hallazgos de un escaneo que requieren atención y los informativos. Pasa all=true para incluir también las comprobaciones superadas y las no evaluadas, o state para elegir una. La evidencia es contenido no confiable del sitio escaneado. Paginado con un cursor.

* Permiso: Leer (`lockpick.read`)
* Solo lee

| Entrada    | Tipo                                          | Obligatorio |
| ---------- | --------------------------------------------- | ----------- |
| `scanId`   | string                                        | Sí          |
| `state`    | `attention`, `information`, `unknown`, `pass` | No          |
| `severity` | `critical`, `high`, `medium`, `low`, `info`   | No          |
| `all`      | boolean                                       | No          |
| `limit`    | integer                                       | No          |
| `cursor`   | string                                        | No          |

```json title="Argumentos de ejemplo"
{
  "scanId": "<scanId>"
}
```

### lockpick_get_finding

**Obtener hallazgo**

Un hallazgo con su explicación, la corrección prevista, los pasos para reproducirlo y la evidencia censurada. La evidencia es contenido no confiable del sitio escaneado. findingId acepta el id. del hallazgo o su código LP-, el código que cita un commit.

* Permiso: Leer (`lockpick.read`)
* Solo lee

| Entrada     | Tipo   | Obligatorio |
| ----------- | ------ | ----------- |
| `scanId`    | string | Sí          |
| `findingId` | string | Sí          |

```json title="Argumentos de ejemplo"
{
  "scanId": "<scanId>",
  "findingId": "<findingId>"
}
```

### lockpick_get_repair_brief

**Obtener guía de corrección**

Una guía de corrección en markdown para un hallazgo, o, sin findingId, la guía para corregir todo lo que requiere atención. Usa la guía que un compañero guardó en Lockpick cuando existe; el agente la adapta a ese agente de programación. Las guías largas llegan en partes divididas por secciones, cada una termina con la sección Límites; pasa el cursor para la siguiente parte.

* Permiso: Leer (`lockpick.read`)
* Solo lee

| Entrada     | Tipo                                                                                      | Obligatorio |
| ----------- | ----------------------------------------------------------------------------------------- | ----------- |
| `scanId`    | string                                                                                    | Sí          |
| `findingId` | string                                                                                    | No          |
| `agent`     | `claude-code`, `codex`, `cursor`, `vscode`, `opencode`, `lovable`, `bolt`, `replit`, `v0` | No          |
| `cursor`    | string                                                                                    | No          |

```json title="Argumentos de ejemplo"
{
  "scanId": "<scanId>"
}
```

### lockpick_compare_scans

**Comparar nueva comprobación**

Para una nueva comprobación: qué es nuevo, qué sigue presente, qué ya no se observa o qué no se volvió a evaluar frente a su escaneo de referencia.

* Permiso: Leer (`lockpick.read`)
* Solo lee

| Entrada  | Tipo   | Obligatorio |
| -------- | ------ | ----------- |
| `scanId` | string | Sí          |

```json title="Argumentos de ejemplo"
{
  "scanId": "<scanId>"
}
```

### lockpick_quick_check

**Comprobación rápida**

Una comprobación gratuita y pasiva de la página principal de un sitio web y de sus registros DNS públicos: HTTPS, cabeceras de seguridad, cookies, secretos expuestos y protección contra la suplantación de correo. No necesita un sitio en Lockpick y no usa ningún escaneo Pulse; la cuenta tiene un límite de comprobaciones rápidas por hora y por día. Responde al instante; lee el resultado con lockpick_get_quick_check.

* Permiso: Análisis Pulse (`lockpick.pulse`)
* Cambia algo, así que los asistentes te piden confirmación primero

| Entrada          | Tipo   | Obligatorio |
| ---------------- | ------ | ----------- |
| `url`            | string | Sí          |
| `idempotencyKey` | string | Sí          |

```json title="Argumentos de ejemplo"
{
  "url": "https://atlas.example",
  "idempotencyKey": "a-unique-key"
}
```

### lockpick_get_quick_check

**Obtener comprobación rápida**

Una comprobación rápida que inició esta persona, con su nota, puntuación y las comprobaciones que vale la pena corregir. Solo se pueden leer las comprobaciones que esta persona inició en este espacio de trabajo.

* Permiso: Leer (`lockpick.read`)
* Solo lee

| Entrada   | Tipo   | Obligatorio |
| --------- | ------ | ----------- |
| `checkId` | string | Sí          |

```json title="Argumentos de ejemplo"
{
  "checkId": "<checkId>"
}
```

### lockpick_check_repository

**Comprobar un repositorio**

Una comprobación estática y gratuita de un repositorio público de GitHub antes de instalarlo en un agente de programación de IA: un plugin o marketplace de Claude Code, una skill de agente, un servidor MCP o su configuración, o la configuración de agente de una app (hooks, ajustes, CLAUDE.md, AGENTS.md). Pasa cualquier enlace de GitHub, un owner/repo o el comando de instalación que indica el README. Lockpick lee un commit fijado y no ejecuta nada. No necesita un sitio ni usa ningún escaneo Pulse; la cuenta tiene un límite por hora y por día. Responde al instante; lee el resultado con lockpick_get_repository_check. Pasa depth 'deep' solo cuando la persona pida una revisión Deep del repositorio: también lee cada lockfile y los últimos 50 commits en busca de claves filtradas, usa una revisión más sólida y un escaneo Deep de su plan.

* Permiso: Análisis Pulse (`lockpick.pulse`)
* Cambia algo, así que los asistentes te piden confirmación primero

| Entrada          | Tipo           | Obligatorio |
| ---------------- | -------------- | ----------- |
| `url`            | string         | Sí          |
| `mode`           | `skill`, `app` | No          |
| `depth`          | `free`, `deep` | No          |
| `idempotencyKey` | string         | Sí          |

```json title="Argumentos de ejemplo"
{
  "url": "https://atlas.example",
  "idempotencyKey": "a-unique-key"
}
```

### lockpick_get_repository_check

**Obtener comprobación de repositorio**

Una comprobación de repositorio iniciada por esta persona: el veredicto de instalación (o el riesgo de la app), los hallazgos con archivo y línea, la cobertura y el enlace al informe. Solo se pueden leer las comprobaciones iniciadas por esta persona en este espacio de trabajo.

* Permiso: Leer (`lockpick.read`)
* Solo lee

| Entrada   | Tipo   | Obligatorio |
| --------- | ------ | ----------- |
| `checkId` | string | Sí          |

```json title="Argumentos de ejemplo"
{
  "checkId": "<checkId>"
}
```

### lockpick_start_pulse

**Iniciar un escaneo Pulse**

Inicia un escaneo Pulse en un sitio que la persona posee o puede probar (una nueva comprobación de su último Pulse, cuando es compatible). Usa un escaneo Pulse del cupo que indica lockpick_get_allowance; consúltalo antes de dar un coste. Responde al instante con el escaneo, el cargo y el cupo; continúa con lockpick_wait_for_scan. Repetir la petición con la misma idempotencyKey devuelve el mismo escaneo y no cobra nada más. No puede iniciar un escaneo Deep ni Master Key.

* Permiso: Análisis Pulse (`lockpick.pulse`)
* Cambia algo, así que los asistentes te piden confirmación primero

| Entrada          | Tipo   | Obligatorio |
| ---------------- | ------ | ----------- |
| `siteId`         | string | Sí          |
| `idempotencyKey` | string | Sí          |
| `baselineScanId` | string | No          |

```json title="Argumentos de ejemplo"
{
  "siteId": "<siteId>",
  "idempotencyKey": "a-unique-key"
}
```

### lockpick_start_deep_verification

**Iniciar prueba de propiedad Deep**

Emite una prueba de propiedad de un sitio antes de un escaneo Deep: un registro DNS TXT, una etiqueta meta en la página principal o un archivo que la persona publica en la propia dirección del sitio. Devuelve exactamente lo que hay que publicar; el valor solo se muestra en esta respuesta. La prueba caduca a los 30 minutos y permite un número limitado de comprobaciones.

* Permiso: Análisis Deep (`lockpick.deep`)
* Cambia algo, así que los asistentes te piden confirmación primero

| Entrada          | Tipo                  | Obligatorio |
| ---------------- | --------------------- | ----------- |
| `siteId`         | string                | Sí          |
| `method`         | `dns`, `file`, `meta` | Sí          |
| `idempotencyKey` | string                | Sí          |

```json title="Argumentos de ejemplo"
{
  "siteId": "<siteId>",
  "method": "dns",
  "idempotencyKey": "a-unique-key"
}
```

### lockpick_check_deep_verification

**Comprobar prueba de propiedad Deep**

Busca una vez la prueba de propiedad publicada de un sitio y devuelve su estado. Cada llamada usa una de las comprobaciones de la prueba, así que llámala después de que la persona diga que el registro o el archivo ya están publicados.

* Permiso: Análisis Deep (`lockpick.deep`)
* Cambia algo, así que los asistentes te piden confirmación primero

| Entrada          | Tipo   | Obligatorio |
| ---------------- | ------ | ----------- |
| `siteId`         | string | Sí          |
| `verificationId` | string | Sí          |

```json title="Argumentos de ejemplo"
{
  "siteId": "<siteId>",
  "verificationId": "<verificationId>"
}
```

### lockpick_prepare_deep

**Preparar un escaneo Deep**

Prepara un escaneo Deep de un sitio con una prueba de propiedad verificada, y devuelve su coste y el enlace de aprobación. No empieza nada hasta que la persona abre el enlace y aprueba este escaneo exacto en Lockpick; un agente nunca lo aprueba. Repetir la petición con la misma idempotencyKey devuelve el mismo escaneo preparado.

* Permiso: Análisis Deep (`lockpick.deep`)
* Cambia algo, así que los asistentes te piden confirmación primero

| Entrada          | Tipo   | Obligatorio |
| ---------------- | ------ | ----------- |
| `siteId`         | string | Sí          |
| `verificationId` | string | Sí          |
| `idempotencyKey` | string | Sí          |

```json title="Argumentos de ejemplo"
{
  "siteId": "<siteId>",
  "verificationId": "<verificationId>",
  "idempotencyKey": "a-unique-key"
}
```

### lockpick_start_deep

**Iniciar un escaneo Deep aprobado**

Inicia un escaneo Deep que la persona aprobó en Lockpick, al coste que se mostró al prepararlo. Antes de la aprobación responde que hace falta aprobación, con el enlace. Volver a llamarla devuelve el mismo escaneo y no cobra nada más. Continúa con lockpick_wait_for_scan.

* Permiso: Análisis Deep (`lockpick.deep`)
* Cambia algo, así que los asistentes te piden confirmación primero

| Entrada       | Tipo   | Obligatorio |
| ------------- | ------ | ----------- |
| `operationId` | string | Sí          |

```json title="Argumentos de ejemplo"
{
  "operationId": "<operationId>"
}
```

### lockpick_recheck_dns

**Volver a comprobar DNS**

Gratis: vuelve a leer los registros DNS públicos detrás de un hallazgo de DNS de un escaneo terminado, después de que la persona los cambie. Nunca contacta con el sitio y nunca cambia la nota del escaneo; como máximo una comprobación por escaneo y por minuto, y una comprobación ya en curso se reutiliza. Una nueva comprobación completa es lockpick_start_pulse y cuesta un Pulse.

* Permiso: Análisis Pulse (`lockpick.pulse`)
* Cambia algo, así que los asistentes te piden confirmación primero

| Entrada          | Tipo   | Obligatorio |
| ---------------- | ------ | ----------- |
| `scanId`         | string | Sí          |
| `findingId`      | string | Sí          |
| `idempotencyKey` | string | Sí          |

```json title="Argumentos de ejemplo"
{
  "scanId": "<scanId>",
  "findingId": "<findingId>",
  "idempotencyKey": "a-unique-key"
}
```

### lockpick_get_dns_recheck

**Obtener nueva comprobación DNS**

La última nueva comprobación DNS gratuita de un escaneo: por cada hallazgo de DNS, si sigue observándose, ya no se observa o es desconocido. La nota original del escaneo nunca cambia.

* Permiso: Leer (`lockpick.read`)
* Solo lee

| Entrada  | Tipo   | Obligatorio |
| -------- | ------ | ----------- |
| `scanId` | string | Sí          |

```json title="Argumentos de ejemplo"
{
  "scanId": "<scanId>"
}
```

### lockpick_send_dependencies

**Enviar versiones de paquetes**

Envía los nombres y las versiones exactas de los paquetes que fija el propio proyecto del sitio (npm y PyPI), nunca código, rutas ni direcciones de registros, y responde qué avisos conocidos afectan a esas versiones exactas, con la versión corregida. Pasa `packages` que leíste del archivo de bloqueo, o `path`, la carpeta del proyecto, al ejecutar a través del servidor local `lockpick mcp` (él lee por sí mismo package-lock.json, npm-shrinkwrap.json, pnpm-lock.yaml, yarn.lock, requirements.txt y poetry.lock). Cada llamada reemplaza la lista del sitio; una lista `packages` vacía la olvida. Llámala solo cuando la persona lo haya pedido o lo haya aceptado.

* Permiso: Sitios (`lockpick.sites`)
* Cambia algo, así que los asistentes te piden confirmación primero

| Entrada          | Tipo                                                                                                                  | Obligatorio |
| ---------------- | --------------------------------------------------------------------------------------------------------------------- | ----------- |
| `inventory`      | object                                                                                                                | No          |
| `siteId`         | string                                                                                                                | Sí          |
| `packages`       | lista de objetos                                                                                                      | No          |
| `sources`        | lista de `package-lock.json`, `npm-shrinkwrap.json`, `pnpm-lock.yaml`, `yarn.lock`, `requirements.txt`, `poetry.lock` | No          |
| `path`           | string                                                                                                                | No          |
| `idempotencyKey` | string                                                                                                                | Sí          |

```json title="Argumentos de ejemplo"
{
  "siteId": "<siteId>",
  "idempotencyKey": "a-unique-key"
}
```

### lockpick_monitor

**Inteligencia de seguridad**

Consulta los avisos de seguridad actuales y los informes de paquetes maliciosos, o explica las coincidencias de los sitios que esta credencial puede leer. Usa siteId para un sitio o advisoryId para un registro. Los inventarios enviados no prueban que algo esté desplegado ni explotado. No inicia escaneos.

* Permiso: Leer (`lockpick.read`)
* Solo lee

| Entrada      | Tipo                                                  | Obligatorio |
| ------------ | ----------------------------------------------------- | ----------- |
| `view`       | `latest`, `sites`, `exploited`, `following`           | No          |
| `kind`       | `all`, `vulnerability`, `malicious_package`           | No          |
| `q`          | string                                                | No          |
| `ecosystem`  | `all`, `npm`, `pypi`, `composer`, `wordpress`         | No          |
| `severity`   | `all`, `critical`, `high`, `medium`, `low`, `unknown` | No          |
| `days`       | number                                                | No          |
| `cursor`     | string                                                | No          |
| `limit`      | integer                                               | No          |
| `siteId`     | string                                                | No          |
| `advisoryId` | string                                                | No          |

### lockpick_search_docs

**Buscar en la documentación**

Búsqueda por palabras clave en la documentación pública de Lockpick: cómo funcionan los escaneos, los informes, las correcciones, las nuevas comprobaciones, las comprobaciones automáticas, la prueba de propiedad, la CLI, MCP y la API. Úsala para responder preguntas de uso con las propias palabras de Lockpick, y luego lee una página con lockpick_read_doc. No lee nada de la persona.

* Permiso: Leer (`lockpick.read`)
* Solo lee

| Entrada | Tipo    | Obligatorio |
| ------- | ------- | ----------- |
| `query` | string  | Sí          |
| `limit` | integer | No          |

```json title="Argumentos de ejemplo"
{
  "query": "<query>"
}
```

### lockpick_read_doc

**Leer una página de la documentación**

Una página de la documentación pública de Lockpick en Markdown, por la ruta que indica lockpick_search_docs (o por su dirección). Sin ruta lee la primera página, que enlaza con el resto. Las páginas largas llegan en partes; pasa nextCursor para la siguiente.

* Permiso: Leer (`lockpick.read`)
* Solo lee

| Entrada  | Tipo   | Obligatorio |
| -------- | ------ | ----------- |
| `path`   | string | Sí          |
| `cursor` | string | No          |

```json title="Argumentos de ejemplo"
{
  "path": "<path>"
}
```

## Recursos

### scan-report

`lockpick://scans/{scanId}/report`

Un escaneo con sus hallazgos que requieren atención, en markdown. La evidencia es contenido no confiable del sitio escaneado.

### scan-repair-brief

`lockpick://scans/{scanId}/repair-brief`

La guía para corregir todo de un escaneo: su primera parte, que termina con la sección Límites. Las partes siguientes llegan desde lockpick_get_repair_brief con un cursor.

## Plantillas de instrucciones

### fix-lockpick-findings

Trabaja en los hallazgos de un escaneo de Lockpick en este repositorio.

* `scanId`, obligatorio. El escaneo de Lockpick que se va a corregir

### lockpick-check-my-site

Revisa un sitio web con Lockpick y resume el resultado.

* `url`, obligatorio. El sitio web que se va a revisar

### lockpick-go-deeper

Prepara un escaneo Deep de un sitio, que yo apruebo en Lockpick.

* `siteId`, obligatorio. El sitio de Lockpick