How to choose an interesting project

How to choose an interesting project

| | Uncategorized
By Trent Brunson, Head of Research & Engineering Originally published on October 15, 2021 Come join our team today! Trail of Bits is hiring full-time Senior Software Engineers and Software Security Research Engineers. Over the last nine years, I’ve interviewed hundreds of applicants for research and engineering positions. One of ... Read More
Motivating global stabilization

Motivating global stabilization

| | Uncategorized
By Samuel Moelius, Staff Engineer Originally published on October 12, 2021 Consensus protocols have come to play a critical role in many applications. Fischer, Lynch, and Paterson’s classic impossibility result showed that under reasonable assumptions, it can be impossible for a protocol to reach consensus. In Dwork, Lynch, and Stockmeyer’s ... Read More
Announcing osquery 5: Now with EndpointSecurity on macOS

Announcing osquery 5: Now with EndpointSecurity on macOS

| | Uncategorized
By Sharvil Shah, Senior Software Engineer Originally published on October 6, 2021 TL;DR: Version 5.0.1 of osquery, a cross-platform, open-source endpoint visibility agent, is now available. This release is an exciting milestone for the project, as it introduces an EndpointSecurity-based process events table for macOS. Read on to learn how ... Read More

All your tracing are belong to BPF

| | Uncategorized
By Alessandro Gario, Senior Software Engineer Originally published August 11, 2021 TL;DR: These simpler, step-by-step methods equip you to apply BPF tracing technology to real-word problems—no specialized tools or libraries required. BPF, a tracing technology in the Linux kernel for network stack tracing, has become popular recently thanks to new ... Read More
PrivacyRaven: Implementing a proof of concept for model inversion

PrivacyRaven: Implementing a proof of concept for model inversion

| | Uncategorized
By Philip Wang, Intern Originally published August 3, 2021 During my Trail of Bits winternship and springternship, I had the pleasure of working with Suha Hussain and Jim Miller on PrivacyRaven, a Python-based tool for testing deep-learning frameworks against a plethora of privacy attacks. I worked on improving PrivacyRaven’s versatility ... Read More
Write Rust lints without forking Clippy

Write Rust lints without forking Clippy

| | Uncategorized
By Samuel Moelius, Staff Engineer Originally published May 20, 2021 This blog post introduces Dylint, a tool for loading Rust linting rules (or “lints”) from dynamic libraries. Dylint makes it easy for developers to maintain their own personal lint collections. Previously, the simplest way to write a new Rust lint ... Read More

Discovering goroutine leaks with Semgrep

| | Uncategorized
By Alex Useche, Security Engineer Originally published May 10, 2021 While learning how to write multithreaded code in Java or C++ can make computer science students reconsider their career choices, calling a function asynchronously in Go is just a matter of prefixing a function call with the go keyword. However, ... Read More
Solar: Context-free, interactive analysis for Solidity

Solar: Context-free, interactive analysis for Solidity

We’re hiring for our Research + Engineering team!  By Aaron Yoo, University of California, Los Angeles As an intern at Trail of Bits, I worked on Solar, a proof-of-concept static analysis framework. Solar is unique because it enables context-free interactive analysis of Solidity smart contracts. A user can direct Solar ... Read More
A Year in the Life of a Compiler Fuzzing Campaign

A Year in the Life of a Compiler Fuzzing Campaign

| | Uncategorized
By Alex Groce, Northern Arizona University In the summer of 2020, we described our work fuzzing the Solidity compiler, solc. So now we’d like to revisit this project, since fuzzing campaigns tend to “saturate,” finding fewer new results over time. Did Solidity fuzzing run out of gas? Is fuzzing a ... Read More
Un-bee-lievable Performance: Fast Coverage-guided Fuzzing with Honeybee and Intel Processor Trace

Un-bee-lievable Performance: Fast Coverage-guided Fuzzing with Honeybee and Intel Processor Trace

By Allison Husain, UC Berkeley Today, we are releasing an experimental coverage-guided fuzzer called Honeybee that records program control flow using Intel Processor Trace (IPT) technology. Previously, IPT has been scrutinized for severe underperformance due to issues with capture systems and inefficient trace analyses. My winter internship focused on working ... Read More
Loading...