{"categories":[{"label":"Security","url":"https://skillfed.io/packages/category/security/2"}],"enrichment":{"capability":"Decode and re-encode Protocol Buffer messages without access to the source .proto descriptor file, making educated guesses about field types based on wire-type metadata.","skillfed_tags":["protobuf","reverse-engineering","security-testing"],"use_cases":["Penetration testing: intercept and modify protobuf messages in transit when schema is unavailable","Reverse engineering: decode and understand protobuf message structure from binary samples alone","Security research: analyze and fuzz protobuf-based protocols without access to source definitions","Message inspection: examine and transform protobuf payloads in debugging or forensic workflows","Protocol analysis: extract and manipulate protobuf fields for API testing or integration work"],"what_it_does":"bbpb is a Python library for working with Protocol Buffer messages when you don't have the original .proto schema file. It decodes binary protobuf data by inferring field types from wire-type metadata and field content, then returns both the decoded message as a Python dictionary and a generated type definition. You can modify the decoded message and re-encode it back to binary using the type definition.\n\nThe library is designed for penetration testing and security research scenarios where protobuf messages need to be inspected and modified without access to the schema. It provides both a Python API and a command-line tool. The type inference is best-effort\u2014most common fields parse correctly, but you can also supply custom type definitions to override guesses or name fields for readability. It includes convenience functions for JSON encoding/decoding and .proto file import/export, though the latter has known limitations with certain proto syntax.","worth_installing":"Yes. The package is actively maintained, has no known vulnerabilities, installs with minimal friction, and fills a genuine gap in protobuf tooling for scenarios where the schema is unavailable. MIT licensing removes legal friction. Install it if you work with protobuf-based systems in security, testing, or reverse-engineering contexts."},"id":"bbpb","links":{"html":"https://skillfed.io/packages/bbpb","md":"https://skillfed.io/packages/bbpb.md","pypi":"https://pypi.org/project/bbpb/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2025-03-14","license_spdx":null,"license_treatment":"permissive","name":"bbpb","python_support":"supports_current","summary":"Library for working with protobuf messages without a protobuf type definition."},"popularity":{"monthly_downloads":188177,"position":9950,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"1.4.2"}
