<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Daniel Alfocea</title><link>https://danielalfocea.com/</link><description>Recent content on Daniel Alfocea</description><generator>Hugo</generator><language>es-ES</language><atom:link href="https://danielalfocea.com/index.xml" rel="self" type="application/rss+xml"/><item><title>MCP Enterprise Security: A Practical Architecture and Lessons to Avoid Being Pwned</title><link>https://danielalfocea.com/talks/rootedcon-2026-mcp-enterprise/</link><pubDate>Fri, 06 Mar 2026 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/talks/rootedcon-2026-mcp-enterprise/</guid><description/></item><item><title>When MCP goes Wrong - Que MCP no rompa tu seguridad</title><link>https://danielalfocea.com/talks/rootedcon-2026-mcp-wrong/</link><pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/talks/rootedcon-2026-mcp-wrong/</guid><description/></item><item><title>LAPIS: Lightweight API Specification for Intelligent Systems</title><link>https://danielalfocea.com/papers/lapis/</link><pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/papers/lapis/</guid><description>&lt;p>OpenAPI fue diseñado para generadores de código y herramientas de documentación. Cuando un LLM lo procesa, consume tokens que no aportan información útil al modelo.&lt;/p>
&lt;p>LAPIS es un formato de especificación de APIs pensado específicamente para cómo los modelos de lenguaje consumen documentación. Probado con APIs de GitHub, Twilio y DigitalOcean, la reducción media es del 85.5% de tokens frente a OpenAPI YAML y del 88.6% frente a JSON.&lt;/p>
&lt;p>Además de la compacidad, LAPIS incluye manejo centralizado de errores, triggers de webhooks, descripción de rate limiting y flujos de operaciones, cosas que OpenAPI dispersa o no contempla directamente.&lt;/p></description></item><item><title>Censorship, privacy and the fine art of disappearing without trace</title><link>https://danielalfocea.com/talks/rootedcon-2025-censorship/</link><pubDate>Fri, 07 Mar 2025 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/talks/rootedcon-2025-censorship/</guid><description/></item><item><title>Haciendo cosas divertidas con bases de datos</title><link>https://danielalfocea.com/talks/navaja-negra-2024-databases/</link><pubDate>Fri, 04 Oct 2024 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/talks/navaja-negra-2024-databases/</guid><description>&lt;p>Bases de datos como infraestructura de ataque sofisticada.&lt;/p>
&lt;h2 id="de-qué-va">De qué va&lt;/h2>
&lt;p>Olvidémonos de SQL injection básica, borrado de datos o robo de información. Eso ya lo conocemos.&lt;/p>
&lt;p>Esta charla va de cómo los atacantes pueden usar bases de datos como parte de infraestructura de ataque sofisticada:&lt;/p>
&lt;ul>
&lt;li>Bases de datos como C2 (Command &amp;amp; Control)&lt;/li>
&lt;li>Persistencia avanzada vía DB&lt;/li>
&lt;li>Lateral movement usando infraestructura DB&lt;/li>
&lt;li>Exfiltración encubierta&lt;/li>
&lt;li>Paralelismos con evolución de malware&lt;/li>
&lt;/ul>
&lt;h2 id="por-qué-es-relevante">Por qué es relevante&lt;/h2>
&lt;p>Las bases de datos están en el corazón de todo sistema moderno. Pero rara vez se piensan como vectores de ataque avanzado.&lt;/p></description></item><item><title>Dockerscan</title><link>https://danielalfocea.com/projects/dockerscan/</link><pubDate>Mon, 01 Jan 2024 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/projects/dockerscan/</guid><description>&lt;p>&lt;strong>Dockerscan&lt;/strong> es probablemente el escáner de seguridad para Docker más completo que existe.&lt;/p>
&lt;p>Cuando empezó el boom de los contenedores, me di cuenta de que había un problema gordo: la gente no sabía cómo securizar sus contenedores. Y las herramientas que había eran&amp;hellip; bueno, digamos que dejaban mucho que desear.&lt;/p>
&lt;p>Así que me puse manos a la obra y creé Dockerscan.&lt;/p>
&lt;h2 id="qué-hace">¿Qué hace?&lt;/h2>
&lt;ul>
&lt;li>Escanea imágenes de Docker en busca de vulnerabilidades&lt;/li>
&lt;li>Analiza la configuración de los contenedores&lt;/li>
&lt;li>Detecta secretos hardcodeados&lt;/li>
&lt;li>Identifica problemas de seguridad en tiempo real&lt;/li>
&lt;li>Y mucho más&lt;/li>
&lt;/ul>
&lt;h2 id="impacto">Impacto&lt;/h2>
&lt;p>Con &lt;strong>+1,400 estrellas en GitHub&lt;/strong>, Dockerscan se ha convertido en una herramienta de referencia para securizar contenedores.&lt;/p></description></item><item><title>Slow JSON Stream: A Low-Bandwidth Denial-of-Service Attack Against HTTP APIs with JSON Request Bodies</title><link>https://danielalfocea.com/papers/slow-json-stream/</link><pubDate>Wed, 24 Jun 2026 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/papers/slow-json-stream/</guid><description>&lt;p>Slow JSON Stream es un ataque de denegación de servicio de bajo ancho de banda contra APIs HTTP que aceptan cuerpos &lt;code>application/json&lt;/code>.&lt;/p>
&lt;h2 id="cómo-funciona">Cómo funciona&lt;/h2>
&lt;p>El atacante abre una conexión HTTP/1.1 con Transfer-Encoding chunked y envía un prefijo JSON válido (por ejemplo &lt;code>{&amp;quot;items&amp;quot;:[{...,}&lt;/code>) a un byte por segundo, sin enviar nunca el token de cierre. Slowloris hace lo mismo con las cabeceras HTTP y los servidores ya lo cortan con &lt;code>client_header_timeout&lt;/code>. Esta variante llega al lector de cuerpo del framework y al parser JSON, donde la mayoría de frameworks no tienen timeout configurado por defecto.&lt;/p></description></item><item><title>AWS, with its lambdas and its little things</title><link>https://danielalfocea.com/talks/rootedcon-2024-aws-lambda/</link><pubDate>Fri, 08 Mar 2024 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/talks/rootedcon-2024-aws-lambda/</guid><description/></item><item><title>Aiotasks</title><link>https://danielalfocea.com/projects/aiotasks/</link><pubDate>Tue, 02 Jan 2024 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/projects/aiotasks/</guid><description>&lt;p>&lt;strong>Aiotasks&lt;/strong> es un gestor de tareas distribuidas para Python Asyncio. Piensa en Celery, pero para código asíncrono.&lt;/p>
&lt;p>Me encanta Asyncio. Me parece una de las mejores cosas que le han pasado a Python. Pero cuando intenté usar Celery con código asíncrono, fue un infierno.&lt;/p>
&lt;p>Así que creé Aiotasks.&lt;/p>
&lt;h2 id="por-qué-aiotasks">¿Por qué Aiotasks?&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Asíncrono de verdad&lt;/strong>: Diseñado desde cero para Asyncio&lt;/li>
&lt;li>&lt;strong>Simple&lt;/strong>: No necesitas doctorado en Python para usarlo&lt;/li>
&lt;li>&lt;strong>Distribuido&lt;/strong>: Escala horizontalmente sin problemas&lt;/li>
&lt;li>&lt;strong>Ligero&lt;/strong>: No tiene las mil dependencias que tiene Celery&lt;/li>
&lt;/ul>
&lt;h2 id="casos-de-uso">Casos de uso&lt;/h2>
&lt;p>Lo he usado en producción para:&lt;/p></description></item><item><title>Protege tu Python… porque si es tan malo como suena, mejor que nadie lo vea</title><link>https://danielalfocea.com/talks/navaja-negra-2024-python/</link><pubDate>Fri, 06 Oct 2023 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/talks/navaja-negra-2024-python/</guid><description>&lt;p>Entretenido, instructivo y un auténtico brainfuck sobre protección de código Python.&lt;/p>
&lt;h2 id="de-qué-va">De qué va&lt;/h2>
&lt;p>Escenarios donde necesitas proteger tu código Python: propiedad intelectual, distribuir aplicaciones, mejorar rendimiento, asegurar algoritmos sensibles.&lt;/p>
&lt;p>En esta charla cubrimos:&lt;/p>
&lt;ul>
&lt;li>Métodos básicos de ofuscación&lt;/li>
&lt;li>Empaquetado y cifrado de código&lt;/li>
&lt;li>&lt;strong>Técnicas avanzadas: crear intérpretes Python personalizados&lt;/strong>&lt;/li>
&lt;li>Análisis de efectividad de cada método&lt;/li>
&lt;li>Casos de uso reales y limitaciones&lt;/li>
&lt;/ul>
&lt;h2 id="por-qué-es-relevante">Por qué es relevante&lt;/h2>
&lt;p>Python es código abierto por diseño. Pero a veces necesitas proteger algoritmos propietarios, productos comerciales o herramientas internas sensibles.&lt;/p></description></item><item><title>Protegiendo Código Fuente Python</title><link>https://danielalfocea.com/talks/navaja-negra-2024/</link><pubDate>Fri, 06 Oct 2023 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/talks/navaja-negra-2024/</guid><description>&lt;p>Técnicas para proteger código fuente Python, desde las más obvias hasta las más avanzadas.&lt;/p>
&lt;h2 id="de-qué-va">De qué va&lt;/h2>
&lt;p>Cuando publicas código Python, normalmente lo publicas en texto plano. Pero a veces necesitas proteger tu código fuente.&lt;/p>
&lt;p>En esta charla cubrimos:&lt;/p>
&lt;ul>
&lt;li>Técnicas básicas: ofuscación, bytecode&lt;/li>
&lt;li>Técnicas intermedias: empaquetado, cifrado&lt;/li>
&lt;li>Técnicas avanzadas: compilar tu propio intérprete Python modificado&lt;/li>
&lt;li>Pros y contras de cada aproximación&lt;/li>
&lt;li>Casos de uso reales&lt;/li>
&lt;/ul>
&lt;h2 id="por-qué-es-relevante">Por qué es relevante&lt;/h2>
&lt;p>Hay situaciones donde proteger el código fuente es necesario: productos comerciales, algoritmos propietarios, herramientas internas.&lt;/p></description></item><item><title>Plecost</title><link>https://danielalfocea.com/projects/plecost/</link><pubDate>Mon, 17 Mar 2014 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/projects/plecost/</guid><description>&lt;p>&lt;strong>Plecost&lt;/strong> detecta vulnerabilidades en instalaciones de WordPress: el núcleo, los plugins y los temas. Cada hallazgo se cruza con una base de CVE local que se actualiza cada día.&lt;/p>
&lt;p>Vive en su propia organización de GitHub, pero es mío. Lo empecé en 2014 y en la versión 4 lo reescribí desde cero.&lt;/p>
&lt;h2 id="por-qué-existe">Por qué existe&lt;/h2>
&lt;p>Quien audita WordPress en producción acaba chocando con lo mismo: límites de API, datos de vulnerabilidades que dependen de un servicio externo, ninguna forma de usarlo como librería y un escaneo lento porque no es concurrente.&lt;/p></description></item><item><title>NoSQL Injection Wordlists</title><link>https://danielalfocea.com/projects/nosqlinjection/</link><pubDate>Wed, 03 Jan 2024 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/projects/nosqlinjection/</guid><description>&lt;p>&lt;strong>NoSQL Injection Wordlists&lt;/strong> es la colección de payloads para testear NoSQL Injections más completa que vas a encontrar.&lt;/p>
&lt;p>Cuando empecé a hacer pentesting de aplicaciones que usaban MongoDB, Cassandra y otras bases de datos NoSQL, me di cuenta de que no había buenas wordlists.&lt;/p>
&lt;p>Las que había eran pobres. Muy pobres.&lt;/p>
&lt;h2 id="qué-incluye">¿Qué incluye?&lt;/h2>
&lt;p>Cientos de payloads para:&lt;/p>
&lt;ul>
&lt;li>MongoDB&lt;/li>
&lt;li>Cassandra&lt;/li>
&lt;li>CouchDB&lt;/li>
&lt;li>Redis&lt;/li>
&lt;li>Y muchas más&lt;/li>
&lt;/ul>
&lt;h2 id="impacto-real">Impacto real&lt;/h2>
&lt;p>&lt;strong>+370 estrellas&lt;/strong> y usado por pentesters de todo el mundo.&lt;/p></description></item><item><title>Asyncio en producción: lo que nadie te cuenta</title><link>https://danielalfocea.com/talks/python-asyncio-produccion/</link><pubDate>Sat, 08 Oct 2022 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/talks/python-asyncio-produccion/</guid><description>&lt;p>Todo lo que he aprendido usando Python Asyncio en producción. Lo bueno, lo malo y lo feo.&lt;/p>
&lt;h2 id="resumen">Resumen&lt;/h2>
&lt;p>Asyncio es genial. Hasta que no lo es.&lt;/p>
&lt;p>En esta charla cuento:&lt;/p>
&lt;ul>
&lt;li>Errores comunes al usar Asyncio&lt;/li>
&lt;li>Problemas de rendimiento que nadie te cuenta&lt;/li>
&lt;li>Debugging de código asíncrono&lt;/li>
&lt;li>Patrones que funcionan en producción&lt;/li>
&lt;/ul>
&lt;h2 id="basado-en-experiencia-real">Basado en experiencia real&lt;/h2>
&lt;p>No es teoría. Es lo que he aprendido construyendo sistemas que procesan millones de eventos al día.&lt;/p></description></item><item><title>FestIn</title><link>https://danielalfocea.com/projects/festin/</link><pubDate>Thu, 04 Jan 2024 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/projects/festin/</guid><description>&lt;p>&lt;strong>FestIn&lt;/strong> es un escáner de buckets S3 abiertos. Te ayuda a encontrar datos expuestos antes de que lo hagan los malos.&lt;/p>
&lt;p>Amazon S3 es genial. Pero la gente lo configura mal. Muy mal.&lt;/p>
&lt;p>He visto de todo: bases de datos completas, documentos confidenciales, backups sin cifrar&amp;hellip; todo al aire.&lt;/p>
&lt;h2 id="qué-hace-festin">¿Qué hace FestIn?&lt;/h2>
&lt;ul>
&lt;li>Escanea buckets S3 en busca de configuraciones inseguras&lt;/li>
&lt;li>Detecta datos expuestos públicamente&lt;/li>
&lt;li>Identifica permisos incorrectos&lt;/li>
&lt;li>Genera reportes detallados&lt;/li>
&lt;/ul>
&lt;h2 id="historia-real">Historia real&lt;/h2>
&lt;p>Una vez, usando FestIn, encontré un bucket con información médica de millones de personas. Contacté con la empresa. Les costó creerlo.&lt;/p></description></item><item><title>Spreading Application Security Ownership Across the Entire Organization</title><link>https://danielalfocea.com/talks/rsa-conference-2022/</link><pubDate>Tue, 07 Jun 2022 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/talks/rsa-conference-2022/</guid><description>&lt;p>RSA Conference 2022 - Una de las conferencias de ciberseguridad más importantes del mundo.&lt;/p>
&lt;h2 id="de-qué-va">De qué va&lt;/h2>
&lt;p>La seguridad de aplicaciones no puede ser responsabilidad únicamente del equipo de seguridad. Necesita estar distribuida a través de toda la organización.&lt;/p>
&lt;p>En esta sesión cubrimos:&lt;/p>
&lt;ul>
&lt;li>Estrategias para distribuir la propiedad de seguridad&lt;/li>
&lt;li>Cómo empoderar a los equipos de desarrollo&lt;/li>
&lt;li>Crear cultura de seguridad en toda la organización&lt;/li>
&lt;li>Métricas y medición de éxito&lt;/li>
&lt;li>Casos reales de implementación&lt;/li>
&lt;/ul>
&lt;h2 id="por-qué-es-relevante">Por qué es relevante&lt;/h2>
&lt;p>Las organizaciones más exitosas en seguridad son aquellas donde todos se sienten responsables, no solo el equipo de seguridad.&lt;/p></description></item><item><title>Aiohttp-Swagger</title><link>https://danielalfocea.com/projects/aiohttp-swagger/</link><pubDate>Fri, 05 Jan 2024 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/projects/aiohttp-swagger/</guid><description>&lt;p>&lt;strong>Aiohttp-Swagger&lt;/strong> genera documentación automática de APIs para servidores aiohttp.&lt;/p>
&lt;p>Documentar APIs es un coñazo. Lo sé. Lo sabes. Todos lo sabemos.&lt;/p>
&lt;p>Pero es necesario. Y tiene que estar actualizada. Sino, es peor que no tenerla.&lt;/p>
&lt;h2 id="por-qué-lo-creé">¿Por qué lo creé?&lt;/h2>
&lt;p>Me encanta aiohttp. Es rápido, simple y potente. Pero no tenía una forma decente de generar documentación Swagger.&lt;/p>
&lt;p>Así que la creé.&lt;/p>
&lt;h2 id="características">Características&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Automático&lt;/strong>: Genera la documentación desde tu código&lt;/li>
&lt;li>&lt;strong>Swagger UI&lt;/strong>: Interfaz visual para probar la API&lt;/li>
&lt;li>&lt;strong>OpenAPI&lt;/strong>: Estándar de facto para APIs REST&lt;/li>
&lt;li>&lt;strong>Fácil&lt;/strong>: Dos líneas de código y ya&lt;/li>
&lt;/ul>
&lt;h2 id="adopción">Adopción&lt;/h2>
&lt;p>&lt;strong>+180 estrellas&lt;/strong> y usado en APIs que procesan millones de peticiones al día.&lt;/p></description></item><item><title>From the Heaven to Hell in the CI/CD</title><link>https://danielalfocea.com/talks/rootedcon-2020-cicd-security/</link><pubDate>Fri, 06 Mar 2020 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/talks/rootedcon-2020-cicd-security/</guid><description>&lt;p>Vulnerabilidades críticas en CI/CD que nadie te cuenta.&lt;/p>
&lt;h2 id="de-qué-va">De qué va&lt;/h2>
&lt;p>Los pipelines CI/CD son el nuevo objetivo. Compromete el CI/CD y comprometes toda la empresa.&lt;/p>
&lt;p>En esta charla cubrimos:&lt;/p>
&lt;ul>
&lt;li>Top 10 vulnerabilidades en CI/CD&lt;/li>
&lt;li>Ataques a Jenkins, GitLab CI, GitHub Actions, CircleCI&lt;/li>
&lt;li>Supply chain attacks a través de CI/CD&lt;/li>
&lt;li>Compromiso de secretos y credenciales&lt;/li>
&lt;li>Defense in depth para pipelines&lt;/li>
&lt;/ul>
&lt;h2 id="por-qué-es-relevante">Por qué es relevante&lt;/h2>
&lt;p>El CI/CD es la puerta de entrada a producción. Un pipeline comprometido significa código malicioso en producción sin que nadie se entere.&lt;/p></description></item><item><title>Enteletaor</title><link>https://danielalfocea.com/projects/enteletaor/</link><pubDate>Sat, 06 Jan 2024 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/projects/enteletaor/</guid><description>&lt;p>&lt;strong>Enteletaor&lt;/strong> es una herramienta de pentesting especializada en Message Queues y Brokers.&lt;/p>
&lt;p>RabbitMQ, Redis, Apache Kafka&amp;hellip; son componentes críticos en arquitecturas modernas. Y nadie los testea bien.&lt;/p>
&lt;h2 id="el-problema">El problema&lt;/h2>
&lt;p>La mayoría de pentesters se centran en aplicaciones web. Pero los message brokers son igual de críticos. Y están igual de mal configurados.&lt;/p>
&lt;h2 id="qué-hace-enteletaor">¿Qué hace Enteletaor?&lt;/h2>
&lt;ul>
&lt;li>Detecta configuraciones inseguras en brokers&lt;/li>
&lt;li>Inyecta mensajes maliciosos&lt;/li>
&lt;li>Identifica problemas de autenticación&lt;/li>
&lt;li>Testea permisos incorrectos&lt;/li>
&lt;/ul>
&lt;h2 id="casos-reales">Casos reales&lt;/h2>
&lt;p>He encontrado vulnerabilidades críticas en sistemas que procesaban transacciones financieras.&lt;/p></description></item><item><title>Crawlino: The New Level of Crawling Systems</title><link>https://danielalfocea.com/talks/rootedcon-2018-crawlino/</link><pubDate>Fri, 02 Mar 2018 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/talks/rootedcon-2018-crawlino/</guid><description>&lt;p>Presentación de &lt;strong>Crawlino&lt;/strong>, un sistema de crawling distribuido de nueva generación.&lt;/p>
&lt;h2 id="de-qué-va">De qué va&lt;/h2>
&lt;p>Crawlino es un sistema de crawling distribuido diseñado para reconocimiento y análisis de aplicaciones web a escala.&lt;/p>
&lt;p>En esta charla cubrimos:&lt;/p>
&lt;ul>
&lt;li>Limitaciones de los crawlers tradicionales&lt;/li>
&lt;li>Arquitectura distribuida y escalable&lt;/li>
&lt;li>Crawling inteligente con aprendizaje&lt;/li>
&lt;li>Casos de uso en pentesting y reconocimiento&lt;/li>
&lt;li>Rendimiento: millones de URLs por día&lt;/li>
&lt;/ul>
&lt;h2 id="por-qué-es-relevante">Por qué es relevante&lt;/h2>
&lt;p>Los crawlers tradicionales no escalan. Cuando necesitas analizar miles de dominios o millones de URLs, necesitas otra aproximación.&lt;/p></description></item><item><title>Dockerfile Security</title><link>https://danielalfocea.com/projects/dockerfile-security/</link><pubDate>Sun, 07 Jan 2024 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/projects/dockerfile-security/</guid><description>&lt;p>&lt;strong>Dockerfile Security&lt;/strong> es un analizador estático que encuentra problemas de seguridad en tus Dockerfiles antes de construir las imágenes.&lt;/p>
&lt;p>Prevenir es mejor que curar. Especialmente en seguridad.&lt;/p>
&lt;h2 id="por-qué-es-importante">¿Por qué es importante?&lt;/h2>
&lt;p>Los Dockerfiles son código. Y como todo código, pueden tener vulnerabilidades:&lt;/p>
&lt;ul>
&lt;li>Secretos hardcodeados&lt;/li>
&lt;li>Usuarios con privilegios excesivos&lt;/li>
&lt;li>Puertos innecesarios expuestos&lt;/li>
&lt;li>Software desactualizado&lt;/li>
&lt;/ul>
&lt;h2 id="características">Características&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Análisis estático&lt;/strong>: Sin necesidad de construir la imagen&lt;/li>
&lt;li>&lt;strong>Rápido&lt;/strong>: Segundos, no minutos&lt;/li>
&lt;li>&lt;strong>Integrable&lt;/strong>: CI/CD friendly&lt;/li>
&lt;li>&lt;strong>Detallado&lt;/strong>: Explica qué está mal y cómo arreglarlo&lt;/li>
&lt;/ul>
&lt;h2 id="impacto">Impacto&lt;/h2>
&lt;p>&lt;strong>+95 estrellas&lt;/strong> y usado en pipelines de CI/CD de empresas que se toman la seguridad en serio.&lt;/p></description></item><item><title>Docker Might Not Be Your Friend - Trojanizing Docker Images</title><link>https://danielalfocea.com/talks/rooted-docker-security/</link><pubDate>Wed, 01 Mar 2017 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/talks/rooted-docker-security/</guid><description>&lt;p>Docker puede ser tu peor enemigo si no sabes lo que haces.&lt;/p>
&lt;h2 id="de-qué-va">De qué va&lt;/h2>
&lt;p>Con Roberto Muñoz presentamos técnicas avanzadas para troyanizar imágenes Docker y comprometer sistemas a través de contenedores.&lt;/p>
&lt;p>En esta charla cubrimos:&lt;/p>
&lt;ul>
&lt;li>Troyanización de imágenes Docker&lt;/li>
&lt;li>Backdoors en contenedores&lt;/li>
&lt;li>Ataques a registros Docker (Docker Hub, privados)&lt;/li>
&lt;li>Supply chain attacks a través de imágenes&lt;/li>
&lt;li>Persistencia y lateral movement vía Docker&lt;/li>
&lt;/ul>
&lt;h2 id="por-qué-es-relevante">Por qué es relevante&lt;/h2>
&lt;p>Todo el mundo usa Docker. Todo el mundo confía en imágenes de terceros. Nadie verifica lo que realmente contienen.&lt;/p></description></item><item><title>Vulnerable Node</title><link>https://danielalfocea.com/projects/vulnerable-node/</link><pubDate>Mon, 08 Jan 2024 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/projects/vulnerable-node/</guid><description>&lt;p>Vulnerable Node es una tienda web pequeña escrita en NodeJS con vulnerabilidades de verdad en el código. No simuladas: reales.&lt;/p>
&lt;h2 id="por-qué-existe">Por qué existe&lt;/h2>
&lt;p>Cuando construyes un analizador de código, necesitas algo contra lo que probarlo. Y las aplicaciones vulnerables que había, como OWASP NodeGoat, están bien para aprender pero no para medir una herramienta: sus fallos están simulados, y un analizador serio no los encuentra porque no están ahí.&lt;/p>
&lt;p>Vulnerable Node lo escribí para lo contrario. Una aplicación con los fallos metidos en el código fuente, en sitios identificables, para poder responder a una pregunta concreta: ¿cuántos de estos encuentra tu herramienta?&lt;/p></description></item><item><title>I Meetup OWASP Madrid</title><link>https://danielalfocea.com/talks/owasp-madrid-2016/</link><pubDate>Wed, 01 Jun 2016 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/talks/owasp-madrid-2016/</guid><description>&lt;p>Primer meetup del capítulo OWASP Madrid.&lt;/p>
&lt;h2 id="de-qué-va">De qué va&lt;/h2>
&lt;p>Charla técnica sobre seguridad en aplicaciones web en el primer meetup oficial del capítulo OWASP Madrid.&lt;/p>
&lt;p>Los ejemplos y código de la charla están disponibles en GitHub: &lt;a href="https://github.com/cr0hn/i-owasp-madrid">cr0hn/i-owasp-madrid&lt;/a>&lt;/p>
&lt;h2 id="owasp-madrid">OWASP Madrid&lt;/h2>
&lt;p>OWASP (Open Web Application Security Project) es la organización de referencia mundial en seguridad de aplicaciones web.&lt;/p>
&lt;p>El capítulo de Madrid es uno de los más activos de España, con meetups regulares sobre seguridad en aplicaciones, APIs y desarrollo seguro.&lt;/p></description></item><item><title>Aiohttp-Cache</title><link>https://danielalfocea.com/projects/aiohttp-cache/</link><pubDate>Tue, 09 Jan 2024 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/projects/aiohttp-cache/</guid><description>&lt;p>&lt;strong>Aiohttp-Cache&lt;/strong> es un sistema de caché para servidores aiohttp que hace que tus APIs vuelen.&lt;/p>
&lt;p>La velocidad importa. Mucho.&lt;/p>
&lt;h2 id="el-problema">El problema&lt;/h2>
&lt;p>Las APIs suelen hacer lo mismo una y otra vez. Consultas a base de datos, llamadas a servicios externos&amp;hellip; todo eso es lento.&lt;/p>
&lt;p>¿La solución? Caché. Pero hacerlo bien es complicado.&lt;/p>
&lt;h2 id="qué-hace-aiohttp-cache">¿Qué hace Aiohttp-Cache?&lt;/h2>
&lt;ul>
&lt;li>Caché automática de respuestas HTTP&lt;/li>
&lt;li>Soporte para múltiples backends (Redis, Memcached, memoria)&lt;/li>
&lt;li>Invalidación inteligente&lt;/li>
&lt;li>TTL configurables&lt;/li>
&lt;li>Zero config por defecto&lt;/li>
&lt;/ul>
&lt;h2 id="casos-de-uso">Casos de uso&lt;/h2>
&lt;p>Lo he usado en APIs que pasaron de 100ms de latencia a 5ms.&lt;/p></description></item><item><title>Broker &amp; MQ Injection</title><link>https://danielalfocea.com/talks/rootedcon-2016-broker-injection/</link><pubDate>Tue, 01 Mar 2016 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/talks/rootedcon-2016-broker-injection/</guid><description>&lt;p>Primera presentación pública del concepto &lt;strong>Broker Injection&lt;/strong>.&lt;/p>
&lt;h2 id="de-qué-va">De qué va&lt;/h2>
&lt;p>Presenté por primera vez el concepto de Broker Injection y libere &lt;strong>Enteletaor&lt;/strong>, una herramienta de seguridad para inyectar, extraer y modificar información de Brokers y Message Queues.&lt;/p>
&lt;p>En esta charla cubrimos:&lt;/p>
&lt;ul>
&lt;li>Vulnerabilidades en sistemas de mensajería (Redis, RabbitMQ, ZeroMQ)&lt;/li>
&lt;li>Técnicas de inyección en brokers&lt;/li>
&lt;li>Exfiltración de datos sensibles&lt;/li>
&lt;li>Demostración práctica con Enteletaor&lt;/li>
&lt;/ul>
&lt;h2 id="por-qué-es-relevante">Por qué es relevante&lt;/h2>
&lt;p>Los brokers y sistemas de mensajería están en el corazón de sistemas distribuidos modernos. Pero nadie hablaba de su seguridad.&lt;/p></description></item><item><title>OpenVAS to Report</title><link>https://danielalfocea.com/projects/openvas-to-report/</link><pubDate>Wed, 10 Jan 2024 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/projects/openvas-to-report/</guid><description>&lt;p>&lt;strong>OpenVAS to Report&lt;/strong> es un conjunto de herramientas para convertir los reportes XML de OpenVAS en informes ejecutivos profesionales.&lt;/p>
&lt;p>OpenVAS es genial para encontrar vulnerabilidades. Pero sus reportes dan pena.&lt;/p>
&lt;h2 id="el-problema-real">El problema real&lt;/h2>
&lt;p>Cuando haces un pentest, necesitas dos tipos de informes:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Técnico&lt;/strong>: Para los administradores de sistemas&lt;/li>
&lt;li>&lt;strong>Ejecutivo&lt;/strong>: Para los jefes que toman decisiones&lt;/li>
&lt;/ul>
&lt;p>OpenVAS solo te da XML. Y es horrible de leer.&lt;/p>
&lt;h2 id="qué-hace-esta-herramienta">¿Qué hace esta herramienta?&lt;/h2>
&lt;p>Convierte el XML de OpenVAS en:&lt;/p></description></item><item><title>Python, Hacking y Sec-tools desde las Trincheras</title><link>https://danielalfocea.com/talks/cybercamp-2015-python-hacking/</link><pubDate>Tue, 01 Dec 2015 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/talks/cybercamp-2015-python-hacking/</guid><description>&lt;p>Workshop práctico de Python para hacking y seguridad.&lt;/p>
&lt;h2 id="de-qué-va">De qué va&lt;/h2>
&lt;p>No es una charla. Es un workshop hands-on de cómo construir herramientas de seguridad con Python.&lt;/p>
&lt;p>En este workshop cubrimos:&lt;/p>
&lt;ul>
&lt;li>Network hacking con Scapy&lt;/li>
&lt;li>Web hacking con Python&lt;/li>
&lt;li>Desarrollo de herramientas de seguridad&lt;/li>
&lt;li>De script a herramienta profesional&lt;/li>
&lt;li>Mejores prácticas y patrones&lt;/li>
&lt;/ul>
&lt;h2 id="por-qué-es-relevante">Por qué es relevante&lt;/h2>
&lt;p>Python es el lenguaje por excelencia en seguridad. Pero hay mucha diferencia entre un script de 50 líneas y una herramienta profesional.&lt;/p></description></item><item><title>ja-shortener</title><link>https://danielalfocea.com/projects/ja-shortener/</link><pubDate>Sun, 01 Jan 2023 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/projects/ja-shortener/</guid><description>&lt;p>Monté ja-shortener porque me negaba a depender de Bitly para algo tan trivial como acortar una URL.&lt;/p>
&lt;p>Es un acortador propio, autoalojado. Sin terceros, sin rastreos, sin cuotas de API que aparecen a final de mes. Funciona y no da problemas.&lt;/p>
&lt;p>+43 estrellas en GitHub.&lt;/p></description></item><item><title>Tu DevOp me da trabajo: Soy auditor de seguridad</title><link>https://danielalfocea.com/talks/codemotion-2015-devsecops/</link><pubDate>Sun, 01 Nov 2015 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/talks/codemotion-2015-devsecops/</guid><description>&lt;p>La relación amor-odio entre DevOps y Security.&lt;/p>
&lt;h2 id="de-qué-va">De qué va&lt;/h2>
&lt;p>Título provocador para una charla necesaria: cómo la revolución DevOps está introduciendo nuevos problemas de seguridad.&lt;/p>
&lt;p>En esta charla cubrimos:&lt;/p>
&lt;ul>
&lt;li>Errores comunes de seguridad en cultura DevOps&lt;/li>
&lt;li>Contenedores inseguros&lt;/li>
&lt;li>Secretos en variables de entorno&lt;/li>
&lt;li>Pipelines sin controles de seguridad&lt;/li>
&lt;li>Cómo hacer DevSecOps bien&lt;/li>
&lt;/ul>
&lt;h2 id="por-qué-es-relevante">Por qué es relevante&lt;/h2>
&lt;p>En 2015, DevOps estaba en pleno boom. Todos querían desplegar rápido. Nadie pensaba en seguridad.&lt;/p></description></item><item><title>RSM - Redis Security Map</title><link>https://danielalfocea.com/projects/rsm/</link><pubDate>Sat, 01 Jan 2022 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/projects/rsm/</guid><description>&lt;p>RSM (Redis Security Map) es una herramienta de seguridad para Redis.&lt;/p>
&lt;p>El problema habitual: Redis desplegado con configuración por defecto, puerto abierto, sin autenticación, esperando a que alguien lo encuentre con un escaneo básico. RSM detecta esas configuraciones y bloquea los intentos de acceso antes de que lleguen a nada.&lt;/p>
&lt;p>+31 estrellas en GitHub.&lt;/p></description></item><item><title>EasyLogs</title><link>https://danielalfocea.com/projects/easylogs/</link><pubDate>Sat, 01 Jan 2022 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/projects/easylogs/</guid><description>&lt;p>EasyLogs es un panel para ver logs en tiempo real sin montar nada grande.&lt;/p>
&lt;p>Lo escribí porque cada vez que quería mirar los logs de un servicio pequeño acababa levantando Kibana, Graylog o algo parecido, y perdía la tarde configurándolo para ver cuatro líneas. Quería algo que se levantara con un &lt;code>docker run&lt;/code> y sirviera para lo que hace falta el 90 % de las veces: ver qué está pasando ahora mismo.&lt;/p></description></item><item><title>wordpress-docker-sec</title><link>https://danielalfocea.com/projects/wordpress-docker-sec/</link><pubDate>Fri, 01 Jan 2021 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/projects/wordpress-docker-sec/</guid><description>&lt;p>WordPress se configura de una forma y se ataca de otra. Este repositorio despliega en Docker las herramientas que uso para auditar y endurecer instalaciones: nmap, wpscan, plecost.&lt;/p>
&lt;p>Nada nuevo, pero tenerlo listo y automatizado ahorra tiempo cada vez.&lt;/p>
&lt;p>+13 estrellas en GitHub.&lt;/p></description></item><item><title>LAPIS</title><link>https://danielalfocea.com/projects/lapis/</link><pubDate>Fri, 20 Feb 2026 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/projects/lapis/</guid><description>&lt;p>LAPIS (Lightweight API Specification for Intelligent Systems) es un formato de especificación de APIs diseñado para LLMs, no para generadores de código.&lt;/p>
&lt;p>OpenAPI sirve bien para documentación y herramientas. Cuando lo usa un LLM, consume tokens que no añaden información. LAPIS recorta ese overhead: 85.5% menos tokens que OpenAPI YAML, 88.6% menos que JSON, medido en APIs reales de GitHub, Twilio y DigitalOcean.&lt;/p>
&lt;p>Incluye manejo de errores centralizado, webhooks, rate limiting y flujos de operaciones. Se convierte desde OpenAPI 3.x con un conversor automático. Publicado como especificación abierta bajo CC BY 4.0.&lt;/p></description></item><item><title>nginx-wordpress-docker-sec</title><link>https://danielalfocea.com/projects/nginx-wordpress-docker-sec/</link><pubDate>Fri, 01 Jan 2021 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/projects/nginx-wordpress-docker-sec/</guid><description>&lt;p>La versión de &lt;code>wordpress-docker-sec&lt;/code> centrada en Nginx. Mismas herramientas de auditoría, pero con el hardening aplicado a nivel de servidor web en lugar de a la aplicación.&lt;/p>
&lt;p>Los dos repos juntos cubren bastante del perímetro habitual de un WordPress en producción.&lt;/p>
&lt;p>+12 estrellas en GitHub.&lt;/p></description></item><item><title>realtime-redis-backup</title><link>https://danielalfocea.com/projects/realtime-redis-backup/</link><pubDate>Sat, 01 Jan 2022 00:00:00 +0000</pubDate><guid>https://danielalfocea.com/projects/realtime-redis-backup/</guid><description>&lt;p>realtime-redis-backup hace copias de seguridad de Redis a S3 de forma continua usando asyncio, sin bloquear nada.&lt;/p>
&lt;p>Lo construí porque quería backups sin tener que parar Redis ni montar réplicas para eso. Configurable en frecuencia, compresión y retención.&lt;/p>
&lt;p>+11 estrellas en GitHub.&lt;/p></description></item></channel></rss>