Announcing two new LMS libraries

By Will Song The Trail of Bits cryptography team is pleased to announce the open-sourcing of our pure Rust and Go implementations of Leighton-Micali Hash-Based Signatures (LMS), a well-studied NIST-standardized post-quantum digital signature algorithm. If you or your organization … | Continue reading


@blog.trailofbits.com | 20 hours ago

5 reasons to strive for better disclosure processes

By Max Ammann This blog showcases five examples of real-world vulnerabilities that we’ve disclosed in the past year (but have not publicly disclosed before). We also share the frustrations we faced in disclosing them to illustrate the need for effective disclosure processes. Here … | Continue reading


@blog.trailofbits.com | 11 days ago

Introducing Ruzzy, a coverage-guided Ruby fuzzer

By Matt Schwager Trail of Bits is excited to introduce Ruzzy, a coverage-guided fuzzer for pure Ruby code and Ruby C extensions. Fuzzing helps find bugs in software that processes untrusted input. In pure Ruby, these bugs may result in unexpected exceptions that could lead to den … | Continue reading


@blog.trailofbits.com | 28 days ago

Why fuzzing over formal verification?

By Tarun Bansal, Gustavo Grieco, and Josselin Feist We recently introduced our new offering, invariant development as a service. A recurring question that we are asked is, “Why fuzzing instead of formal verification?” And the answer is, “It’s complicated.” We use fuzzing for most … | Continue reading


@blog.trailofbits.com | 1 month ago

Streamline your static analysis triage with SARIF Explorer

By Vasco Franco Today, we’re releasing SARIF Explorer, the VSCode extension that we developed to streamline how we triage static analysis results. We make heavy use of static analysis tools during our audits, but the process of triaging them was always a pain. We designed SARIF E … | Continue reading


@blog.trailofbits.com | 1 month ago

Read code like a pro with our weAudit VSCode extension

By Filipe Casal Today, we’re releasing weAudit, the collaborative code-reviewing tool that we use during our security audits. With weAudit, we review code more efficiently by taking notes and tracking bugs in a codebase directly inside VSCode, reducing our reliance on external to … | Continue reading


@blog.trailofbits.com | 1 month ago

Releasing the Attacknet: A new tool for finding bugs in blockchain nodes using chaos testing

By Benjamin Samuels (@thebensams) Today, Trail of Bits is publishing Attacknet, a new tool that addresses the limitations of traditional runtime verification tools, built in collaboration with the Ethereum Foundation. Attacknet is intended to augment the EF’s current test methods … | Continue reading


@blog.trailofbits.com | 1 month ago

Secure your blockchain project from the start

Systemic security issues in blockchain projects often appear early in development. Without an initial focus on security, projects may choose flawed architectures or make insecure design or development choices that result in hard-to-maintain or vulnerable solutions. Traditional se … | Continue reading


@blog.trailofbits.com | 1 month ago

DARPA awards $1 million to Trail of Bits for AI Cyber Challenge

By Michael D. Brown We’re excited to share that Trail of Bits has been selected as one of the seven exclusive teams to participate in the small business track for DARPA’s AI Cyber Challenge (AIxCC). Our team will receive a $1 million award to create a Cyber Reasoning System (CRS) … | Continue reading


@blog.trailofbits.com | 1 month ago

Out of the kernel, into the tokens

By Max Ammann and Emilio López Our application security team leaves no stone unturned; our audits dive deeply into areas ranging from device firmware, operating system kernels, and cloud systems to widely used technology such as mobile and web applications. This post examines two … | Continue reading


@blog.trailofbits.com | 1 month ago

Cryptographic design review of Ockam

By Marc Ilunga, Jim Miller, Fredrik Dahlgren, and Joop van de Pol In October 2023, Ockam engaged Trail of Bits to review the design of its product, a set of protocols that aims to enable secure communication (i.e., end-to-end encrypted and mutually authenticated channels) across … | Continue reading


@blog.trailofbits.com | 1 month ago

Relishing new Fickling features for securing ML systems

By Suha S. Hussain We’ve added new features to Fickling to offer enhanced threat detection and analysis across a broad spectrum of machine learning (ML) workflows. Fickling is a decompiler, static analyzer, and bytecode rewriter for the Python pickle module that can help you dete … | Continue reading


@blog.trailofbits.com | 1 month ago

How we applied advanced fuzzing techniques to cURL

By Shaun Mirani Near the end of 2022, Trail of Bits was hired by the Open Source Technology Improvement Fund (OSTIF) to perform a security assessment of the cURL file transfer command-line utility and its library, libcurl. The scope of our engagement included a code review, a thr … | Continue reading


@blog.trailofbits.com | 1 month ago

When try, try, try again leads to out-of-order execution bugs

By Troy Sargent Have you ever wondered how a rollup and its base chain—the chain that the rollup commits state checkpoints to—communicate and interact? How can a user with funds only on the base chain interact with contracts on the rollup? In Arbitrum Nitro, one way to call a met … | Continue reading


@blog.trailofbits.com | 1 month ago

Our response to the US Army’s RFI on developing AIBOM tools

By Michael Brown and Adelin Travers The US Army’s Program Executive Office for Intelligence, Electronic Warfare and Sensors (PEO IEW&S) recently issued a request for information (RFI) on methods to implement and automate production of an artificial intelligence bill of materials … | Continue reading


@blog.trailofbits.com | 1 month ago

Circomspect has been integrated into the Sindri CLI

By Jim Miller Our tool Circomspect is now integrated into the Sindri command-line interface (CLI)! We designed Circomspect to help developers build Circom circuits more securely, particularly given the limited tooling support available for this novel programming framework. Integr … | Continue reading


@blog.trailofbits.com | 2 months ago

Continuously fuzzing Python C extensions

By Matt Schwager Deserializing, decoding, and processing untrusted input are telltale signs that your project would benefit from fuzzing. Yes, even Python projects. Fuzzing helps reduce bugs in high-assurance software developed in all programming languages. Fortunately for the Py … | Continue reading


@blog.trailofbits.com | 2 months ago

Breaking the shared key in threshold signature schemes

By Fredrik Dahlgren Today we are disclosing a denial-of-service vulnerability that affects the Pedersen distributed key generation (DKG) phase of a number of threshold signature scheme implementations based on the Frost, DMZ21, GG20, and GG18 protocols. The vulnerability allows a … | Continue reading


@blog.trailofbits.com | 2 months ago

A few notes on AWS Nitro Enclaves: Images and attestation

By Paweł Płatek (GrosQuildu) AWS Nitro Enclaves are locked-down virtual machines with support for attestation. They are Trusted Execution Environments (TEEs), similar to Intel SGX, making them useful for running highly security-critical code. However, the AWS Nitro Enclaves platf … | Continue reading


@blog.trailofbits.com | 2 months ago

Cloud cryptography demystified: Amazon Web Services

By Scott Arciszewski This post, part of a series on cryptography in the cloud, provides an overview of the cloud cryptography services offered within Amazon Web Services (AWS): when to use them, when not to use them, and important usage considerations. Stay tuned for future posts … | Continue reading


@blog.trailofbits.com | 2 months ago

Why Windows can’t follow WSL symlinks

By Yarden Shafir Did you know that symbolic links (or symlinks) created through Windows Subsystem for Linux (WSL) can’t be followed by Windows? I recently encountered this rather frustrating issue as I’ve been using WSL for my everyday work over the last few months. No doubt othe … | Continue reading


@blog.trailofbits.com | 2 months ago

Master fuzzing with our new Testing Handbook chapter

Our latest addition to the Trail of Bits Testing Handbook is a comprehensive guide to fuzzing: an essential, effective, low-effort method to find bugs in software that involves repeatedly running a program with random inputs to cause unexpected results. At Trail of Bits, we don’t … | Continue reading


@blog.trailofbits.com | 2 months ago

Binary type inference in Ghidra

By Ian Smith 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 add … | Continue reading


@blog.trailofbits.com | 2 months ago

Improving the state of Cosmos fuzzing

By Gustavo Grieco Cosmos is a platform enabling the creation of blockchains in Go (or other languages). Its reference implementation, Cosmos SDK, leverages strong fuzz testing extensively, following two approaches: smart fuzzing for low-level code, and dumb fuzzing for high-level … | Continue reading


@blog.trailofbits.com | 2 months ago

Chaos Communication Congress (37C3) recap

Last month, two of our engineers attended the 37th Chaos Communication Congress (37C3) in Hamburg, joining thousands of hackers who gather each year to exchange the latest research and achievements in technology and security. Unlike other tech conferences, this annual gathering f … | Continue reading


@blog.trailofbits.com | 2 months ago

Introducing DIFFER, a new tool for testing and validating transformed programs

By Michael Brown We recently released a new differential testing tool, called DIFFER, for finding bugs and soundness violations in transformed programs. DIFFER combines elements from differential, regression, and fuzz testing to help users find bugs in programs that have been alt … | Continue reading


@blog.trailofbits.com | 2 months ago

Enhancing trust for SGX enclaves

By Artur Cygan Creating reproducible builds for SGX enclaves used in privacy-oriented deployments is a difficult task that lacks a convenient and robust solution. We propose using Nix to achieve reproducible and transparent enclave builds so that anyone can audit whether the encl … | Continue reading


@blog.trailofbits.com | 3 months ago

We build X.509 chains so you don’t have to

By William Woodruff For the past eight months, Trail of Bits has worked with the Python Cryptographic Authority to build cryptography-x509-verification, a brand-new, pure-Rust implementation of the X.509 path validation algorithm that TLS and other encryption and authentication p … | Continue reading


@blog.trailofbits.com | 3 months ago

Celebrating our 2023 open-source contributions

At Trail of Bits, we pride ourselves on making our best tools open source, such as Slither, PolyTracker, and RPC Investigator. But while this post is about open source, it’s not about our tools… In 2023, our employees submitted over 450 pull requests (PRs) that were merged into n … | Continue reading


@blog.trailofbits.com | 3 months ago

Our thoughts on AIxCC’s competition format

By Michael Brown Late last month, DARPA officially opened registration for their AI Cyber Challenge (AIxCC). As part of the festivities, DARPA also released some highly anticipated information about the competition: a request for comments (RFC) that contained a sample challenge p … | Continue reading


@blog.trailofbits.com | 3 months ago

30 new Semgrep rules: Ansible, Java, Kotlin, shell scripts, and more

By Matt Schwager and Sam Alws We are publishing a set of 30 custom Semgrep rules for Ansible playbooks, Java/Kotlin code, shell scripts, and Docker Compose configuration files. These rules were created and used to audit for common security vulnerabilities in the listed technologi … | Continue reading


@blog.trailofbits.com | 3 months ago

LeftoverLocals: Listening to LLM responses through leaked GPU local memory

By Tyler Sorensen and Heidy Khlaaf We are disclosing LeftoverLocals: a vulnerability that allows recovery of data from GPU local memory created by another process on Apple, Qualcomm, AMD, and Imagination GPUs. LeftoverLocals impacts the security posture of GPU applications as a w … | Continue reading


@blog.trailofbits.com | 3 months ago

Internet freedom with the Open Technology Fund

By Spencer Michaels, William Woodruff, Jeff Braswell, and Cliff Smith Trail of Bits cares about internet freedom, and one of our most valued partners in pursuit of that goal is the Open Technology Fund (OTF). Our core values involve focusing on high-impact work, including work wi … | Continue reading


@blog.trailofbits.com | 3 months ago

How to introduce Semgrep to your organization

By Maciej Domanski, Application Security Engineer Semgrep, a static analysis tool for finding bugs and specific code patterns in more than 30 languages, is set apart by its ease of use, many built-in rules, and the ability to easily create custom rules. We consider it an essentia … | Continue reading


@blog.trailofbits.com | 3 months ago

Securing open-source infrastructure with OSTIF

The Open Source Technology Improvement Fund (OSTIF) counters an often overlooked challenge in the open-source world: the same software projects that uphold today’s internet infrastructure are reliant on, in OSTIF’s words, a “surprisingly small group of people with a limited amoun … | Continue reading


@blog.trailofbits.com | 3 months ago

Tag, you’re it: Signal tagging in Circom

By Tjaden Hess We at Trail of Bits perform security reviews for a seemingly endless stream of applications that use zero-knowledge (ZK) proofs. While fast new arithmetization and folding libraries like Halo2, Plonky2, and Boojum are rapidly gaining adoption, Circom remains a main … | Continue reading


@blog.trailofbits.com | 3 months ago

Billion times emptiness

By Max Ammann Behind Ethereum’s powerful blockchain technology lies a lesser-known challenge that blockchain developers face: the intricacies of writing robust Ethereum ABI (Application Binary Interface) parsers. Ethereum’s ABI is critical to the blockchain’s infrastructure, enab … | Continue reading


@blog.trailofbits.com | 3 months ago

AI In Windows: Investigating Windows Copilot

By Yarden Shafir AI is becoming ubiquitous, as developers of widely used tools like GitHub and Photoshop are quickly implementing and iterating on AI-enabled features. With Microsoft’s recent integration of Copilot into Windows, AI is even on the old stalwart of computing—the des … | Continue reading


@blog.trailofbits.com | 4 months ago

We’ve added more content to ZKDocs

By Jim Miller We’ve updated ZKDocs with four new sections and additions to existing content. ZKDocs provides explanations, guidance, and documentation for cryptographic protocols that are otherwise sparingly discussed but are used in practice. As such, we’ve added four new sectio … | Continue reading


@blog.trailofbits.com | 4 months ago

Catching OpenSSL misuse using CodeQL

By Damien Santiago I’ve created five CodeQL queries that catch potentially potent bugs in the OpenSSL libcrypto API, a widely adopted but often unforgiving API that can be misused to cause memory leaks, authentication bypasses, and other subtle cryptographic issues in implementat … | Continue reading


@blog.trailofbits.com | 4 months ago

Summer associates 2023 recap

This past summer at Trail of Bits was a season of inspiration, innovation, and growth thanks to the incredible contributions of our talented associates, who took on a diverse range of technical projects under the mentorship of Trail of Bits engineers. We’d like to delve into thei … | Continue reading


@blog.trailofbits.com | 4 months ago

A trail of flipping bits

By Joop van de Pol Trusted execution environments (TEE) such as secure enclaves are becoming more popular to secure assets in the cloud. Their promise is enticing because when enclaves are properly used, even the operator of the enclave or the cloud service should not be able to … | Continue reading


@blog.trailofbits.com | 4 months ago

DARPA’s AI Cyber Challenge: We’re In!

We’re thrilled to announce that Trail of Bits will be competing in DARPA’s upcoming AI Cyber Challenge (AIxCC)! DARPA is challenging competitors to develop novel, fully automated AI-driven systems capable of securing the critical software that underpins the modern world. We’ve fo … | Continue reading


@blog.trailofbits.com | 4 months ago

Say hello to the next chapter of the Testing Handbook!

By Fredrik Dahlgren Today we are announcing the latest addition to the Trail of Bits Testing Handbook: a brand new chapter on CodeQL! CodeQL is a powerful and versatile static analysis tool, and at Trail of Bits, we regularly use CodeQL on client engagements to find common vulner … | Continue reading


@blog.trailofbits.com | 4 months ago

Publishing Trail of Bits’ CodeQL queries

By Paweł Płatek We are publishing a set of custom CodeQL queries for Go and C. We have used them to find critical issues that the standard CodeQL queries would have missed. This new release of a continuously updated repository of CodeQL queries joins our public Semgrep rules and … | Continue reading


@blog.trailofbits.com | 4 months ago

ETW internals for security research and forensics

By Yarden Shafir Why has Event Tracing for Windows (ETW) become so pivotal for endpoint detection and response (EDR) solutions in Windows 10 and 11? The answer lies in the value of the intelligence it provides to security tools through secure ETW channels, which are now also a ta … | Continue reading


@blog.trailofbits.com | 5 months ago

How CISA can improve OSS security

By Jim Miller The US government recently issued a request for information (RFI) about open-source software (OSS) security. In this blog post, we will present a summary of our response and proposed solutions. Some of our solutions include rewriting widely used legacy code in memor … | Continue reading


@blog.trailofbits.com | 5 months ago

Assessing the security posture of a widely used vision model: YOLOv7

By Alvin Crighton, Anusha Ghosh, Suha Hussain, Heidy Khlaaf, and Jim Miller TL;DR: We identified 11 security vulnerabilities in YOLOv7, a popular computer vision framework, that could enable attacks including remote code execution (RCE), denial of service, and model differentials … | Continue reading


@blog.trailofbits.com | 5 months ago