Trail of Bits
Trail of Bits

Auditing the Ruby ecosystem's central package repository

Ruby Central hired Trail of Bits to complete a security assessment and a competitive analysis of RubyGems.org, the official package management system for Ruby applications. With over 184+ billion downloads to date, RubyGems.org is critical infrastructure for the Ruby language ecosystem.
Holly Womack
December 11, 2024
application-security open-source
READ MORE

35 more Semgrep rules: infrastructure, supply chain, and Ruby

We are publishing another set of custom Semgrep rules, bringing our total number of public rules to 115. This blog post will briefly cover the new rules, then explore two Semgrep features in depth: regex mode (especially how it compares against generic mode), and HCL language support for technologies […]
Matt Schwager
December 09, 2024
application-security semgrep
READ MORE

Evaluating Solidity support in AI coding assistants

AI-enabled code assistants (like GitHub’s Copilot, Continue.dev, and Tabby) are making software development faster and more productive. Unfortunately, these tools are often bad at Solidity. So we decided to improve them! To make it easier to write, edit, and understand Solidity with AI-enabled tools, we have: Added support for Solidity into Tabby […]
Artem Dinaburg
November 19, 2024
machine-learning blockchain
READ MORE

Attestations: A new generation of signatures on PyPI

For the past year, we’ve worked with the Python Package Index (PyPI) on a new security feature for the Python ecosystem: index-hosted digital attestations, as specified in PEP 740. These attestations improve on traditional PGP signatures (which have been disabled on PyPI) by providing key usability, index verifiability, cryptographic strength, and provenance properties that bring […]
William Woodruff
November 14, 2024
open-source supply-chain ecosystem-security engineering-practice
READ MORE

Killing Filecoin nodes

In January, we identified and reported a vulnerability in the Lotus and Venus clients of the Filecoin network that allowed an attacker to remotely crash a node and trigger a denial of service. This issue is caused by an incorrect validation of an index, resulting in an index out-of-range panic. The vulnerability […]
Simone Monica
November 13, 2024
blockchain vulnerability-disclosure
READ MORE

Fuzzing between the lines in popular barcode software

Fuzzing—one of the most successful techniques for finding security bugs, consistently featured in articles and industry conferences—has become so popular that you may think most important software has already been extensively fuzzed. But that’s not always the case. In this blog post, we show how we fuzzed the ZBar barcode scanning library […]
Artur Cygan
October 31, 2024
application-security fuzzing
READ MORE

A deep dive into Linux’s new mseal syscall

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 […]
Alan Cao
October 25, 2024
linux research-practice
READ MORE

Auditing Gradio 5, Hugging Face’s ML GUI framework

This is a joint post with the Hugging Face Gradio team; read their announcement here! You can find the full report with all of the detailed findings from our security audit of Gradio 5 here. Hugging Face hired Trail of Bits to audit Gradio 5, a popular open-source library that provides a web interface that […]
Trail of Bits
October 10, 2024
machine-learning
READ MORE

Securing the software supply chain with the SLSA framework

Software supply chain security has been a hot topic since the Solarwinds breach back in 2020. Thanks to the Supply-chain Levels for Software Artifacts (SLSA) framework, the software industry is now at the threshold of sustainably solving many of the biggest challenges in securely building and distributing open-source software. SLSA is a […]
Cliff Smith
October 01, 2024
application-security
READ MORE

A few notes on AWS Nitro Enclaves: Attack surface

In the race to secure cloud applications, AWS Nitro Enclaves have emerged as a powerful tool for isolating sensitive workloads.
But with great power comes great responsibility-and potential security pitfalls. As pioneers in confidential computing security, we at
Trail of Bits have scrutinized the attack surface of AWS Nitro Enclaves, uncovering potential bugs that could compromise even these
hardened environments.
Paweł Płatek
September 24, 2024
application-security research-practice confidential-computing trusted-execution-environment
READ MORE

Announcing the Trail of Bits and Semgrep partnership

At Trail of Bits, we aim to share and develop tools and resources used in our security assessments with the broader security community. Many clients, we observed, don’t use Semgrep to its fullest potential or even at all. To bridge this gap and encourage broader adoption, our CEO, Dan Guido, initiated discussions with the Semgrep […]
Trail of Bits
September 19, 2024
semgrep testing handbook
READ MORE

Inside DEF CON: Michael Brown on how AI/ML is revolutionizing cybersecurity

At DEF CON, Michael Brown, Principal Security Engineer at Trail of Bits, sat down with Michael Novinson from Information Security Media Group (ISMG) to discuss four critical areas where AI/ML is revolutionizing security. Here’s what they covered: AI/ML techniques surpass the limits of traditional software analysis As Moore’s law slows down after 20 years of […]
Trail of Bits
September 17, 2024
aixcc machine-learning
READ MORE

Friends don’t let friends reuse IVs

If you’ve encountered cryptography software, you’ve probably heard the advice to never use an IV twice—in fact, that’s exactly where the other common name, nonce (number used once), comes from. Depending on the cryptography involved, a reused nonce can reveal encrypted messages, or even leak your secret key! But common knowledge may not cover every […]
Joe Doyle
September 13, 2024
cryptography
READ MORE

Sanitize your C++ containers: ASan annotations step-by-step

AddressSanitizer (ASan) is a compiler plugin that helps detect memory errors like buffer overflows or use-after-frees. In this post, we explain how to equip your C++ code with ASan annotations to find more bugs. We also show our work on ASan in GCC and LLVM. In LLVM, Trail of […]
Dominik Czarnota
September 10, 2024
application-security llvm
READ MORE

“Unstripping” binaries: Restoring debugging information in GDB with Pwndbg

GDB loses significant functionality when debugging binaries that lack debugging symbols (also known as “stripped binaries”). Function and variable names become meaningless addresses; setting breakpoints requires tracking down relevant function addresses from an external source; and printing out structured values involves staring at a memory dump trying to manually discern field boundaries. […]
Jason An
September 06, 2024
application-security binary-ninja go internship-projects
READ MORE

What would you do with that old GPU?

(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 […]
Artem Dinaburg
September 05, 2024
research-practice
READ MORE

Provisioning cloud infrastructure the wrong way, but faster

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, […]
Artem Dinaburg
August 27, 2024
machine-learning research-practice
READ MORE

“YOLO” is not a valid hash construction

Among the cryptographic missteps we see at Trail of Bits, “let’s build our own tool out of a hash function” is one of the most common. Clients have a problem along the lines of “we need to hash a bunch of different values together” or “we need a MAC” or “we need […]
Opal Wright
August 21, 2024
cryptography
READ MORE

We wrote the code, and the code won

Earlier this week, NIST officially announced three standards specifying FIPS-approved algorithms for post-quantum cryptography. The Stateless Hash-Based Digital Signature Algorithm (SLH-DSA) is one of these standardized algorithms. The Trail of Bits cryptography team has been anticipating this announcement, and we are excited to share an announcement of our own: we built an open-source pure-Rust implementation of SLH-DSA, which has been merged into RustCrypto.
Tjaden Hess
August 15, 2024
cryptography open-source
READ MORE

Trail of Bits Advances to AIxCC Finals

Trail of Bits has qualified for the final round of DARPA’s AI Cyber Challenge (AIxCC)! Our Cyber Reasoning System, Buttercup, placed in the top 7 out of 39 teams competing in the semifinal round held at DEF CON 2024. Competition Overview The AIxCC semifinal featured a series of challenges based on real-world software, including nginx, […]
Dan Guido
August 12, 2024
aixcc
READ MORE

Trail of Bits’ Buttercup heads to DARPA’s AIxCC

With DARPA’s AI Cyber Challenge (AIxCC) semifinal starting today at DEF CON 2024, we want to introduce Buttercup, our AIxCC submission. Buttercup is a Cyber Reasoning System (CRS) that combines conventional cybersecurity techniques like fuzzing and static analysis with AI and machine learning to find and fix software vulnerabilities. The system is designed to operate […]
Dan Guido
August 09, 2024
aixcc darpa machine-learning
READ MORE

Cloud cryptography demystified: Google Cloud Platform

This post, the second in our series on cryptography in the cloud, provides an overview of the cloud cryptography services offered within Google Cloud Platform (GCP): 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, […]
Scott Arciszewski
August 05, 2024
cryptography
READ MORE

Our audit of Homebrew

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 […]
William Woodruff
July 30, 2024
research-practice
READ MORE

Our crypto experts answer 10 key questions

Cryptography is a fundamental part of electronics and the internet that helps secure credit cards, cell phones, web browsing (fingers crossed you’re using TLS!), and even top-secret military data. Cryptography is just as essential in the blockchain space, with blockchains like Ethereum depending on hashes, Merkle trees, and ECDSA signatures, among other […]
Justin Jacob
July 25, 2024
cryptography
READ MORE

Announcing AES-GEM (AES with Galois Extended Mode)

Today, AES-GCM is one of two cipher modes used by TLS 1.3 (the other being ChaCha20-Poly1305) and the preferred method for encrypting data in FIPS-validated modules. But despite its overwhelming success, AES-GCM has been the root cause of some catastrophic failures: for example, Hanno Böck and Sean Devlin exploited nonce misuse to […]
Scott Arciszewski
July 12, 2024
cryptography
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
    1. 1
    2. 2
    3. 3
    4. 4
    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