<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><description>Web security researcher at PortSwigger. Author of JavaScript for Hackers, Shazzer and Hackvertor. &#xA;&#xA;https://javascriptforhackers.co.uk/&#xA;https://garethheyes.co.uk/</description><link>https://bsky.app/profile/garethheyes.co.uk</link><title>@garethheyes.co.uk - Gareth Heyes</title><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mvnzddgq522i</link><description>I&#39;ve added a super powerful feature to Hackvertor. Check tags.They let you perform expressions on tags&#xA;&#xA;&lt;@check(isJson)&gt;{&#34;a&#34;:1}&lt;/@check&gt; &amp;&amp; &lt;@encode(base64)&gt;{&#34;a&#34;:1}&lt;/@encode&gt;&#xA;&#xA;The above example only returns base 64 encoded JSON if the first is valid JSON.&#xA;&#xA;https://thespanner.co.uk/hackvertor-check-tags-and-conditions</description><pubDate>16 Sep 2026 20:50 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mvnzddgq522i</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mvn3vlrhac2i</link><description>Did a small post about mutating Safari a behaviour that Shazzer found.&#xA;&#xA;https://thespanner.co.uk/mutating-safari</description><pubDate>16 Sep 2026 12:04 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mvn3vlrhac2i</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mvd5vf6ic22u</link><description>Burp Hackvertor now has jigsaw mode too!</description><pubDate>12 Sep 2026 13:13 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mvd5vf6ic22u</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mvbj5jbum22u</link><description>Just something I&#39;ve been working on. Jigsaw mode in Hackvertor!</description><pubDate>11 Sep 2026 21:29 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mvbj5jbum22u</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mujspiwlvk2t</link><description>I&#39;ve added a single execution type in Shazzer. This allows you to execute JS once. Useful for enumerating things in a browser such as events.&#xA;&#xA;Example vector:&#xA;https://shazzer.co.uk/vectors/665a2e0046ae9018753b3ff4</description><pubDate>02 Sep 2026 11:16 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mujspiwlvk2t</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mud6aqukzc2t</link><description>Safari actually supports CSS random! It&#39;s buggy but it does work. My escape room puzzles are now randomised on desktop and iPhone other browsers will follow</description><pubDate>30 Aug 2026 19:54 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mud6aqukzc2t</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3muc7p76cxk2t</link><description>The coolest part of Shazzer is the fuzzing network. To reflect that I&#39;ve updated the design and added animations. Now you can see swarms of browsers when they are connected&#xA;&#xA;shazzer.co.uk/network&#xA;https://shazzer.co.uk/network</description><pubDate>30 Aug 2026 10:47 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3muc7p76cxk2t</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mu65ansf3k2t</link><description>Added a trophy room to my 3D world with what I think is my best work. Claude casually building 3D CSS like it&#39;s nothing...</description><pubDate>28 Aug 2026 19:53 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mu65ansf3k2t</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mu5rwfjnrs2t</link><description>I&#39;ve made a major change to Shazzer. It will now collate historical fuzz result data. Previously to save costs it would remove older result data. I&#39;ve since upgraded my db server. We should then have a history of interesting browser data. You can get RSS feeds of fuzz results too</description><pubDate>28 Aug 2026 16:30 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mu5rwfjnrs2t</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mu3odligok2l</link><description>Made the gallery a zig zag shape instead which fixes the performance glitches on Chrome. Check it out!&#xA;&#xA;garethheyes.co.uk&#xA;https://garethheyes.co.uk/</description><pubDate>27 Aug 2026 20:21 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mu3odligok2l</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mtz5ucmn222l</link><description>Fixed another collision bug. If you opened the doors you could walk through walls.</description><pubDate>26 Aug 2026 20:20 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mtz5ucmn222l</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mtz4cq6y2s2l</link><description>Yes do it 🥳&#xA;&#xA;[contains quote post or other embedded content]</description><pubDate>26 Aug 2026 19:53 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mtz4cq6y2s2l</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mtz3yczcac2l</link><description>Fixed collision detection bugs on my website</description><pubDate>26 Aug 2026 19:47 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mtz3yczcac2l</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mtybi34qjs2l</link><description>My site now uses random() to randomize the solutions to the escape room. Random isn&#39;t available yet in any modern browser so it will fallback to a static solution.</description><pubDate>26 Aug 2026 11:52 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mtybi34qjs2l</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mtwpl2zykc2w</link><description>Hehe my escape room even works on my iPhone 😂</description><pubDate>25 Aug 2026 20:59 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mtwpl2zykc2w</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mtwl5k36ds2w</link><description>With Claude I&#39;ve created CSS/HTML only escape room puzzles on my website. Check it out! Absolutely no JS!&#xA;Claude created the puzzles so it was quite fun trying to solve them myself 😀&#xA;&#xA;garethheyes.co.uk&#xA;https://garethheyes.co.uk/</description><pubDate>25 Aug 2026 19:40 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mtwl5k36ds2w</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mtwh5akoik2w</link><description>I 😻 Firefox</description><pubDate>25 Aug 2026 18:28 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mtwh5akoik2w</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mtvzk2bmt22w</link><description>I put a JavaScript URL inside an HTML tag name, and every browser executed it. Apparently, tag names are code now. &#xA;&#xA;http://portswigger.net/research/whats-in-a-tag-name-javascript-apparently</description><pubDate>25 Aug 2026 14:25 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mtvzk2bmt22w</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3msyjwoxcdc2z</link><description>You can now generate QR codes in web Hackvertor to share your URLs in presentations. Just click the QR code button.</description><pubDate>13 Aug 2026 20:59 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3msyjwoxcdc2z</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3msxufsnfbs2j</link><description>I stole an Outlook password with nothing but CSS inside an email 👀&#xA;&#xA;Whitepaper below 👇&#xA;&#xA;This video is from my research &#34;CSS: the bomb inside your inbox&#34;. &#xA;Whitepaper &amp; slides:&#xA;https://portswigger.net/research/css-the-bomb-inside-your-inbox</description><pubDate>13 Aug 2026 14:33 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3msxufsnfbs2j</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3msv7sli4rs2s</link><description>@html5test.com I saw you&#39;re doom game :) you could probably do it in pure HTML/CSS. Check this out collision detection in CSS:&#xA;&#xA;https://thespanner.co.uk/pure-css-3d-world-collision-detection</description><pubDate>12 Aug 2026 13:19 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3msv7sli4rs2s</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3msh7xr4uxc2l</link><description>If you want to see how to compromise an account from a paste and steal passwords in CSS and much more check out my paper &#34;CSS: the bomb inside your inbox&#34; 👇&#xA;&#xA;https://portswigger.net/research/css-the-bomb-inside-your-inbox</description><pubDate>06 Aug 2026 23:45 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3msh7xr4uxc2l</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mrs32d4iuc2u</link><description>Next week I&#39;m going to make you terrified of opening your emails...Join me at Black Hat USA for CSS:the bomb inside your inbox</description><pubDate>29 Jul 2026 13:51 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mrs32d4iuc2u</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mrhvpz6yt22l</link><description>I&#39;ve wrote up how to do collision detection in pure CSS. I had loads of fun doing this.&#xA;&#xA;https://thespanner.co.uk/pure-css-3d-world-collision-detection</description><pubDate>25 Jul 2026 12:49 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mrhvpz6yt22l</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mrhrdo7r2k2l</link><description>Fixed the teleports on my site. The burger menu now works on all browsers. I&#39;d previously tried to get this working and failed. Opus just did it in about 5 mins.&#xA;&#xA;garethheyes.co.uk&#xA;https://garethheyes.co.uk/</description><pubDate>25 Jul 2026 11:31 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mrhrdo7r2k2l</guid></item><item><link>https://bsky.app/profile/garethheyes.co.uk/post/3mrfzy5gjps2l</link><description>My 3D world now has collision detection in CSS! If you run into a wall or door it will stop. Open the door and you can go through. This model is unbelievable.&#xA;&#xA;garethheyes.co.uk</description><pubDate>24 Jul 2026 19:00 +0000</pubDate><guid isPermaLink="false">at://did:plc:eisos6r3dojkdtrafvrvfual/app.bsky.feed.post/3mrfzy5gjps2l</guid></item></channel></rss>