{"categories":[{"label":"Security","url":"https://skillfed.io/packages/category/security/2"}],"enrichment":{"capability":"abi3audit scans Python extension wheels and shared objects for violations of the stable ABI (abi3) specification, detecting when extensions are incorrectly tagged or compiled against incompatible CPython versions.","skillfed_tags":["binary-analysis","c-extensions","packaging-tools"],"use_cases":["Validate that a locally-built abi3 wheel is correctly compiled and tagged before publishing to PyPI.","Audit an entire package's release history on PyPI to find past versions with abi3 violations.","Check a bare shared object file to confirm it uses only stable ABI symbols for a given Python version.","Generate a JSON report of abi3 compliance across multiple wheels for integration into CI/CD pipelines.","Investigate crashes or unexpected behavior in abi3 extensions by confirming symbol compatibility."],"what_it_does":"abi3audit is a command-line auditor for Python C extensions that claim to use the stable ABI (abi3). The stable ABI is a CPython feature that allows extensions built once to work across multiple Python minor versions, but there is no enforcement mechanism\u2014a wheel can be incorrectly tagged as abi3 or compiled against the wrong version without detection. abi3audit fills that gap by scanning wheels, individual shared objects, or entire PyPI package histories to find mismatches between the declared abi3 version tag and the actual symbols the extension uses.\n\nThe tool works by parsing binary formats (ELF, PE, Mach-O) and examining symbol tables to determine which CPython ABI version each symbol requires, then comparing that to the wheel's tag or a user-specified baseline. It reports version mismatches, non-abi3 symbols, and can output results as human-readable tables or JSON. It is maintained as an active project by Trail of Bits and depends on standard binary analysis libraries (pyelftools, pefile) plus packaging utilities.","worth_installing":"Yes, if you build or maintain Python C extensions with abi3 tags. The tool addresses a real gap in the Python packaging ecosystem\u2014there is no built-in enforcement of abi3 compliance, and incorrect tagging can cause runtime crashes or security issues. For extension developers, this is a straightforward audit step. For users of abi3 packages, it is less directly applicable unless you are vetting third-party wheels. No known vulnerabilities and active maintenance."},"id":"abi3audit","links":{"html":"https://skillfed.io/packages/abi3audit","md":"https://skillfed.io/packages/abi3audit.md","pypi":"https://pypi.org/project/abi3audit/"},"maintenance":{"status":"active"},"meta":{"latest_release":"2026-01-23","license_spdx":"MIT","license_treatment":"permissive","name":"abi3audit","python_support":"supports_current","summary":"Scans Python wheels for abi3 violations and inconsistencies"},"popularity":{"monthly_downloads":445138,"position":6617,"tier":"top_15000"},"security":{"n_vulnerabilities":0},"version":"0.0.26"}
