Trail of Bits
Trail of Bits
THE TRAIL OF BITS BLOG

How we applied advanced fuzzing techniques to cURL

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 threat model, and the subject of this blog […]
Shaun Mirani
March 01, 2024
application-security fuzzing open-source
READ MORE

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

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 method on a contract deployed on […]
Troy Sargent
March 01, 2024
blockchain slither
READ MORE

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

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 (AIBOM) as part of Project Linchpin. The RFI describes the AIBOM as a detailed […]
Adelin Travers
February 28, 2024
machine-learning policy
READ MORE

Circomspect has been integrated into the Sindri CLI

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. Integrating this tool into a development environment like that provided by Sindri is a significant step toward […]
Jim Miller
February 26, 2024
blockchain cryptography static-analysis zero-knowledge
READ MORE

Continuously fuzzing Python C extensions

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 Python ecosystem, Google has released Atheris, a coverage-guided fuzzer for both pure Python code and Python C […]
Matt Schwager
February 23, 2024
fuzzing open-source
READ MORE

Breaking the shared key in threshold signature schemes

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 single malicious participant to surreptitiously raise the threshold required to reconstruct the shared key, which […]
Fredrik Dahlgren
February 20, 2024
cryptography vulnerability-disclosure
READ MORE

A few notes on AWS Nitro Enclaves: Images and attestation

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 platform lacks thorough documentation and mature tooling. So we decided to do some deep research into it […]
Paweł Płatek
February 16, 2024
application-security trusted-execution-environment
READ MORE

Cloud cryptography demystified: Amazon Web Services

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 covering other cloud services. At Trail of Bits, we […]
Scott Arciszewski
February 14, 2024
cryptography
READ MORE

Why Windows can’t follow WSL symlinks

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 others have noticed it as well, so I wanted […]
Yarden Shafir
February 12, 2024
linux windows
READ MORE

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.
Max Ammann
February 09, 2024
application-security fuzzing rust testing handbook
READ MORE

Binary type inference in Ghidra

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 […]
Ian Smith
February 07, 2024
research-practice reversing
READ MORE

Improving the state of Cosmos fuzzing

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 simulation. In this blog post, we explain the differences between these approaches and show how […]
Gustavo Grieco
February 05, 2024
fuzzing go blockchain
READ MORE

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 focuses on the interaction of technology and society, covering such topics as politics, entertainment, […]
Trail of Bits
February 02, 2024
conferences cryptography fuzzing rust
READ MORE

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

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 altered by software rewriting, debloating, and hardening tools. We used DIFFER to evaluate 10 […]
Michael Brown
January 31, 2024
dynamic-analysis open-source
READ MORE

Enhancing trust for SGX enclaves

Creating reproducible builds for SGX enclaves used in privacy-oriented deployments is a difficult task that lacks a convenient and robust solution. We describe using Nix to achieve reproducible and transparent enclave builds so that anyone can audit whether the enclave is running the source code it claims, thereby enhancing the security of […]
Artur Cygan
January 26, 2024
confidential-computing ecosystem-security open-source supply-chain
READ MORE

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

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 protocols are built on. Our implementation is fast, standards-conforming, and memory-safe, giving the Python ecosystem a modern […]
William Woodruff
January 25, 2024
engineering-practice open-source authentication cryptography
READ MORE

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 non-Trail of Bits repositories. This demonstrates our […]
Trail of Bits
January 24, 2024
blockchain cryptography ecosystem-security machine-learning open-source osquery supply-chain
READ MORE

Our thoughts on AIxCC’s competition format

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 problem and the scoring methodology. Prior rules documents and FAQs released by DARPA painted […]
Michael Brown
January 18, 2024
aixcc darpa events machine-learning
READ MORE

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

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 technologies. This new release of our Semgrep rules joins our public CodeQL […]
Matt Schwager
January 17, 2024
containers open-source semgrep
READ MORE

LeftoverLocals: Listening to LLM responses through leaked GPU local memory

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 whole, with particular significance to LLMs and ML models run on impacted GPU […]
Heidy Khlaaf
January 16, 2024
machine-learning vulnerability-disclosure
READ MORE

Internet freedom with the Open Technology Fund

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 with a positive social impact. The OTF’s Red Team Lab […]
Cliff Smith
January 15, 2024
application-security audits open-source
READ MORE

How to introduce Semgrep to your organization

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 essential automated tool for discovering security issues in a […]
Maciej Domański
January 12, 2024
semgrep
READ MORE

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 amount of time” for all development, testing, and maintenance. This scarcity of contributor time in […]
Trail of Bits
January 09, 2024
kubernetes linux open-source
READ MORE

Tag, you’re it: Signal tagging in Circom

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 mainstay of ZK circuit design. We’ve written about Circom safety before in the […]
Tjaden Hess
January 02, 2024
cryptography
READ MORE

Billion times emptiness

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, enabling seamless interactions between smart contracts and external applications. The complexity of data types and the need for precise encoding […]
Max Ammann
December 29, 2023
blockchain vulnerability-disclosure
READ MORE

    Recent Posts

    • Lack of isolation in agentic browsers resurfaces old vulnerabilities
    • Detect Go’s silent arithmetic bugs with go-panikint
    • Can chatbots craft correct code?
    • Use GWP-ASan to detect exploits in production environments
    • Catching malicious package releases using a transparency log

    JOIN OUR NEWSLETTER

    Categories

    aixcc11 apple13 application-security20 attacks17 audits14 authentication6 benchmarking1 binary-analysis1 binary-ninja15 blockchain97 c/c++3 capture-the-flag12 careers3 codeql8 cold-storage1 compilers35 conferences35 confidential-computing3 containers3 cryptography84 crytic4 cyber-grand-challenge8 darpa31 design-review1 dynamic-analysis14 ebpf6 echidna1 ecosystem-security12 education18 empire-hacking8 engineering-practice25 ethereum1 events8 exploits38 fuzzing51 go12 guides15 internship-projects46 invariant-development3 iverify5 java1 kernel1 kubernetes3 linux9 llvm6 machine-learning49 malware7 manticore17 mcp6 mcsema11 memory-safety3 meta12 mitigations12 mlir2 multi-agent systems1 mutation-testing1 open-source32 operational security1 osquery23 paper-review11 people17 podcast1 policy13 post-quantum1 press-release29 privacy9 products8 program-analysis23 prompt-injection5 recursion1 remote-code-execution1 research-practice44 reversing18 ruby1 rust8 safedocs1 semgrep9 sinter1 slither5 snapshot fuzzing1 sponsorships13 stablecoins1 static-analysis40 supply-chain15 symbolic-execution18 testing handbook6 threat-modeling6 threshold-signatures1 tool-release15 training3 trusted-execution-environment3 vast2 vulnerabilities12 vulnerability-disclosure27 windows3 working-at-trail-of-bits5 year-in-review6 zero-knowledge13

    Archives

    202569 202479 202357 202243 202120 202037 201960 201841 201722 201627 201511 201418 20135 20122
    PREVIOUS
    1. 1
    2. 2
    3. 3
    4. 4
    5. 5
    6. 6
    7. 7
    8. 8
    9. 9
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    NEXT
    Trail of Bits

    Security for Teams

    Building the Future

    X LinkedIn
    Contact Resources
    Blog Careers
    Mastodon GitHub
    © Trail of Bits 2025. All rights reserved.Privacy PolicyTerms of Service
    © Trail of Bits 2025. All rights reserved.
    2012:2025 0 PX