Weaponizing image scaling against production AI systems

In this blog post, we’ll detail how attackers can exploit image scaling on Gemini CLI, Vertex AI Studio, Gemini’s web and API interfaces, Google Assistant, Genspark, and other production AI systems. We’ll also explain how to mitigate and defend against these attacks, and we’ll in … | Continue reading


@blog.trailofbits.com | 10 months ago

Marshal madness: A brief history of Ruby deserialization exploits

This post traces the decade-long evolution of Ruby Marshal deserialization exploits, demonstrating how security researchers have repeatedly bypassed patches and why fundamental changes to the Ruby ecosystem are needed rather than continued patch-and-hope approaches. | Continue reading


@blog.trailofbits.com | 10 months ago

Trail of Bits' Buttercup wins 2nd place in AIxCC Challenge

Our team won the runner-up prize of $3M at DARPA’s AI Cyber Challenge, demonstrating Buttercup’s world-class automated vulnerability discovery and patching capabilities with remarkable cost efficiency. | Continue reading


@blog.trailofbits.com | 10 months ago

Buttercup is now open-source!

Now that DARPA’s AI Cyber Challenge (AIxCC) has officially ended, we can finally make Buttercup, our CRS (Cyber Reasoning System), open source! | Continue reading


@blog.trailofbits.com | 10 months ago

AIxCC finals: Tale of the tape

While the AIxCC winner has not yet been announced, differences in the finalists’ approaches show that there are multiple viable paths forward to using AI for vulnerability detection. | Continue reading


@blog.trailofbits.com | 10 months ago

Prompt injection engineering for attackers: Exploiting GitHub Copilot

Prompt injection pervades discussions about security for LLMs and AI agents. But there is little public information on how to write powerful, discreet, and reliable prompt injection exploits. In this post, we will design and implement a prompt injection exploit targeting GitHub’s … | Continue reading


@blog.trailofbits.com | 10 months ago

Uncovering memory corruption in NVIDIA Triton (as a new hire)

In my first month at Trail of Bits as an AI/ML security engineer, I found two remotely accessible memory corruption bugs in NVIDIA’s Triton Inference Server during a routine onboarding practice. | Continue reading


@blog.trailofbits.com | 10 months ago

The Unconventional Innovator Scholarship

Trail of Bits founder Dan Guido establishes a $2,500 scholarship at his alma mater, Mineola High School, to recognize students who demonstrate the hacker spirit through self-driven learning, creative problem-solving, and unconventional technological exploration. The scholarship c … | Continue reading


@blog.trailofbits.com | 10 months ago

Hijacking multi-agent systems in your PajaMAS

We’re releasing pajaMAS: a curated set of MAS hijacking demos that illustrate important principles of MAS security. | Continue reading


@blog.trailofbits.com | 10 months ago

We built the security layer MCP always needed

Today we’re announcing the beta release of context-protector, a security wrapper for LLM apps using the Model Context Protocol (MCP). It defends against the line jumping attacks documented earlier in this blog series, such as prompt injection via tool descriptions and ANSI termin … | Continue reading


@blog.trailofbits.com | 10 months ago

Exploiting zero days in abandoned hardware

We successfully exploited two discontinued network devices at DistrictCon’s inaugural Junkyard competition in February, winning runner-up for Most Innovative Exploitation Technique. Our exploit chains demonstrate why end-of-life hardware poses persistent security risks. | Continue reading


@blog.trailofbits.com | 10 months ago

Inside EthCC[8]: Becoming a smart contract auditor

At EthCC[8], Trail of Bits blockchain security engineer Nicolas Donboly laid out a clear, actionable path for aspiring smart contract auditors, drawing from his own experience transitioning from a non-technical background into a leading security role. | Continue reading


@blog.trailofbits.com | 11 months ago

Detecting code copying at scale with Vendetect

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 understand … | Continue reading


@blog.trailofbits.com | 11 months ago

Building secure messaging is hard: A nuanced take on the Bitchat security debate

The release of Bitchat last week was met with a mixture of glowing praise and sharp criticism. Both extremes bear some truth, but they also miss the mark and reveal gaps in how we discuss security in emerging products. | Continue reading


@blog.trailofbits.com | 11 months ago

Investigate your dependencies with Deptective

Deptective, our new open-source tool, automatically finds the packages needed to install software dependencies. It does so not based on the software’s self-reported requirements, but by observing what the software needs at runtime. | Continue reading


@blog.trailofbits.com | 11 months ago

Buckle up, Buttercup, AIxCC’s scored round is underway!

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. | Continue reading


@blog.trailofbits.com | 11 months ago

Maturing your smart contracts beyond private key risk

Private key compromise accounted for 43.8% of crypto hacks in 2024, yet traditional smart contract audits rarely address architectural access control weaknesses. This post introduces a four-level maturity framework for designing protocols that can tolerate key compromise, progres … | Continue reading


@blog.trailofbits.com | 11 months ago

Unexpected security footguns in Go's parsers

File parsers in Go contain unexpected behaviors that can lead to serious security vulnerabilities. This post examines how JSON, XML, and YAML parsers in Go handle edge cases in ways that have repeatedly resulted in high-impact security issues in production systems. We explore thr … | Continue reading


@blog.trailofbits.com | 1 year ago

What we learned reviewing one of the first DKLs23 libraries from Silence Laboratories

In October 2023, we audited Silence Laboratories’ DKLs23 threshold signature scheme (TSS) library—one of the first production implementations of this then-novel protocol that uses oblivious transfer (OT) instead of traditional Paillier cryptography. Our review uncovered serious f … | Continue reading


@blog.trailofbits.com | 1 year ago

A deep dive into Axiom’s Halo2 circuits

Over two audits in 2023, we reviewed a blockchain system developed by Axiom that allows computing over the entire history of Ethereum, all verified by zero-knowledge proofs (ZKPs) on-chain using ZK-verified elliptic curve and SNARK recursion operations. This system is built using … | Continue reading


@blog.trailofbits.com | 1 year ago

The Custodial Stablecoin Rekt Test

Introducing the Custodial Stablecoin Rekt Test; a new spin on the classic Rekt Test for evaluating the security maturity of stablecoin issuers. | Continue reading


@blog.trailofbits.com | 1 year ago

The cryptography behind passkeys

This post will examine the cryptography behind passkeys, the guarantees they do or do not give, and interesting cryptographic things you can do with them, such as generating cryptographic keys and storing certificates. | Continue reading


@blog.trailofbits.com | 1 year ago

Datasig: Fingerprinting AI/ML datasets to stop data-borne attacks

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. This critical capability helps AIBOM (AI bill of materials) tools detect data-borne vulnerabilities that traditio … | Continue reading


@blog.trailofbits.com | 1 year ago

Making PyPI's test suite 81% faster

See how we slashed PyPI’s test suite runtime from 163 to 30 seconds. The techniques we share can help you dramatically improve your own project’s testing performance without sacrificing coverage. | Continue reading


@blog.trailofbits.com | 1 year ago

Insecure credential storage plagues MCP

This post describes how many examples of MCP software store long-term API keys for third-party services in plaintext on the local filesystem, often with insecure, world-readable permissions. | Continue reading


@blog.trailofbits.com | 1 year ago

Deceiving users with ANSI terminal codes in MCP

This post describes attacks using ANSI terminal code escape sequences to hide malicious instructions to the LLM, leveraging the line jumping vulnerability we discovered in MCP. | Continue reading


@blog.trailofbits.com | 1 year ago

How MCP servers can steal your conversation history

This post explains how malicious MCP servers can exploit the Model Context Protocol to covertly exfiltrate entire conversation histories by injecting trigger phrases into tool descriptions, allowing for targeted data theft against specific organizations. | Continue reading


@blog.trailofbits.com | 1 year ago

Jumping the line: How MCP servers can attack you before you ever use them

This post is about a critical vulnerability in the Model Context Protocol (MCP) called “Line Jumping,” where malicious servers can inject prompts through tool descriptions to manipulate AI model behavior without being explicitly invoked, effectively bypassing security measures de … | Continue reading


@blog.trailofbits.com | 1 year ago

Kicking off AIxCC’s Finals with Buttercup

Trail of Bits’ Cyber Reasoning System “Buttercup” is competing in DARPA’s AI Cyber Challenge Finals, which now features increased budgets, multiple rounds, diverse challenge types, and the ability to use custom AI models. | Continue reading


@blog.trailofbits.com | 1 year ago

Sneak peek: A new ASN.1 API for Python

We’re working on integrating an ASN.1 API into PyCA Cryptography, built on top of the same Rust ASN.1 implementation already used by Cryptography’s X.509 APIs. | Continue reading


@blog.trailofbits.com | 1 year ago

Mitigating ELUSIVE COMET threats: Protecting against Zoom remote control attacks

This post describes a sophisticated social engineering campaign using Zoom’s remote control feature and provides technical solutions to protect organizations against this attack vector. | Continue reading


@blog.trailofbits.com | 1 year ago

Neutralizing ELUSIVE COMET Zoom Remote Control Attacks

This post describes a sophisticated social engineering campaign using Zoom’s remote control feature and provides technical solutions to protect organizations against this attack vector. | Continue reading


@blog.trailofbits.com | 1 year ago

Mitigating ELUSIVE COMET Zoom remote control attacks

This post describes a sophisticated social engineering campaign using Zoom’s remote control feature and provides technical solutions to protect organizations against this attack vector. | Continue reading


@blog.trailofbits.com | 1 year ago

Introducing a new section on snapshot fuzzing for kernel-level testing in the Testing Handbook

Snapshot Fuzzing enables security engineers to effectively test software that is traditionally difficult to analyze, such as kernel-level software (though the technique is not limited to such software). Whether you’re auditing drivers or other kernel-mode components, including an … | Continue reading


@blog.trailofbits.com | 1 year ago

Benchmarking OpenSearch and Elasticsearch

This post concludes a four-month performance study of OpenSearch and Elasticsearch search engines across realistic scenarios using OpenSearch Benchmark (OSB). Our full report includes the detailed findings and comparison results of several versions of these two applications. | Continue reading


@blog.trailofbits.com | 1 year ago

Continuous TRAIL

You and your team should incrementally update your threat model as your system changes, integrating threat modeling into each phase of your SDLC to create a Threat and Risk Analysis Informed Lifecycle (TRAIL). Here, we cover how to do that: how to further tailor the threat model … | Continue reading


@blog.trailofbits.com | 1 year ago

Threat modeling the TRAIL of Bits way

In this blog, we’ll talk about our threat modeling process, TRAIL, which stands for Threat and Risk Analysis Informed Lifecycle. TRAIL enables us to trace and document the impact of flawed trust assumptions and insecure design decisions throughout each client’s system architectur … | Continue reading


@blog.trailofbits.com | 1 year ago

How Threat Modeling Could Have Prevented the $1.5B Bybit Hack

In this blog, we’ll talk about one of our most popular, but rarely published report types and how adding threat modeling to your organization can save you from becoming the next billion-dollar headline. | Continue reading


@blog.trailofbits.com | 1 year ago

The $1.5B Bybit Hack: The Era of Operational Security Failures Has Arrived

The $1.5B Bybit Hack demonstrates how the Era of Operational Security Failures has arrived, and most cryptocurrency companies are not prepared for its implications. | Continue reading


@blog.trailofbits.com | 1 year ago

Don’t recurse on untrusted input

We developed a simple CodeQL query to find denial-of-service (DoS) vulnerabilities in several high-profile Java projects. | Continue reading


@blog.trailofbits.com | 1 year ago

Unleashing Medusa: Fast and scalable smart contract fuzzing

Introducing Medusa v1, a cutting-edge fuzzing framework designed to enhance smart contract security. | Continue reading


@blog.trailofbits.com | 1 year ago

We’re partnering to strengthen TON’s DeFi ecosystem

TVM Ventures has selected Trail of Bits as its preferred security partner to strengthen the TON developer ecosystem. Through this partnership, we’ll lead the development of DeFi protocol standards and provide comprehensive security services to contest-winning projects deploying o … | Continue reading


@blog.trailofbits.com | 1 year ago

The call for invariant-driven development

By Josselin Feist Writing smart contracts requires a higher level of security assurance than most other fields of software engineering. The industry has evolved from simple ERC20 tokens to complex, multi-component DeFi systems that leverage domain-specific algorithms and handle s … | Continue reading


@blog.trailofbits.com | 1 year ago

Preventing account takeover on centralized cryptocurrency exchanges in 2025

By Kelly Kaoudis and Evan Sultanik 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 centr … | Continue reading


@blog.trailofbits.com | 1 year ago

PyPI now supports archiving projects

By Facundo Tuesca PyPI now supports marking projects as archived. Project owners can now archive their project to let users know that the project is not expected to receive any more updates. Project archival is a single piece in a larger supply-chain security puzzle: by exposing … | Continue reading


@blog.trailofbits.com | 1 year ago

Best practices for key derivation

By Marc Ilunga Key derivation is essential in many cryptographic applications, including key exchange, key management, secure communications, and building robust cryptographic primitives. But it’s also easy to get wrong: although standard tools exist for different key derivation … | Continue reading


@blog.trailofbits.com | 1 year ago

Celebrating our 2024 open-source contributions

While Trail of Bits is known for developing security tools like Slither, Medusa, and Fickling, our engineering efforts extend far beyond our own projects. Throughout 2024, our team has been deeply engaged with the broader security ecosystem, tackling challenges in open-source too … | Continue reading


@blog.trailofbits.com | 1 year ago

Auditing the Ruby ecosystem’s central package repository

This is a joint post with the Ruby Central team. The full report, which includes all of the detailed findings from our security audit of RubyGems.org, can be found here. Ruby Central hired Trail of Bits to complete a security assessment and a competitive analysis of RubyGems.org, … | Continue reading


@blog.trailofbits.com | 1 year ago