<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>research-practice on The Trail of Bits Blog</title><link>https://miscreants.github.io/blog.trailofbits.com/categories/research-practice/</link><description>Recent content in research-practice on The Trail of Bits Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sat, 09 Aug 2025 00:00:00 -0400</lastBuildDate><atom:link href="https://miscreants.github.io/blog.trailofbits.com/categories/research-practice/index.xml" rel="self" type="application/rss+xml"/><item><title>Trail of Bits' Buttercup wins 2nd place in AIxCC Challenge</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/08/09/trail-of-bits-buttercup-wins-2nd-place-in-aixcc-challenge/</link><pubDate>Sat, 09 Aug 2025 10:30:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/08/09/trail-of-bits-buttercup-wins-2nd-place-in-aixcc-challenge/</guid><description>Our team won the runner-up prize of $3M at DARPA&amp;rsquo;s AI Cyber Challenge, demonstrating Buttercup&amp;rsquo;s world-class automated vulnerability discovery and patching capabilities with remarkable cost efficiency.</description></item><item><title>Buttercup is now open-source!</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/08/08/buttercup-is-now-open-source/</link><pubDate>Fri, 08 Aug 2025 00:00:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/08/08/buttercup-is-now-open-source/</guid><description>Now that DARPA&amp;rsquo;s AI Cyber Challenge (AIxCC) has officially ended, we can finally make Buttercup, our CRS (Cyber Reasoning System), open source!</description></item><item><title>AIxCC finals: Tale of the tape</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/08/07/aixcc-finals-tale-of-the-tape/</link><pubDate>Thu, 07 Aug 2025 00:00:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/08/07/aixcc-finals-tale-of-the-tape/</guid><description>While the AIxCC winner has not yet been announced, differences in the finalists&amp;rsquo; approaches show that there are multiple viable paths forward to using AI for vulnerability detection.</description></item><item><title>Detecting code copying at scale with Vendetect</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/07/21/detecting-code-copying-at-scale-with-vendetect/</link><pubDate>Mon, 21 Jul 2025 07:00:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/07/21/detecting-code-copying-at-scale-with-vendetect/</guid><description>Vendetect is our new open-source tool for detecting copied and vendored code between repositories. It uses semantic fingerprinting to identify similar code even when variable names change or comments disappear. More importantly, unlike academic plagiarism detectors, it understands version control history, helping you trace vendored code back to its exact source commit.</description></item><item><title>Investigate your dependencies with Deptective</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/07/08/investigate-your-dependencies-with-deptective/</link><pubDate>Tue, 08 Jul 2025 07:00:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/07/08/investigate-your-dependencies-with-deptective/</guid><description>Deptective, our new open-source tool, automatically finds the packages needed to install software dependencies. It does so not based on the software&amp;rsquo;s self-reported requirements, but by observing what the software needs at runtime.</description></item><item><title>Buckle up, Buttercup, AIxCC’s scored round is underway!</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/07/02/buckle-up-buttercup-aixccs-scored-round-is-underway/</link><pubDate>Wed, 02 Jul 2025 07:00:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/07/02/buckle-up-buttercup-aixccs-scored-round-is-underway/</guid><description>Our CRS (Cyber Reasoning System), Buttercup, is now competing in the one and only scored round of DARPA’s AI Cyber Challenge (AIxCC) against six other teams to see which autonomous AI-driven system can find and patch the most software vulnerabilities.</description></item><item><title>Datasig: Fingerprinting AI/ML datasets to stop data-borne attacks</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/05/02/datasig-fingerprinting-ai/ml-datasets-to-stop-data-borne-attacks/</link><pubDate>Fri, 02 May 2025 07:00:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/05/02/datasig-fingerprinting-ai/ml-datasets-to-stop-data-borne-attacks/</guid><description>Datasig generates compact, unique fingerprints for AI/ML datasets that let you compare training data with high accuracy—without needing access to the raw data itself.&lt;br&gt;
This critical capability helps AIBOM (AI bill of materials) tools detect data-borne vulnerabilities that traditional security tools completely miss.</description></item><item><title>Preventing account takeover on centralized cryptocurrency exchanges in 2025</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/02/05/preventing-account-takeover-on-centralized-cryptocurrency-exchanges-in-2025/</link><pubDate>Wed, 05 Feb 2025 09:00:37 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/02/05/preventing-account-takeover-on-centralized-cryptocurrency-exchanges-in-2025/</guid><description>This blog post highlights key points from our new white paper Preventing Account Takeovers on Centralized Cryptocurrency Exchanges, which documents ATO-related attack vectors and defenses tailored to CEXes. Imagine trying to log in to your centralized cryptocurrency exchange (CEX) account and your password and username just… don’t work. You […]</description></item><item><title>A deep dive into Linux’s new mseal syscall</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/10/25/a-deep-dive-into-linuxs-new-mseal-syscall/</link><pubDate>Fri, 25 Oct 2024 09:00:18 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/10/25/a-deep-dive-into-linuxs-new-mseal-syscall/</guid><description>If you love exploit mitigations, you may have heard of a new system call named mseal landing into the Linux kernel’s 6.10 release, providing a protection called “memory sealing.” Beyond notes from the authors, very little information about this mitigation exists. In this blog post, we’ll explain what this syscall is, including […]</description></item><item><title>A few notes on AWS Nitro Enclaves: Attack surface</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/09/24/notes-on-aws-nitro-enclaves-attack-surface/</link><pubDate>Tue, 24 Sep 2024 09:00:36 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/09/24/notes-on-aws-nitro-enclaves-attack-surface/</guid><description>In the race to secure cloud applications, AWS Nitro Enclaves have emerged as a powerful tool for isolating sensitive workloads.&lt;br&gt;
But with great power comes great responsibility-and potential security pitfalls. As pioneers in confidential computing security, we at&lt;br&gt;
Trail of Bits have scrutinized the attack surface of AWS Nitro Enclaves, uncovering potential bugs that could compromise even these&lt;br&gt;
hardened environments.</description></item><item><title>What would you do with that old GPU?</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/09/05/what-would-you-do-with-that-old-gpu/</link><pubDate>Thu, 05 Sep 2024 09:00:11 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/09/05/what-would-you-do-with-that-old-gpu/</guid><description>(Would you get up and throw it away?) [sing to the tune of The Beatles – With A Little Help From My Friends] Here’s a riddle: when new GPUs are constantly being produced, product cycles are ~18-24 months long, and each cycle doubles GPU power (per Huang’s Law), what […]</description></item><item><title>Provisioning cloud infrastructure the wrong way, but faster</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/08/27/provisioning-cloud-infrastructure-the-wrong-way-but-faster/</link><pubDate>Tue, 27 Aug 2024 09:00:06 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/08/27/provisioning-cloud-infrastructure-the-wrong-way-but-faster/</guid><description>Today we’re going to provision some cloud infrastructure the Max Power way: by combining automation with unchecked AI output. Unfortunately, this method produces cloud infrastructure code that 1) works and 2) has terrible security properties. In a nutshell, AI-based tools like Claude and ChatGPT readily provide extremely bad cloud infrastructure provisioning code, […]</description></item><item><title>Our audit of Homebrew</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/07/30/our-audit-of-homebrew/</link><pubDate>Tue, 30 Jul 2024 09:00:34 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/07/30/our-audit-of-homebrew/</guid><description>This is a joint post with the Homebrew maintainers; read their announcement here! Last summer, we performed an audit of Homebrew. Our audit’s scope included Homebrew/brew itself (home of the brew CLI), and three adjacent repositories responsible for various security-relevant aspects of Homebrew’s operation: Homebrew/actions: a repository of custom GitHub Actions used […]</description></item><item><title>A peek into build provenance for Homebrew</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/05/14/a-peek-into-build-provenance-for-homebrew/</link><pubDate>Tue, 14 May 2024 09:00:05 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/05/14/a-peek-into-build-provenance-for-homebrew/</guid><description>Last November, we announced our collaboration with Alpha-Omega and OpenSSF to add build provenance to Homebrew. Today, we are pleased to announce that the core of that work is live and in public beta: homebrew-core is now cryptographically attesting to all bottles built in the official Homebrew CI. You […]</description></item><item><title>The life and times of an Abstract Syntax Tree</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/05/02/the-life-and-times-of-an-abstract-syntax-tree/</link><pubDate>Thu, 02 May 2024 09:00:06 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/05/02/the-life-and-times-of-an-abstract-syntax-tree/</guid><description>You’ve reached computer programming nirvana. Your journey has led you down many paths, including believing that God wrote the universe in LISP, but now the truth is clear in your mind: every problem can be solved by writing one more compiler. It’s true. Even our soon-to-be artificially intelligent overlords are nothing but […]</description></item><item><title>Binary type inference in Ghidra</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/02/07/binary-type-inference-in-ghidra/</link><pubDate>Wed, 07 Feb 2024 09:00:39 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/02/07/binary-type-inference-in-ghidra/</guid><description>Trail of Bits is releasing BTIGhidra, a Ghidra extension that helps reverse engineers by inferring type information from binaries. The analysis is inter-procedural, propagating and resolving type constraints between functions while consuming user input to recover additional type information. This refined type information produces more idiomatic decompilation, enhancing reverse engineering comprehension. The […]</description></item><item><title>Finding bugs in C code with Multi-Level IR and VAST</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/06/15/finding-bugs-with-mlir-and-vast/</link><pubDate>Thu, 15 Jun 2023 07:00:10 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/06/15/finding-bugs-with-mlir-and-vast/</guid><description>Intermediate languages (IRs) are what reverse engineers and vulnerability researchers use to see the forest for the trees. IRs are used to view programs at different abstraction layers, so that analysis can understand both low-level code aberrations and higher levels of flawed logic mistakes. The setback is that bug-finding tools are often pigeonholed into choosing […]</description></item><item><title>Introducing Windows Notification Facility’s (WNF) Code Integrity</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/05/15/introducing-windows-notification-facilitys-wnf-code-integrity/</link><pubDate>Mon, 15 May 2023 07:00:45 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/05/15/introducing-windows-notification-facilitys-wnf-code-integrity/</guid><description>WNF (Windows Notification Facility) is an undocumented notification mechanism that allows communication inside processes, between processes, or between user mode processes and kernel drivers. Similar to other notification mechanisms like ETW (Event Tracing for Windows) and ALPC (Advanced Local Procedure Call), WNF communication happens over different “channels,” each representing […]</description></item><item><title>How to avoid the aCropalypse</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/03/30/acropalypse-polytracker-blind-spots/</link><pubDate>Thu, 30 Mar 2023 08:00:22 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/03/30/acropalypse-polytracker-blind-spots/</guid><description>The aCropalypse is upon us! Last week, news about CVE-2023-21036, nicknamed the &amp;ldquo;aCropalypse,&amp;rdquo; spread across Twitter and other media, and I quickly realized that the underlying flaw could be detected by our tool, PolyTracker. I&amp;rsquo;ll explain how PolyTracker can detect files affected by the vulnerability even without specific file format knowledge.</description></item><item><title>Introducing RPC Investigator</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/01/17/rpc-investigator-microsoft-windows-remote-procedure-call/</link><pubDate>Tue, 17 Jan 2023 08:00:06 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/01/17/rpc-investigator-microsoft-windows-remote-procedure-call/</guid><description>A new tool for Windows RPC research. Trail of Bits is releasing a new tool for exploring RPC clients and servers on Windows. RPC Investigator is a .NET application that builds on the NtApiDotNet platform for enumerating, decompiling/parsing and communicating with arbitrary RPC servers. We’ve added visualization and additional features that offer […]</description></item><item><title>Look out! Divergent representations are everywhere!</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/11/10/divergent-representations-variable-overflows-c-compiler/</link><pubDate>Thu, 10 Nov 2022 07:30:53 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/11/10/divergent-representations-variable-overflows-c-compiler/</guid><description>Trail of Bits recently published a blog post about a signed integer overflow in certain versions of SQLite that can enable arbitrary code execution and result in a denial of service. While working on proof-of-concept exploits for that vulnerability, we noticed that the compiler’s representation of an important integer variable is semantically […]</description></item><item><title>Secure your machine learning with Semgrep</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/10/03/semgrep-maching-learning-static-analysis/</link><pubDate>Mon, 03 Oct 2022 09:00:53 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/10/03/semgrep-maching-learning-static-analysis/</guid><description>tl;dr: Our publicly available Semgrep ruleset now has 11 rules dedicated to the misuse of machine learning libraries. Try it out now! Picture this: You’ve spent months curating images, trying out different architectures, downloading pretrained models, messing with Kubernetes, and you’re finally ready to ship your sparkling new machine learning (ML) product. […]</description></item><item><title>libmagic: The Blathering</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/07/01/libmagic-the-blathering/</link><pubDate>Fri, 01 Jul 2022 07:00:27 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/07/01/libmagic-the-blathering/</guid><description>A couple of years ago we released PolyFile: a utility to identify and map the semantic structure of files, including polyglots, chimeras, and schizophrenic files. It’s a bit like file, binwalk, and Kaitai Struct all rolled into one. PolyFile initially used the TRiD definition database for file identification. However, […]</description></item><item><title>Are blockchains decentralized?</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/06/21/are-blockchains-decentralized/</link><pubDate>Tue, 21 Jun 2022 05:00:39 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/06/21/are-blockchains-decentralized/</guid><description>A new Trail of Bits research report examines unintended centralities in distributed ledgers Blockchains can help push the boundaries of current technology in useful ways. However, to make good risk decisions involving exciting and innovative technologies, people need demonstrable facts that are arrived at through reproducible methods and open data. We believe the risks inherent […]</description></item><item><title>Interactive decompilation with rellic-xref</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/05/17/interactive-decompilation-with-rellic-xref/</link><pubDate>Tue, 17 May 2022 07:00:09 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/05/17/interactive-decompilation-with-rellic-xref/</guid><description>Rellic is a framework for analyzing and decompiling LLVM modules into C code, implementing the concepts described in the original paper presenting the Dream decompiler and its successor, Dream++. It recently made an appearance on this blog when I presented rellic-headergen, a tool for extracting debug metadata from LLVM modules and turning […]</description></item><item><title>Themes from Real World Crypto 2022</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/05/03/themes-from-real-world-crypto-2022/</link><pubDate>Tue, 03 May 2022 07:00:04 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/05/03/themes-from-real-world-crypto-2022/</guid><description>Last week, over 500 cryptographers from around the world gathered in Amsterdam for Real World Crypto 2022, meeting in person for the first time in over two years. As in previous years, we dispatched a handful of our researchers and engineers to attend the conference, listen to talks, and schmooze observe the […]</description></item><item><title>Maat: Symbolic execution made easy</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/02/23/maat-symbolic-execution-made-easy/</link><pubDate>Wed, 23 Feb 2022 07:00:08 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/02/23/maat-symbolic-execution-made-easy/</guid><description>We have released Maat, a cross-architecture, multi-purpose, and user-friendly symbolic execution framework. It provides common symbolic execution capabilities such as dynamic symbolic execution (DSE), taint analysis, binary instrumentation, environment simulation, and constraint solving. Maat is easy-to-use, is based on the popular Ghidra intermediate representation (IR) language p-code, prioritizes runtime performance, and has […]</description></item><item><title>C your data structures with rellic-headergen</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/01/19/c-your-data-structures-with-rellic-headergen/</link><pubDate>Wed, 19 Jan 2022 07:00:12 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/01/19/c-your-data-structures-with-rellic-headergen/</guid><description>Have you ever wondered how a compiler sees your data structures? Compiler Explorer may help you understand the relation between the source code and machine code, but it doesn’t provide as much support when it comes to the layout of your data. You might have heard about padding, alignment, and “plain old […]</description></item><item><title>Toward a Best-of-Both-Worlds Binary Disassembler</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/01/05/toward-a-best-of-both-worlds-binary-disassembler/</link><pubDate>Wed, 05 Jan 2022 07:00:51 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/01/05/toward-a-best-of-both-worlds-binary-disassembler/</guid><description>This past winter, I was fortunate to have the opportunity to work for Trail of Bits as a graduate student intern under the supervision of Peter Goodman and Artem Dinaburg. During my internship, I developed Dr. Disassembler, a Datalog-driven framework for transparent and mutable binary disassembly. Though this project is ongoing, this […]</description></item><item><title>What does your code use, and is it vulnerable? It-depends!</title><link>https://miscreants.github.io/blog.trailofbits.com/2021/12/16/it-depends/</link><pubDate>Thu, 16 Dec 2021 08:00:14 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2021/12/16/it-depends/</guid><description>You just cloned a fresh source code repository and want to get a quick sense of its dependencies. Our tool, it-depends, can get you there. We are proud to announce the release of it-depends, an open-source tool for automatic enumeration of dependencies. You simply point it to a source code repository, and it will build […]</description></item><item><title>Motivating global stabilization</title><link>https://miscreants.github.io/blog.trailofbits.com/2021/11/11/motivating-global-stabilization/</link><pubDate>Thu, 11 Nov 2021 10:39:56 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2021/11/11/motivating-global-stabilization/</guid><description>Originally published on October 12, 2021 Consensus protocols have come to play a critical role in many applications. Fischer, Lynch, and Paterson’s classic impossibility result showed that under reasonable assumptions, it can be impossible for a protocol to reach consensus. In Dwork, Lynch, and Stockmeyer’s paper “Consensus in the Presence […]</description></item><item><title>Un-bee-lievable Performance: Fast Coverage-guided Fuzzing with Honeybee and Intel Processor Trace</title><link>https://miscreants.github.io/blog.trailofbits.com/2021/03/19/un-bee-lievable-performance-fast-coverage-guided-fuzzing-with-honeybee-and-intel-processor-trace/</link><pubDate>Fri, 19 Mar 2021 10:00:15 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2021/03/19/un-bee-lievable-performance-fast-coverage-guided-fuzzing-with-honeybee-and-intel-processor-trace/</guid><description>Today, we are releasing an experimental coverage-guided fuzzer called Honeybee that records program control flow using Intel Processor Trace (IPT) technology. Previously, IPT has been scrutinized for severe underperformance due to issues with capture systems and inefficient trace analyses. My winter internship focused on working through these challenges to make […]</description></item><item><title>Confessions of a smart contract paper reviewer</title><link>https://miscreants.github.io/blog.trailofbits.com/2021/02/05/confessions-of-a-smart-contract-paper-reviewer/</link><pubDate>Fri, 05 Feb 2021 06:59:10 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2021/02/05/confessions-of-a-smart-contract-paper-reviewer/</guid><description>If you’re thinking of writing a paper describing an exciting novel approach to smart contract analysis and want to know what reviewers will be looking for, you’ve come to the right place. Deadlines for many big conferences (ISSTA tool papers, ASE, FSE, etc.) are approaching, as is our own Workshop on Smart Contract Analysis, so […]</description></item><item><title>High-fidelity build instrumentation with blight</title><link>https://miscreants.github.io/blog.trailofbits.com/2020/11/25/high-fidelity-build-instrumentation-with-blight/</link><pubDate>Wed, 25 Nov 2020 09:38:10 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2020/11/25/high-fidelity-build-instrumentation-with-blight/</guid><description>TL;DR: We’re open-sourcing a new framework, blight, for painlessly wrapping and instrumenting C and C++ build tools. We’re already using it on our research projects, and have included a set of useful actions. You can use it today for your own measurement and instrumentation needs: Why would you ever want to wrap a build tool? […]</description></item><item><title>Graphtage: A New Semantic Diffing Tool</title><link>https://miscreants.github.io/blog.trailofbits.com/2020/08/28/graphtage/</link><pubDate>Fri, 28 Aug 2020 07:00:27 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2020/08/28/graphtage/</guid><description>Graphtage is a command line utility and underlying library for semantically comparing and merging tree-like structures such as JSON, JSON5, XML, HTML, YAML, and TOML files. Its name is a portmanteau of “graph” and “graftage” (i.e., the horticultural practice of joining two trees together so they grow as one). Read on for what Graphtage does differently and better, why we developed it, how it works, and directions for using it as a library.</description></item><item><title>Announcing the 1st International Workshop on Smart Contract Analysis</title><link>https://miscreants.github.io/blog.trailofbits.com/2020/04/23/announcing-the-1st-international-workshop-on-smart-contract-analysis/</link><pubDate>Thu, 23 Apr 2020 07:50:29 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2020/04/23/announcing-the-1st-international-workshop-on-smart-contract-analysis/</guid><description>At Trail of Bits we do more than just security audits: We also push the boundaries of research in vulnerability detection tools, regularly present our work in academic conferences, and review interesting papers from other researchers (see our recent Real World Crypto and Financial Crypto recaps). In this spirit, we and Northern Arizona University are […]</description></item><item><title>64 Bits ought to be enough for anybody!</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/11/27/64-bits-ought-to-be-enough-for-anybody/</link><pubDate>Wed, 27 Nov 2019 06:01:30 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/11/27/64-bits-ought-to-be-enough-for-anybody/</guid><description>How quickly can we use brute force to guess a 64-bit number? The short answer is, it all depends on what resources are available. So we’re going to examine this problem starting with the most naive approach and then expand to other techniques involving parallelization. We’ll discuss parallelization at the CPU level with SIMD instructions, […]</description></item><item><title>Announcing the Crytic $10k Research Prize</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/11/13/announcing-the-crytic-10k-research-prize/</link><pubDate>Wed, 13 Nov 2019 07:00:35 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/11/13/announcing-the-crytic-10k-research-prize/</guid><description>At Trail of Bits, we make a significant effort to stay up to date with the academic world. We frequently evaluate our work through peer-reviewed conferences, and we love to attend academic events (see our recent ICSE and Crypto recaps).</description></item><item><title>Everything You Ever Wanted To Know About Test-Case Reduction, But Didn’t Know to Ask</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/11/11/test-case-reduction/</link><pubDate>Mon, 11 Nov 2019 07:00:11 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/11/11/test-case-reduction/</guid><description>Imagine reducing the amount of code and time needed to test software, while at the same time increasing the efficacy of your tests and making your debugging tasks easier—all with minimal human effort. It seems too good to be true, but we’re going to explain how test-case reduction can do all this (and maybe more). […]</description></item><item><title>Two New Tools that Tame the Treachery of Files</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/11/01/two-new-tools-that-tame-the-treachery-of-files/</link><pubDate>Fri, 01 Nov 2019 07:00:18 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/11/01/two-new-tools-that-tame-the-treachery-of-files/</guid><description>Parsing is hard, even when a file format is well specified. But when the specification is ambiguous, it leads to unintended and strange parser and interpreter behaviors that make file formats susceptible to security vulnerabilities. What if we could automatically generate a “safe” subset of any file format, along with an associated, verified parser? That’s […]</description></item><item><title>TSC Frequency For All: Better Profiling and Benchmarking</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/10/03/tsc-frequency-for-all-better-profiling-and-benchmarking/</link><pubDate>Thu, 03 Oct 2019 06:58:24 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/10/03/tsc-frequency-for-all-better-profiling-and-benchmarking/</guid><description>Have you ever tried using LLVM’s X-Ray profiling tools to make some flame graphs, but gotten obscure errors like: ==65892==Unable to determine CPU frequency for TSC accounting. ==65892==Unable to determine CPU frequency. Or worse, have you profiled every function in an application, only to find the sum of all function runtimes accounted for ~15 minutes […]</description></item><item><title>Announcing Manticore 0.3.0</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/06/07/announcing-manticore-0-3-0/</link><pubDate>Fri, 07 Jun 2019 06:50:57 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/06/07/announcing-manticore-0-3-0/</guid><description>Earlier this week, Manticore leapt forward to version 0.3.0. Advances for our symbolic execution engine now include: “fast forwarding” through concrete execution that you don’t care about, support for Linux binaries statically compiled for AArch64, and an interface for selectively solving for interesting test cases. We’ve been working really hard on these and other features […]</description></item><item><title>User-Friendly Fuzzing with Sienna Locomotive</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/04/08/user-friendly-fuzzing-with-sienna-locomotive/</link><pubDate>Mon, 08 Apr 2019 07:50:13 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/04/08/user-friendly-fuzzing-with-sienna-locomotive/</guid><description>Fuzzing is a great way to find bugs in software, but many developers don’t use it. We hope to change that today with the release of Sienna Locomotive, a new open-source fuzzer for Windows that emphasizes usability. Sienna Locomotive aims to make fuzzing accessible to developers with limited security expertise. Its user-oriented features make it […]</description></item><item><title>On Bounties and Boffins</title><link>https://miscreants.github.io/blog.trailofbits.com/2019/01/14/on-bounties-and-boffins/</link><pubDate>Mon, 14 Jan 2019 06:50:53 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2019/01/14/on-bounties-and-boffins/</guid><description>Trying to make a living as a programmer participating in bug bounties is the same as convincing yourself that you’re good enough at Texas Hold ‘Em to quit your job. There’s data to back this up in Fixing a Hole: The Labor Market for Bugs, a chapter in New Solutions for Cybersecurity, by Ryan Ellis, […]</description></item></channel></rss>