Trail of Bits
Trail of Bits
THE TRAIL OF BITS BLOG

A mistake in the bulletproofs paper could have led to the theft of millions of dollars

We discovered a critical vulnerability in Incognito Chain that would allow an attacker to mint arbitrary tokens and drain user funds. Incognito offers confidential transactions through zero-knowledge proofs, so an attacker could have stolen millions of dollars of shielded funds without ever being detected or identified. The vulnerability stemmed from an insecure […]
Jim Miller
August 02, 2023
cryptography blockchain
READ MORE

How AI will affect cybersecurity: What we told the CFTC

Dan Guido, CEO The second meeting of the Commodity Futures Trading Commission’s Technology Advisory Committee (TAC) on July 18 focused on the effects of AI on the financial sector. During the meeting, I explained that AI has the potential to fundamentally change the balance between cyber offense and defense, and that we need security-focused benchmarks […]
Dan Guido
July 31, 2023
machine-learning policy
READ MORE

The future of Clang-based tooling

Clang is a marvelous compiler; it’s a compiler’s compiler! But it isn’t a toolsmith’s compiler. As a toolsmith, my ideal compiler would be an open book, allowing me to get to everywhere from anywhere. The data on which my ideal compiler would operate (files, macros, tokens), their eventual interpretation (declarations, statements, types), […]
Peter Goodman
July 28, 2023
compilers
READ MORE

Announcing the Trail of Bits Testing Handbook

Trail of Bits is thrilled to announce the Testing Handbook, the shortest path for developers and security professionals to derive maximum value from the static and dynamic analysis tools we use at Trail of Bits. Why did we create the Testing Handbook? At Trail of Bits, we have spent countless hours studying, […]
Maciej Domański
July 26, 2023
semgrep testing handbook
READ MORE

Fuzzing on-chain contracts with Echidna

With the release of version 2.1.0 of Echidna, our fuzzing tool for Ethereum smart contracts, we’ve introduced new features for direct retrieval of on-chain data, such as contract code and storage slot values. This data can be used to fuzz deployed contracts in their on-chain state or to test […]
Elvis Skozdopolj
July 21, 2023
blockchain fuzzing
READ MORE

Trail of Bits’s Response to OSTP National Priorities for AI RFI

The Office of Science and Technology Policy (OSTP) has circulated a request for information (RFI) on how best to develop policies that support the responsible development of AI while minimizing risk to rights, safety, and national security. In our response, we highlight the following points: To ensure that AI […]
Heidy Khlaaf
July 18, 2023
machine-learning policy
READ MORE

Evaluating blockchain security maturity

Holistic security reviews should reveal far more than simple bugs. Often, these bugs indicate deeper issues that can be challenging to understand and address. Given the time-boxed nature of reviews, security engineers may not have the opportunity to identify all bugs caused by these problems—and they may continue to […]
Josselin Feist
July 14, 2023
audits blockchain
READ MORE

What we told the CFTC about blockchain threats

In March, I joined the Commodity Futures Trading Commission’s Technology Advisory Committee (TAC), helping the regulatory agency navigate the complexities of cybersecurity risks, particularly in emerging technologies like AI and blockchain. During the committee’s first meeting, I discussed how the rapidly changing and public nature of blockchain technology makes it uniquely susceptible […]
Dan Guido
July 12, 2023
blockchain policy
READ MORE

Differential fuzz testing upgradeable smart contracts with Diffusc

On March 28, 2023, SafeMoon, a self-styled “community-focused DeFi token” on Binance Smart Chain, lost the equivalent of $8.9 million in Binance Coin BNB to an exploit in a liquidity pool. The exploit leveraged a simple error introduced in an upgrade to SafeMoon’s SFM token contract, allowing the attacker to burn tokens held in the […]
William Bodell
July 07, 2023
blockchain fuzzing
READ MORE

Trail of Bits’s Response to NTIA AI Accountability RFC

The National Telecommunications and Information Administration (NTIA) has circulated an Artificial Intelligence (AI) Accountability Policy Request for Comment on what policies can support the development of AI audits, assessments, certifications, and other mechanisms to create earned trust in AI systems. Trail of Bits has submitted a response to the […]
Artem Dinaburg
June 16, 2023
machine-learning policy
READ MORE

Finding bugs in C code with Multi-Level IR and VAST

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 […]
Trail of Bits
June 15, 2023
compilers mlir research-practice reversing vast
READ MORE

Trusted publishing: a new benchmark for packaging security

Read the official announcement on the PyPI blog as well! For the past year, we’ve worked with the Python Package Index to add a new, more secure authentication method called “trusted publishing.” Trusted publishing eliminates the need for long-lived API tokens and passwords, reducing the risk of supply chain attacks and credential leaks while also […]
William Woodruff
May 23, 2023
ecosystem-security engineering-practice
READ MORE

Real World Crypto 2023 Recap

Last month, hundreds of cryptographers descended upon Tokyo for the first Real World Crypto Conference in Asia. As in previous years, we dispatched a handful of our researchers and engineers to present and attend the conference. What sets RWC apart from other conferences is that it strongly emphasizes research, collaborations, and advancements in cryptography that […]
Trail of Bits
May 16, 2023
conferences cryptography
READ MORE

Introducing Windows Notification Facility’s (WNF) Code Integrity

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 […]
Yarden Shafir
May 15, 2023
research-practice windows
READ MORE

What should governments consider when getting involved with blockchain?

Last September, Principal Security Engineer Dr. Evan Sultanik was on a panel hosted by the Naval Postgraduate School’s Distributed Consensus: Blockchain & Beyond (DC:BB) movement, where faculty and students there are seeking opportunities to learn and share knowledge, research, funding, and events focused on distributed consensus technologies. The panel of nine government, academia, and industry […]
Trail of Bits
April 25, 2023
blockchain events policy
READ MORE

Typos that omit security features and how to test for them

During a security audit, I discovered an easy-to-miss typo that unintentionally failed to enable _FORTIFY_SOURCE, which helps detect memory corruption bugs in incorrectly used C functions. We searched, found, and fixed twenty C and C++ bugs on GitHub with this same pattern. Here is a list of some of them related […]
Dominik Czarnota
April 20, 2023
audits mitigations
READ MORE

A Winter’s Tale: Improving messages and types in GDB’s Python API

As a winter associate at Trail of Bits, my goal was to make two improvements to the GNU Project Debugger (GDB): make it run faster and improve its Python API to support and improve tools that rely on it, like Pwndbg. The main goal was to run […]
Matheus Branco Borella
April 18, 2023
internship-projects
READ MORE

How to avoid the aCropalypse

The aCropalypse is upon us! Last week, news about CVE-2023-21036, nicknamed the “aCropalypse,” spread across Twitter and other media, and I quickly realized that the underlying flaw could be detected by our tool, PolyTracker. I’ll explain how PolyTracker can detect files affected by the vulnerability even without specific file format knowledge.
Henrik Brodin
March 30, 2023
program-analysis research-practice
READ MORE

Codex (and GPT-4) can’t beat humans on smart contract audits

Is artificial intelligence (AI) capable of powering software security audits? Over the last four months, we piloted a project called Toucan to find out. Toucan was intended to integrate OpenAI’s Codex into our Solidity auditing workflow. This experiment went far […]
Artem Dinaburg
March 22, 2023
blockchain machine-learning
READ MORE

Circomspect has more passes!

TL;DR: We have released version 0.8.0 of Circomspect, our static analyzer and linter for Circom. Since our initial release of Circomspect in September 2022, we have added five new analysis passes, support for tags, tuples, and anonymous components, links to in-depth descriptions of each identified issue, and squashed a […]
Fredrik Dahlgren
March 21, 2023
blockchain cryptography crytic products
READ MORE

We need a new way to measure AI security

Trail of Bits has launched a practice focused on machine learning and artificial intelligence, bringing together safety and security methodologies to create a new risk assessment and assurance program. This program evaluates potential bespoke risks and determines the necessary safety and security measures for AI-based systems.
Trail of Bits
March 14, 2023
audits engineering-practice machine-learning press-release
READ MORE

Reusable properties for Ethereum contracts

As smart contract security constantly evolves, property-based fuzzing has become a go-to technique for developers and security engineers. This technique relies on the creation of code properties – often called invariants – which describe what the code is supposed to do. To help the community define properties, we are releasing a set of 168 pre-built […]
Trail of Bits
February 27, 2023
blockchain education guides
READ MORE

Escaping well-configured VSCode extensions (for profit)

In part one of this two-part series, we escaped Webviews in real-world misconfigured VSCode extensions. But can we still escape extensions if they are well-configured? In this post, we’ll demonstrate how I bypassed a Webview’s localResourceRoots by exploiting small URL parsing differences between the browser—i.e., the Electron-created Chromium instance where VSCode and […]
Vasco Franco
February 23, 2023
vulnerability-disclosure
READ MORE

Escaping misconfigured VSCode extensions

TL;DR: This two-part blog series will cover how I found and disclosed three vulnerabilities in VSCode extensions and one vulnerability in VSCode itself (a security mitigation bypass assigned CVE-2022-41042 and awarded a $7,500 bounty). We will identify the underlying cause of each vulnerability and create fully working exploits to demonstrate how an […]
Vasco Franco
February 21, 2023
exploits vulnerability-disclosure
READ MORE

Readline crime: exploiting a SUID logic bug

I discovered a logic bug in the readline dependency that partially reveals file information when parsing the file specified in the INPUTRC environment variable. This could allow attackers to move laterally on a box where sshd is running, a given user is able to login, and the user’s private key […]
Rory M
February 16, 2023
attacks exploits linux
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