{"id":20617815,"url":"https://github.com/cyclonedx/cyclonedx-buildroot","last_synced_at":"2025-06-13T23:40:10.778Z","repository":{"id":156869412,"uuid":"629104243","full_name":"CycloneDX/cyclonedx-buildroot","owner":"CycloneDX","description":"Create CycloneDX Software Bill of Materials (SBOM) for Buildroot projects","archived":false,"fork":false,"pushed_at":"2024-03-26T11:53:06.000Z","size":150,"stargazers_count":6,"open_issues_count":1,"forks_count":1,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-03-26T12:58:24.570Z","etag":null,"topics":["bill-of-materials","bom","buildroot","cyclonedx","sbom","sbom-generator","sbom-tool","software-bill-of-materials"],"latest_commit_sha":null,"homepage":"https://cyclonedx.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CycloneDX.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null},"funding":{"custom":["https://owasp.org/donate/?reponame=www-project-cyclonedx\u0026title=OWASP+CycloneDX"]}},"created_at":"2023-04-17T16:17:10.000Z","updated_at":"2024-04-15T01:24:21.149Z","dependencies_parsed_at":null,"dependency_job_id":"6f879c93-bda7-4c9e-9c70-644dc2b78e3b","html_url":"https://github.com/CycloneDX/cyclonedx-buildroot","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CycloneDX%2Fcyclonedx-buildroot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CycloneDX%2Fcyclonedx-buildroot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CycloneDX%2Fcyclonedx-buildroot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CycloneDX%2Fcyclonedx-buildroot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CycloneDX","download_url":"https://codeload.github.com/CycloneDX/cyclonedx-buildroot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224911873,"owners_count":17390844,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bill-of-materials","bom","buildroot","cyclonedx","sbom","sbom-generator","sbom-tool","software-bill-of-materials"],"created_at":"2024-11-16T12:06:05.512Z","updated_at":"2025-04-15T11:36:08.180Z","avatar_url":"https://github.com/CycloneDX.png","language":"Python","funding_links":["https://owasp.org/donate/?reponame=www-project-cyclonedx\u0026title=OWASP+CycloneDX"],"categories":[],"sub_categories":[],"readme":"# CycloneDX Buildroot\n\n[![shield_pypi-version]][link_pypi]\n[![shield_gh-workflow-test]][link_gh-workflow-test]\n[![shield_coverage]][link_codacy]\n[![shield_license]][license_file]  \n[![shield_website]][link_website]\n[![shield_slack]][link_slack]\n[![shield_groups]][link_discussion]\n[![shield_twitter-follow]][link_twitter]\n\n----\n\nThis python application generates [CycloneDX][CDX_homepage] Software Bill of Materials\n(SBOM) containing all direct dependencies of a [Buildroot][Buildroot_homepage] generated project.\nIt also supports projects that provide a comma-separated-values (.csv) file as a manifest of the software bill of materials.\nThus an embedded project or any other project that has a CSV file containing the column information below, can be used with this project.\n\n  PACKAGE,VERSION,LICENSE,LICENSE FILES,SOURCE ARCHIVE,SOURCE SITE,DEPENDENCIES WITH LICENSES\n\n\nOWASP CycloneDX is a full-stack Bill of Materials (BOM) standard that provides advanced supply chain capabilities for \ncyber risk reduction.\nBuildroot provides a build target named \"legal-info\" which produces a set of files including manifest.csv. The legal-info\nis a general \"make\" target for a Buildroot project. Additionally and optionally Buildroot supports a \"make\" target named\n\"show-info\" to produce CPE data for your build.\n\n## Requirements\n\n* `python \u003e= 3.8`\n\n## Installation\n\nInstall this from [Python Package Index (PyPI)][link_pypi] using your preferred Python package manager.\n\ninstall via one of commands:\n\n```shell\npython -m pip install CycloneDX-Buildroot   # install via pip\npipx install CycloneDX-Buildroot            # install via pipx\npoetry add CycloneDX-Buildroot              # install via poetry\nuv tool install CycloneDX-Buildroot         # install via uv\n# ... you get the hang\n````\n\n## Usage\n\nCall via one of commands:\n\n```shell\ncyclonedx-buildroot            # call script\npython -m cyclonedx_buildroot  # call python module CLI\n```\n\n### Help page\n\n```shellSession\n$ cyclonedx-buildroot --help\nusage: cyclonedx-buildroot [-h] [-i INPUT_FILE] [-o OUTPUT_FILE] [-n PRODUCT_NAME] [-v PRODUCT_VERSION] [-m MANUFACTURER_NAME] [-c CPE_INPUT_FILE]\n\nCycloneDX BOM Generator\n\noptions:\n  -h, --help            show this help message and exit\n  -i INPUT_FILE         comma separated value (csv) file of buildroot manifest data\n  -o OUTPUT_FILE        SBOM output file name for json and xml\n  -n PRODUCT_NAME       name of the product\n  -v PRODUCT_VERSION    product version string\n  -m MANUFACTURER_NAME  name of product manufacturer\n  -c CPE_INPUT_FILE     cpe file from make show-info\n```\n\n### Example\n\nBy default, `manifest.csv` will be read from the current working directory\nand the resulting `bom.json` will also be created in the current working directory.  \nThis can be overwritten as follows:\n\n```shell\ncyclonedx-buildroot -i \u003cpath\u003e/manifest.csv -n \"My Project\" -v \"1.2.3.4\" -m \"your manufacturing company name\" -c cpe.json\n```\n\n## Integration\n\nDiagram depicting where this project fits into the pipeline of secure development activities. Note that while the diagram depicts a linear sequence of\nactivities, the entire sequence is typically cyclical. The end state of SBOM management receives the SBOM files for the product versions to properly\nmanage the state of vulnerabilities over time. \n\n![CycloneDX logo](https://github.com/CycloneDX/cyclonedx-buildroot/blob/main/build-Page-2.drawio.png)\n\n## CycloneDX Schema Support\n\nThe following table provides information on the version of this module, the CycloneDX schema version supported, as well as the output format options.\nUse the latest possible version of this module that is compatible with the CycloneDX version supported by the target system.\n\n| Version | Schema Version | Format(s) |\n|---------|----------------|-----------|\n| 2.x     | CycloneDX v1.6 | XML/JSON |\n| 1.x     | CycloneDX v1.4 | XML/JSON |\n\n## Internals\n\nThis tool utilizes the [CycloneDX Python library][cyclonedx-library] to generate the actual data structures, and serialize and validate them.\n\nThis tool does **not** expose any additional _public_ API or symbols - all code is intended to be internal and might change without any notice during version upgrades.  \nHowever, the CLI is stable - you might call it programmatically, like so:\n```python\nfrom sys import executable\nfrom subprocess import run\nrun((executable, '-m', 'cyclonedx_buildroot', '--help'))\n```\n\n## Copyright \u0026 License\n\nCycloneDX Buildroot is Copyright (c) OWASP Foundation. All Rights Reserved.  \nPermission to modify and redistribute is granted under the terms of the Apache 2.0 license. See the [LICENSE file][license_file] for the full license.\n\n\n\n[shield_pypi-version]: https://img.shields.io/pypi/v/cyclonedx-buildroot?logo=Python\u0026logoColor=white\u0026label=PyPI \"PyPI\"\n[shield_gh-workflow-test]: https://img.shields.io/github/actions/workflow/status/CycloneDX/cyclonedx-buildroot/python.yml?branch=main\u0026logo=GitHub\u0026logoColor=white \"build\"\n[shield_coverage]: https://img.shields.io/codacy/coverage/40c1cf5710b14d4d81f2b60b3609d998?logo=Codacy\u0026logoColor=white \"test coverage\"\n[shield_license]: https://img.shields.io/github/license/CycloneDX/cyclonedx-buildroot?logo=open%20source%20initiative\u0026logoColor=white \"license\"\n[shield_website]: https://img.shields.io/badge/https://-cyclonedx.org-blue.svg \"homepage\"\n[shield_slack]: https://img.shields.io/badge/slack-join-blue?logo=Slack\u0026logoColor=white \"slack join\"\n[shield_groups]: https://img.shields.io/badge/discussion-groups.io-blue.svg \"groups discussion\"\n[shield_twitter-follow]: https://img.shields.io/badge/Twitter-follow-blue?logo=Twitter\u0026logoColor=white \"twitter follow\"\n\n[link_pypi]: https://pypi.org/project/cyclonedx-buildroot/\n[link_gh-workflow-test]: https://github.com/CycloneDX/cyclonedx-buildroot/actions/workflows/python.yml?query=branch%3Amain\n[link_codacy]: https://app.codacy.com/gh/CycloneDX/cyclonedx-buildroot\n[link_website]: https://cyclonedx.org/\n[link_slack]: https://cyclonedx.org/slack/invite\n[link_discussion]: https://groups.io/g/CycloneDX\n[link_twitter]: https://twitter.com/CycloneDX_Spec\n\n\n[CDX_homepage]: https://cyclonedx.org\n[Buildroot_homepage]: https://buildroot.org\n[cyclonedx-library]: https://pypi.org/project/cyclonedx-python-lib\n\n[license_file]: https://github.com/CycloneDX/cyclonedx-buildroot/blob/main/LICENSE\n[contributing_file]: https://github.com/CycloneDX/cyclonedx-buildroot/blob/main/CONTRIBUTING.md\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyclonedx%2Fcyclonedx-buildroot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcyclonedx%2Fcyclonedx-buildroot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcyclonedx%2Fcyclonedx-buildroot/lists"}