<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>open-source on The Trail of Bits Blog</title><link>https://miscreants.github.io/blog.trailofbits.com/categories/open-source/</link><description>Recent content in open-source on The Trail of Bits Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 12 Dec 2025 00:00:00 -0500</lastBuildDate><atom:link href="https://miscreants.github.io/blog.trailofbits.com/categories/open-source/index.xml" rel="self" type="application/rss+xml"/><item><title>Catching malicious package releases using a transparency log</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/12/12/catching-malicious-package-releases-using-a-transparency-log/</link><pubDate>Fri, 12 Dec 2025 07:00:00 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/12/12/catching-malicious-package-releases-using-a-transparency-log/</guid><description>We’re getting Sigstore’s rekor-monitor ready for production use, making it easier for developers to detect tampering and unauthorized uses of their identities in the Rekor transparency log.</description></item><item><title>How we avoided side-channels in our new post-quantum Go cryptography libraries</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/11/14/how-we-avoided-side-channels-in-our-new-post-quantum-go-cryptography-libraries/</link><pubDate>Fri, 14 Nov 2025 07:00:00 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/11/14/how-we-avoided-side-channels-in-our-new-post-quantum-go-cryptography-libraries/</guid><description>We&amp;rsquo;ve released open-source Go implementations of ML-DSA and SLH-DSA.</description></item><item><title>Building checksec without boundaries with Checksec Anywhere</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/11/13/building-checksec-without-boundaries-with-checksec-anywhere/</link><pubDate>Thu, 13 Nov 2025 07:00:00 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/11/13/building-checksec-without-boundaries-with-checksec-anywhere/</guid><description>Checksec Anywhere consolidates fragmented binary security analysis tools into a browser-based platform that analyzes ELF, PE, and Mach-O formats locally without compromising privacy or performance.</description></item><item><title>Fickling’s new AI/ML pickle file scanner</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/09/16/ficklings-new-ai/ml-pickle-file-scanner/</link><pubDate>Tue, 16 Sep 2025 07:00:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/09/16/ficklings-new-ai/ml-pickle-file-scanner/</guid><description>We&amp;rsquo;ve added a pickle file scanner to Fickling that uses an allowlist approach to protect AI/ML environments from malicious pickle files that could compromise models or infrastructure.</description></item><item><title>Datasig: Fingerprinting AI/ML datasets to stop data-borne attacks</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/05/02/datasig-fingerprinting-ai/ml-datasets-to-stop-data-borne-attacks/</link><pubDate>Fri, 02 May 2025 07:00:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/05/02/datasig-fingerprinting-ai/ml-datasets-to-stop-data-borne-attacks/</guid><description>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.&lt;br&gt;
This critical capability helps AIBOM (AI bill of materials) tools detect data-borne vulnerabilities that traditional security tools completely miss.</description></item><item><title>Making PyPI's test suite 81% faster</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/05/01/making-pypis-test-suite-81-faster/</link><pubDate>Thu, 01 May 2025 09:00:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/05/01/making-pypis-test-suite-81-faster/</guid><description>See how we slashed PyPI&amp;rsquo;s test suite runtime from 163 to 30 seconds.&lt;br&gt;
The techniques we share can help you dramatically improve your own project&amp;rsquo;s&lt;br&gt;
testing performance without sacrificing coverage.</description></item><item><title>Sneak peek: A new ASN.1 API for Python</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/04/18/sneak-peek-a-new-asn.1-api-for-python/</link><pubDate>Fri, 18 Apr 2025 09:00:00 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/04/18/sneak-peek-a-new-asn.1-api-for-python/</guid><description>We&amp;rsquo;re working on integrating an ASN.1 API into PyCA Cryptography,&lt;br&gt;
built on top of the same Rust ASN.1 implementation already used by&lt;br&gt;
Cryptography&amp;rsquo;s X.509 APIs.</description></item><item><title>Benchmarking OpenSearch and Elasticsearch</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/03/06/benchmarking-opensearch-and-elasticsearch/</link><pubDate>Thu, 06 Mar 2025 00:00:00 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/03/06/benchmarking-opensearch-and-elasticsearch/</guid><description>Trail of Bits&amp;rsquo; independent study finds OpenSearch v2.17.1 is 1.6x faster than Elasticsearch v8.15.4 on Big5 workload and 11% faster on vector search.</description></item><item><title>Unleashing Medusa: Fast and scalable smart contract fuzzing</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/02/14/unleashing-medusa-fast-and-scalable-smart-contract-fuzzing/</link><pubDate>Fri, 14 Feb 2025 00:00:00 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/02/14/unleashing-medusa-fast-and-scalable-smart-contract-fuzzing/</guid><description>Introducing Medusa v1, a cutting-edge fuzzing framework designed to enhance smart contract security.</description></item><item><title>PyPI now supports archiving projects</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/01/30/pypi-now-supports-archiving-projects/</link><pubDate>Thu, 30 Jan 2025 09:00:22 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/01/30/pypi-now-supports-archiving-projects/</guid><description>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 archival statuses, PyPI enables downstream consumers to make more […]</description></item><item><title>Celebrating our 2024 open-source contributions</title><link>https://miscreants.github.io/blog.trailofbits.com/2025/01/23/celebrating-our-2024-open-source-contributions/</link><pubDate>Thu, 23 Jan 2025 09:00:30 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2025/01/23/celebrating-our-2024-open-source-contributions/</guid><description>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 tools and infrastructure that security engineers rely on every day. This year, our engineers […]</description></item><item><title>Auditing the Ruby ecosystem's central package repository</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/12/11/auditing-the-ruby-ecosystems-central-package-repository/</link><pubDate>Wed, 11 Dec 2024 09:00:59 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/12/11/auditing-the-ruby-ecosystems-central-package-repository/</guid><description>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.</description></item><item><title>Attestations: A new generation of signatures on PyPI</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/11/14/attestations-a-new-generation-of-signatures-on-pypi/</link><pubDate>Thu, 14 Nov 2024 09:00:15 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/11/14/attestations-a-new-generation-of-signatures-on-pypi/</guid><description>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 […]</description></item><item><title>We wrote the code, and the code won</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/08/15/we-wrote-the-code-and-the-code-won/</link><pubDate>Thu, 15 Aug 2024 07:50:31 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/08/15/we-wrote-the-code-and-the-code-won/</guid><description>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.</description></item><item><title>Auditing the Ask Astro LLM Q&amp;A app</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/07/05/auditing-the-ask-astro-llm-qa-app/</link><pubDate>Fri, 05 Jul 2024 09:00:28 -0400</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/07/05/auditing-the-ask-astro-llm-qa-app/</guid><description>Today, we present the second of our open-source AI security audits: a look at security issues we found in an open-source retrieval augmented generation (RAG) application that could lead to chatbot output poisoning, inaccurate document ingestion, and potential denial of service. This audit follows up on our previous work that identified 11 security vulnerabilities in […]</description></item><item><title>Relishing new Fickling features for securing ML systems</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/03/04/relishing-new-fickling-features-for-securing-ml-systems/</link><pubDate>Mon, 04 Mar 2024 09:00:44 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/03/04/relishing-new-fickling-features-for-securing-ml-systems/</guid><description>We’ve added new features to Fickling to offer enhanced threat detection and analysis across a broad spectrum of machine learning (ML) workflows. Fickling is a decompiler, static analyzer, and bytecode rewriter for the Python pickle module that can help you detect, analyze, or create malicious pickle files. While the ML community […]</description></item><item><title>How we applied advanced fuzzing techniques to cURL</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/03/01/toward-more-effective-curl-fuzzing/</link><pubDate>Fri, 01 Mar 2024 09:30:25 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/03/01/toward-more-effective-curl-fuzzing/</guid><description>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 […]</description></item><item><title>Continuously fuzzing Python C extensions</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/02/23/continuously-fuzzing-python-c-extensions/</link><pubDate>Fri, 23 Feb 2024 09:30:03 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/02/23/continuously-fuzzing-python-c-extensions/</guid><description>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 […]</description></item><item><title>Introducing DIFFER, a new tool for testing and validating transformed programs</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/01/31/introducing-differ-a-new-tool-for-testing-and-validating-transformed-programs/</link><pubDate>Wed, 31 Jan 2024 09:30:48 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/01/31/introducing-differ-a-new-tool-for-testing-and-validating-transformed-programs/</guid><description>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 […]</description></item><item><title>Enhancing trust for SGX enclaves</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/01/26/enhancing-trust-for-sgx-enclaves/</link><pubDate>Fri, 26 Jan 2024 09:00:31 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/01/26/enhancing-trust-for-sgx-enclaves/</guid><description>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 […]</description></item><item><title>We build X.509 chains so you don’t have to</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/01/25/we-build-x-509-chains-so-you-dont-have-to/</link><pubDate>Thu, 25 Jan 2024 09:00:22 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/01/25/we-build-x-509-chains-so-you-dont-have-to/</guid><description>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 […]</description></item><item><title>Celebrating our 2023 open-source contributions</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/01/24/celebrating-our-2023-open-source-contributions/</link><pubDate>Wed, 24 Jan 2024 09:00:22 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/01/24/celebrating-our-2023-open-source-contributions/</guid><description>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 […]</description></item><item><title>30 new Semgrep rules: Ansible, Java, Kotlin, shell scripts, and more</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/01/17/30-new-semgrep-rules-ansible-java-kotlin-shell-scripts-and-more/</link><pubDate>Wed, 17 Jan 2024 08:30:32 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/01/17/30-new-semgrep-rules-ansible-java-kotlin-shell-scripts-and-more/</guid><description>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 […]</description></item><item><title>Internet freedom with the Open Technology Fund</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/01/15/internet-freedom-with-the-open-technology-fund/</link><pubDate>Mon, 15 Jan 2024 08:30:54 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/01/15/internet-freedom-with-the-open-technology-fund/</guid><description>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 […]</description></item><item><title>Securing open-source infrastructure with OSTIF</title><link>https://miscreants.github.io/blog.trailofbits.com/2024/01/09/securing-open-source-infrastructure-with-ostif/</link><pubDate>Tue, 09 Jan 2024 09:00:08 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2024/01/09/securing-open-source-infrastructure-with-ostif/</guid><description>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 […]</description></item><item><title>How CISA can improve OSS security</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/11/20/how-cisa-can-improve-oss-security/</link><pubDate>Mon, 20 Nov 2023 09:35:59 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/11/20/how-cisa-can-improve-oss-security/</guid><description>The US government recently issued a request for information (RFI) about open-source software (OSS) security. In this blog post, we will present a summary of our response and proposed solutions. Some of our solutions include rewriting widely used legacy code in memory safe languages such as Rust, funding OSS solutions to improve […]</description></item><item><title>Our audit of PyPI</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/11/14/our-audit-of-pypi/</link><pubDate>Tue, 14 Nov 2023 08:00:37 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/11/14/our-audit-of-pypi/</guid><description>This is a joint post with the PyPI maintainers; read their announcement here! This audit was sponsored by the Open Tech Fund as part of their larger mission to secure critical pieces of internet infrastructure. You can read the full report in our Publications repository. Late this summer, we performed an audit […]</description></item><item><title>Adding build provenance to Homebrew</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/11/06/adding-build-provenance-to-homebrew/</link><pubDate>Mon, 06 Nov 2023 08:00:37 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/11/06/adding-build-provenance-to-homebrew/</guid><description>This is a joint post with Alpha-Omega—read their announcement post as well! We&amp;rsquo;re starting a new project in collaboration with Alpha-Omega and OpenSSF to improve the transparency and security of Homebrew. This six-month project will bring cryptographically verifiable build provenance to homebrew-core, allowing end users and companies to prove that Homebrew&amp;rsquo;s packages come from the official Homebrew CI/CD.</description></item><item><title>Announcing a stable release of sigstore-python</title><link>https://miscreants.github.io/blog.trailofbits.com/2023/01/13/sigstore-python/</link><pubDate>Fri, 13 Jan 2023 10:00:58 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2023/01/13/sigstore-python/</guid><description>Read the official announcement on the Sigstore blog as well! Trail of Bits is thrilled to announce the first stable release of sigstore-python, a client implementation of Sigstore that we’ve been developing for nearly a year! This work has been graciously funded by Google’s Open Source Security Team (GOSST), who we’ve also […]</description></item><item><title>We sign code now</title><link>https://miscreants.github.io/blog.trailofbits.com/2022/11/08/sigstore-code-signing-verification-software-supply-chain/</link><pubDate>Tue, 08 Nov 2022 07:30:15 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2022/11/08/sigstore-code-signing-verification-software-supply-chain/</guid><description>Sigstore announced the general availability of its free and ecosystem-agnostic software signing service two weeks ago, giving developers a way to sign, verify and protect their software projects and the dependencies they rely on. Trail of Bits is absolutely thrilled to be a part of the project, and we spoke about our […]</description></item><item><title>Announcing osquery 5: Now with EndpointSecurity on macOS</title><link>https://miscreants.github.io/blog.trailofbits.com/2021/11/10/announcing-osquery-5-now-with-endpointsecurity-on-macos/</link><pubDate>Wed, 10 Nov 2021 01:05:55 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2021/11/10/announcing-osquery-5-now-with-endpointsecurity-on-macos/</guid><description>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 we integrated EndpointSecurity into osquery […]</description></item><item><title>Write Rust lints without forking Clippy</title><link>https://miscreants.github.io/blog.trailofbits.com/2021/11/09/write-rust-lints-without-forking-clippy/</link><pubDate>Tue, 09 Nov 2021 00:30:40 -0500</pubDate><guid>https://miscreants.github.io/blog.trailofbits.com/2021/11/09/write-rust-lints-without-forking-clippy/</guid><description>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 was to fork Clippy, Rust’s […]</description></item></channel></rss>