<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>bruno menna</title>
  <link href="https://menna.website/"/>
  <link rel="self" href="https://menna.website/feed.xml"/>
  <id>https://menna.website/</id>
  <updated>2026-08-13T00:00:00.000Z</updated>
  <author><name>bruno menna</name></author>
  
  <entry>
    <title>fetch() silently drops your ssrf agent</title>
    <link href="https://menna.website/posts/fetch-agent/"/>
    <id>https://menna.website/posts/fetch-agent/</id>
    <updated>2026-08-13T00:00:00.000Z</updated>
    <summary>you wired an ssrf guard in as the http agent, tested it, shipped. but node&#39;s global fetch() silently ignores the agent option, so the filter never runs. why it happens, and the fix that actually works.</summary>
  </entry>
  
  <entry>
    <title>127.0.0.1 never touches your resolver (node + rust)</title>
    <link href="https://menna.website/posts/resolver-skip/"/>
    <id>https://menna.website/posts/resolver-skip/</id>
    <updated>2026-08-13T00:00:00.000Z</updated>
    <summary>hook the dns layer to block internal addresses and it feels airtight — every request resolves. except ip literals skip resolution entirely, so your resolver-based guard never runs. the same root cause in node&#39;s undici and rust&#39;s reqwest, with runnable repros.</summary>
  </entry>
  
  <entry>
    <title>does your ssrf guard resolve dns, or just regex the string?</title>
    <link href="https://menna.website/posts/ssrf-libs/"/>
    <id>https://menna.website/posts/ssrf-libs/</id>
    <updated>2026-08-13T00:00:00.000Z</updated>
    <summary>most ssrf guards just regex the hostname string. i threw a corpus of internal addresses at the popular npm libraries, then showed the two things a string check can never catch: dns resolution, and kubernetes search-domain expansion that turns a bare label into an internal service.</summary>
  </entry>
  
  <entry>
    <title>how every language handles ipv4-mapped ipv6 differently (and why your ssrf protection doesn&#39;t work)</title>
    <link href="https://menna.website/posts/ipv4mapped/"/>
    <id>https://menna.website/posts/ipv4mapped/</id>
    <updated>2026-04-21T00:00:00.000Z</updated>
    <summary>i&#39;ve reported 5 SSRF bypass CVEs in major open-source projects — librechat (35k stars), twenty crm (44k stars), stirling-pdf (77k stars), flowise (47k star</summary>
  </entry>
  
  <entry>
    <title>the first 30 minutes on a new target</title>
    <link href="https://menna.website/posts/first30/"/>
    <id>https://menna.website/posts/first30/</id>
    <updated>2026-04-13T00:00:00.000Z</updated>
    <summary>when i open a new program, i don&#39;t start running tools. i start understanding what the app does.</summary>
  </entry>
  
  <entry>
    <title>reverse engineering android apps with jadx + frida</title>
    <link href="https://menna.website/posts/jadx/"/>
    <id>https://menna.website/posts/jadx/</id>
    <updated>2026-04-10T00:00:00.000Z</updated>
    <summary>most android apps trust the client way too much. hidden endpoints, hardcoded keys, debug flags left in production. all you need is the right toolchain to f</summary>
  </entry>
  
  <entry>
    <title>finding idors at scale</title>
    <link href="https://menna.website/posts/idor/"/>
    <id>https://menna.website/posts/idor/</id>
    <updated>2026-04-03T00:00:00.000Z</updated>
    <summary>idor — insecure direct object reference. it&#39;s been on the owasp top 10 for years and it&#39;s still everywhere. the concept is almost embarrassingly simple: ch</summary>
  </entry>
  
  <entry>
    <title>broken access control in webhook implementations</title>
    <link href="https://menna.website/posts/webhooks/"/>
    <id>https://menna.website/posts/webhooks/</id>
    <updated>2026-03-15T00:00:00.000Z</updated>
    <summary>webhooks are one of the most overlooked features in web apps. they&#39;re usually built late in the development cycle, bolted onto an existing api, and rarely </summary>
  </entry>
  
  <entry>
    <title>mitmproxy setup for mobile interception</title>
    <link href="https://menna.website/posts/mitmproxy/"/>
    <id>https://menna.website/posts/mitmproxy/</id>
    <updated>2026-03-01T00:00:00.000Z</updated>
    <summary>intercepting mobile app traffic is the first step in any mobile bug bounty engagement. mitmproxy is my go-to — it&#39;s free, scriptable, and works on both and</summary>
  </entry>
  
</feed>
