Herramientas y scripts de IA
Comprobación de seguridad de apps de Slack
Revisa tus apps de Slack antes de desplegarlas: tokens, signing secrets y URLs de webhooks en código, archivos env y de CI, endpoints de Events API y slash commands sin verificación de firma, comprobaciones de Bolt desactivadas, scopes de administrador y mensajes con @channel que llevan texto del usuario.
Qué recibes: 1 archivo · 50.33 KB · ZIP
Ver opciones de compraDescripción del producto
Una ruta de Flask que responde al desafío url_verification de Slack pero nunca comprueba X-Slack-Signature acepta eventos y clics de botones falsos de cualquiera que encuentre la URL, y un solo signatureVerification: false en una app de Bolt hace lo mismo. Esta skill encuentra esos errores y otros once errores de apps de Slack antes de que despliegues, y te explica cómo corregir cada uno.
Tu agente ejecuta un escáner sobre archivos JavaScript, TypeScript y Python que usan Slack (Bolt, slack_sdk, @slack/web-api, tokens de Slack, URLs, encabezados o campos de petición que solo envía Slack), sobre manifiestos de apps de Slack en JSON o YAML, y sobre archivos env, de configuración y de CI en busca de tokens y URLs de webhooks. Conoce los valores por defecto de Bolt (la verificación de firma está activada salvo que la desactives, y Socket Mode no la necesita), los helpers de verificación de slack_sdk y @slack/bolt, los frameworks edge que verifican por defecto, y sabe cuándo una comprobación puede estar en un middleware, un hook, un decorador o un helper que no puede leer (entonces indica REVIEW, no BLOCK). Lee .gitignore, así que un token en un archivo .env que git ignora se cuenta en una sola línea en lugar de reportarse. Los placeholders de la documentación de Slack se ignoran, los comentarios y archivos de prueba se omiten, y no se ejecuta ni se envía nada a Slack. Devuelve BLOCK, REVIEW o NOT FLAGGED, con el archivo, la línea, el motivo y una alternativa más segura. Los tokens, secretos y URLs de webhooks nunca se muestran.
Qué revisa
BLOCK (corregir antes de publicar)
- K01: tokens de Slack (xoxb, xoxp, xapp, tokens rotativos y de actualización) en código, manifiestos o archivos env, de configuración o de CI que git incluiría en un commit
- K02: signing secrets, client secrets o verification tokens escritos como literales o como valores por defecto literales en el código
- K03: URLs de incoming webhooks o de webhooks de flujos de trabajo en código o archivos env, de configuración o de CI que git incluiría en un commit
- K04: un archivo con un servidor completo que gestiona eventos de Slack, slash commands o interactividad sin nada que pueda comprobar X-Slack-Signature
- K05: la verificación de firma de Bolt desactivada (signatureVerification: false, request_verification_enabled=False) fuera de Socket Mode
REVIEW (revisar antes del lanzamiento)
- K11: una verificación de firma hecha a mano sin el límite de cinco minutos para la marca de tiempo
- K12: una verificación de firma hecha a mano que compara con == en lugar de una función de tiempo constante
- K13: un handler de peticiones de Slack cuya verificación de firma, si existe, está en middleware, hooks, decoradores, helpers o archivos que el escaneo no puede leer
- K14: handlers que confían en el verification token obsoleto
- K15: scopes de administrador y scopes de historial o búsqueda con token de usuario (también scopes opcionales) en manifiestos y configuración de OAuth
- K16: URLs de redirección OAuth, Events, interactividad y slash commands con http (no https)
- K17: mensajes con @channel, @here o @everyone, o link_names, cuya llamada lleva texto del usuario o de la petición
- K18: verificación del state de OAuth desactivada o el secreto del state escrito en el código
Qué incluye
- El escáner (Python 3.9+, solo biblioteca estándar)
- Una guía de reglas con el motivo, una alternativa más segura y un enlace a la documentación de Slack para cada regla
- Una app de Slack de ejemplo arriesgada y otra segura (app de Bolt, manifiesto, servicio Flask y rutas Express), y el informe real que genera el escáner sobre la arriesgada
Limitaciones
Lee cada archivo tal como está escrito: no ve los ajustes hechos en las páginas de configuración de la app en Slack, los valores procedentes de variables de entorno u otros módulos, ni lo que realmente hacen los middleware o helpers de otros archivos. Un handler que nunca menciona Slack no se revisa. Solo se lee código JavaScript, TypeScript y Python; Bolt para Java y las apps en Go, Ruby o PHP no se revisan. Los archivos env, de configuración y de CI solo se leen en busca de tokens y URLs de webhooks. Se muestra un hallazgo por regla y línea. Los archivos de prueba se omiten. NOT FLAGGED no es una garantía.
Contenido
Un archivo ZIP con 24 archivos: SKILL.md, el escáner en scripts/ (7 archivos de Python), references/rules.md (cada regla con su motivo y una alternativa más segura) y examples/ (14 archivos de ejemplo más report.md, la salida real del escáner sobre el ejemplo arriesgado).
Cómo usarlo: Es una skill para agentes: una carpeta con un archivo SKILL.md y scripts de Python que puede ejecutar un agente de programación con IA como Claude Code, Cursor o Codex CLI. Descomprímela en la carpeta de skills de tu agente (para Claude Code: ~/.claude/skills/) y luego pide a tu agente que revise tu proyecto. Los scripts también funcionan por sí solos con Python 3.9 o posterior, sin nada que instalar. Solo leen tus archivos: sin acceso a la red y sin enviar nada a ningún sitio.
Qué recibes
1 archivo · 50.33 KB
- slack-app-safety-check-1.0.0.zipZIP · 50.33 KB
Herramientas y scripts de IA
Comprobación de seguridad de apps de Slack
Revisa tus apps de Slack antes de desplegarlas: tokens, signing secrets y URLs de webhooks en código, archivos env y de CI, endpoints de Events API y slash commands sin verificación de firma, comprobaciones de Bolt desactivadas, scopes de administrador y mensajes con @channel que llevan texto del usuario.
Getly abrió los archivos subidos y no encontró nada que impida abrirlos. No es un análisis antivirus ni una valoración de calidad.
Etiquetas
Preguntas frecuentes
¿Tengo acceso al instante?
Sí. Es un producto digital: puedes descargarlo justo después del pago, directamente desde tu biblioteca.
¿Puedo usarlo en proyectos comerciales?
Sí. Se permite el uso comercial: úsalo en tu propio negocio y en cosas que vendas. No puedes revender ni redistribuir el archivo en sí.
¿Cuál es vuestra política de reembolso?
Puedes pedir un reembolso dentro de 30 días. Si algo no va bien, solicítalo desde tu pedido y el equipo de Getly lo revisa.
¿Qué formatos y tamaños de archivo recibiré?
Descargarás 1 archivo - ZIP - 50.33 KB en total.
¿Recibo actualizaciones gratis?
Sí: cuando el vendedor publica una versión nueva, puedes volver a descargar los archivos más recientes desde tu biblioteca sin coste extra. Mira el registro de cambios para ver las últimas actualizaciones.
Precio
$5.00



