<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Norn // foron23</title><link>https://foron.dev/tags/norn/</link><description>Portfolio y blog de Iker Foronda: ingeniería cloud y DevOps (Kubernetes, Terraform, Azure), seguridad ofensiva de IA y red teaming de LLM, y desarrollo full stack (Python, Node.js, PostgreSQL).</description><generator>Hugo -- gohugo.io</generator><language>es</language><lastBuildDate>Fri, 06 Nov 2026 00:00:00 +0100</lastBuildDate><atom:link href="https://foron.dev/tags/norn/index.xml" rel="self" type="application/rss+xml"/><item><title>Tu agente te pega. ¿Sabes cuánto duele?</title><link>https://foron.dev/blog/tu-agente-te-pega/</link><pubDate>Fri, 06 Nov 2026 00:00:00 +0100</pubDate><guid>https://foron.dev/blog/tu-agente-te-pega/</guid><description>&lt;p&gt;Pensando en cómo mejorar Norn, volví a lo de siempre: poner nombre a lo que quiero ver cuando pasa, y a lo que quiero ver antes de que pase.&lt;/p&gt;
&lt;p&gt;En algún punto de esa vuelta me pregunté qué detecta &lt;a href="https://github.com/foron23/norn"&gt;Norn&lt;/a&gt;. Detecta obediencia: si el modelo hace lo que el documento le manda, con un canario de testigo y un corpus que puedo contar. Eso está medido.&lt;/p&gt;
&lt;p&gt;La duda incómoda llegó al lado. Un agente con herramientas no solo obedece: ejecuta. Y de lo ejecutado yo no tenía número. No es que lo midiera mal. Es que no existía. La pregunta que sale de ahí no es la de los bancos de pruebas, que miden si el ataque gana y cuánta utilidad cuesta defenderse: es cuánto dolió lo que pasó y cuánto se quedó a medio camino.&lt;/p&gt;</description><category>ia</category><category>security</category><category>norn</category></item><item><title>PHP2Shell: cinco días atacando un fallo que nadie podía parchear</title><link>https://foron.dev/blog/php2shell/</link><pubDate>Thu, 22 Oct 2026 00:00:00 +0200</pubDate><guid>https://foron.dev/blog/php2shell/</guid><description>&lt;aside class="callout callout-warn" role="note"&gt;
&lt;div class="callout-head"&gt;
&lt;span class="callout-glyph" aria-hidden="true"&gt;!&lt;/span&gt;
&lt;span class="callout-label"&gt;tl;dr&lt;/span&gt;
&lt;/div&gt;
&lt;div class="callout-body"&gt;&lt;p&gt;Dos fallos del núcleo de PHP, &lt;a href="https://www.cve.org/CVERecord?id=CVE-2026-109618"&gt;CVE-2026-109618&lt;/a&gt; y &lt;a href="https://www.cve.org/CVERecord?id=CVE-2026-109619"&gt;CVE-2026-109619&lt;/a&gt; (9.2), permiten &lt;strong&gt;ejecución remota de código sin autenticación&lt;/strong&gt;: control del servidor, con la aplicación que sea. Un «hola mundo» también cae. Afecta desde PHP 5.4.&lt;/p&gt;
&lt;p&gt;El segundo impacto es lectura de memoria del proceso, con contraseñas y tokens de otras peticiones.&lt;/p&gt;
&lt;p&gt;Actualiza a 8.2.35, 8.3.36, 8.4.27 o 8.5.12.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Reinicia los procesos&lt;/strong&gt;, no el servidor: PHP-FPM, Apache y cualquier worker que lleve meses en pie.&lt;/p&gt;</description><category>security</category><category>iocs</category></item><item><title>MacGyver en una Raspberry Pi</title><link>https://foron.dev/blog/macgyver-en-una-raspberry-pi/</link><pubDate>Tue, 06 Oct 2026 00:00:00 +0200</pubDate><guid>https://foron.dev/blog/macgyver-en-una-raspberry-pi/</guid><description>&lt;p&gt;De la curiosidad nacen muchas de las cosas que merecen la pena. Otras nacen de la necesidad. Lo que cuento aquí está en medio de las dos.&lt;/p&gt;
&lt;p&gt;Entre tanto «slop» en internet, me di cuenta de que no podía seguir el ritmo de todos los canales de información. Tocaba adaptarse o morir, al más puro estilo Darwin. Madafaka.&lt;/p&gt;
&lt;p&gt;Llevo desde principios de agosto metiendo en una carpeta de ficheros de texto todo lo que leo y todo lo que decido. Hoy son 471 notas atómicas, 333 fuentes, 79 síntesis y 7 intercambios. Hace una hora había 470 y una menos, porque el sistema sigue trabajando mientras yo hago otras cosas.&lt;/p&gt;</description><category>ia</category><category>hermes</category><category>aprendizaje</category></item><item><title>El código está solucionado. ¿Y ahora qué?</title><link>https://foron.dev/blog/el-codigo-esta-solucionado/</link><pubDate>Tue, 29 Sep 2026 00:00:00 +0200</pubDate><guid>https://foron.dev/blog/el-codigo-esta-solucionado/</guid><description>&lt;p&gt;El código está solucionado.&lt;/p&gt;
&lt;p&gt;Casi. No exactamente. Lo que se ha resuelto es una parte muy concreta del trabajo, la que se llevaba las tardes enteras, y lo que queda es lo que nadie había tenido que entrenar antes.&lt;/p&gt;
&lt;p&gt;Durante años, mi trabajo fue este bucle: escribo código, compilo, ejecuto, no funciona, leo el mensaje de error, cambio una línea, vuelvo a empezar. Un error de una línea podía llevarse una tarde entera. Daba igual lo bien que hubiera pensado el diseño: si aquello no arrancaba, no había nada. Había días en los que no sacaba nada adelante, y lo desesperante nunca era el error. Era el bucle.&lt;/p&gt;</description><category>ia</category><category>desarrollo</category><category>sdlc</category></item></channel></rss>