<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Johanna Ratliff on The Trail of Bits Blog</title><link>https://miscreants.github.io/blog.trailofbits.com/authors/johanna-ratliff/</link><description>Recent content in Johanna Ratliff on The Trail of Bits Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Tue, 24 Nov 2020 08:00:04 -0500</lastBuildDate><atom:link href="https://miscreants.github.io/blog.trailofbits.com/authors/johanna-ratliff/index.xml" rel="self" type="application/rss+xml"/><item><title>Smart (and simple) ways to prevent symlink attacks in Go</title><link>https://miscreants.github.io/blog.trailofbits.com/2020/11/24/smart-and-simple-ways-to-prevent-symlink-attacks-in-go/</link><pubDate>Tue, 24 Nov 2020 08:00:04 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2020/11/24/smart-and-simple-ways-to-prevent-symlink-attacks-in-go/</guid><description>After writing Go for years, many of us have learned the error-checking pattern down to our bones: “Does this function return an error? Ope, better make sure it’s nil before moving on.” And that’s great! This should be our default behavior when writing Go. However, rote error checking can sometimes prevent critical thinking about what […]</description></item></channel></rss>