Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build(deps): update cyclonedx-python-lib requirement from <1.0.0,>=0.11.1 to >=0.11.1,<2.0.0 #216

Merged

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 13, 2022

Updates the requirements on cyclonedx-python-lib to permit the latest version.

Fixes #151.

Release notes

Sourced from cyclonedx-python-lib's releases.

v1.1.0

Feature

  • Add support for bom.metadata.component (#118) (1ac31f4)
Changelog

Sourced from cyclonedx-python-lib's changelog.

v1.1.0 (2022-01-13)

Feature

  • Add support for bom.metadata.component (#118) (1ac31f4)

v1.0.0 (2022-01-13)

Support for CycloneDX schema version 1.4 (#108)

Breaking Changes

Support for CycloneDX 1.4. This includes:

  • Support for tools having externalReferences
  • Allowing version for a Component to be optional in 1.4
  • Support for releaseNotes per Component
  • Support for the core schema implementation of Vulnerabilities (VEX)

Features

Fixes

  • Unit tests now include schema validation (we've left schema validation out of the core library due to dependency bloat)
  • Ensure schema is adhered to in 1.0
  • URIs are now used throughout the library through a new XsUri class to provide URI validation

Other

v0.12.3 (2021-12-15)

Fix

  • Removed requirements-parser as dependency (temp) as not available for Python 3 as Wheel (#98) (3677d9f)

v0.12.2 (2021-12-09)

Fix

  • Tightened dependency packageurl-python (#95) (eb4ae5c)

v0.12.1 (2021-12-09)

Fix

  • Further loosened dependency definitions (8bef6ec)

v0.12.0 (2021-12-09)

Feature

  • Loosed dependency versions to make this library more consumable (55f10fb)

v0.11.1 (2021-11-10)

Fix

  • Constructor for Vulnerability to correctly define ratings as optional (395a0ec)

v0.11.0 (2021-11-10)

Feature

... (truncated)

Commits
  • d4007bd 1.1.0
  • 1ac31f4 feat: add support for bom.metadata.component (#118)
  • 3509fb6 Manually generated release
  • 7fb6da9 Support for CycloneDX schema version 1.4 (#108)
  • 3058afc chore: attempt to produce manual GitHub action to release a RC version
  • d26970b Merge branch 'main' of github.com:CycloneDX/cyclonedx-python-lib
  • 6799e63 chore: attempt to produce manual GitHub action to release a RC version
  • 42f7952 chore: disable poetry-cache in gh-workflow (#112)
  • 4448d9b Update CONTRIBUTING.md
  • 89d8382 chore: removed pdoc3 from main dev dependencies as now covered in docs/requir...
  • Additional commits viewable in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Updates the requirements on [cyclonedx-python-lib](https://github.com/CycloneDX/cyclonedx-python-lib) to permit the latest version.
- [Release notes](https://github.com/CycloneDX/cyclonedx-python-lib/releases)
- [Changelog](https://github.com/CycloneDX/cyclonedx-python-lib/blob/main/CHANGELOG.md)
- [Commits](CycloneDX/cyclonedx-python-lib@v0.11.1...v1.1.0)

---
updated-dependencies:
- dependency-name: cyclonedx-python-lib
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Jan 13, 2022
formatter = output.get_instance(
bom=bom,
output_format=self._inner_format.value,
schema_version=output.SchemaVersion.V1_4,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

N.B.: This explicitly pins us to CycloneDX's 1.4 schema now that it's supported, which fixes #151.

@woodruffw woodruffw added the component:output-formats Supported output formats label Jan 13, 2022
@woodruffw
Copy link
Member

Example JSON SBOM with these changes:

{
  "$schema": "http://cyclonedx.org/schema/bom-1.4.schema.json",
  "bomFormat": "CycloneDX",
  "specVersion": "1.4",
  "serialNumber": "urn:uuid:1d9b7c1e-28c3-4353-a64e-23fff5f98dda",
  "version": 1,
  "metadata": {
    "timestamp": "2022-01-13T16:55:31.738527+00:00",
    "tools": [
      {
        "vendor": "CycloneDX",
        "name": "cyclonedx-python-lib",
        "version": "1.1.0",
        "externalReferences": [
          {
            "type": "build-system",
            "url": "https://github.com/CycloneDX/cyclonedx-python-lib/actions"
          },
          {
            "type": "distribution",
            "url": "https://pypi.org/project/cyclonedx-python-lib/"
          },
          {
            "type": "documentation",
            "url": "https://cyclonedx.github.io/cyclonedx-python-lib/"
          },
          {
            "type": "issue-tracker",
            "url": "https://github.com/CycloneDX/cyclonedx-python-lib/issues"
          },
          {
            "type": "license",
            "url": "https://github.com/CycloneDX/cyclonedx-python-lib/blob/main/LICENSE"
          },
          {
            "type": "release-notes",
            "url": "https://github.com/CycloneDX/cyclonedx-python-lib/blob/main/CHANGELOG.md"
          },
          {
            "type": "vcs",
            "url": "https://github.com/CycloneDX/cyclonedx-python-lib"
          },
          {
            "type": "website",
            "url": "https://cyclonedx.org"
          }
        ]
      }
    ]
  },
  "components": [
    {
      "type": "library",
      "name": "docker-py",
      "version": "1.2.3"
    },
    {
      "type": "library",
      "name": "certifi",
      "version": "2021.10.8"
    },
    {
      "type": "library",
      "name": "charset-normalizer",
      "version": "2.0.10"
    },
    {
      "type": "library",
      "name": "idna",
      "version": "3.3"
    },
    {
      "type": "library",
      "name": "pip",
      "version": "21.3.1"
    },
    {
      "type": "library",
      "name": "requests",
      "version": "2.27.1"
    },
    {
      "type": "library",
      "name": "setuptools",
      "version": "57.4.0"
    },
    {
      "type": "library",
      "name": "six",
      "version": "1.16.0"
    },
    {
      "type": "library",
      "name": "urllib3",
      "version": "1.26.8"
    },
    {
      "type": "library",
      "name": "wheel",
      "version": "0.37.1"
    },
    {
      "type": "library",
      "name": "pyyaml",
      "version": "5.3"
    },
    {
      "type": "library",
      "name": "cyclonedx-python-lib",
      "version": "1.1.0"
    },
    {
      "type": "library",
      "name": "toml",
      "version": "0.10.2"
    },
    {
      "type": "library",
      "name": "types-toml",
      "version": "0.10.3"
    },
    {
      "type": "library",
      "name": "packageurl-python",
      "version": "0.9.6"
    },
    {
      "type": "library",
      "name": "types-setuptools",
      "version": "57.4.7"
    },
    {
      "type": "library",
      "name": "setuptools",
      "version": "60.5.0"
    }
  ],
  "vulnerabilities": [
    {
      "id": "PYSEC-2020-96",
      "description": "A vulnerability was discovered in the PyYAML library in versions before 5.3.1, where it is susceptible to arbitrary code execution when it processes untrusted YAML files through the full_load method or with the FullLoader loader. Applications that use the library to process untrusted input may be vulnerable to this flaw. An attacker could use this flaw to execute arbitrary code on the system by abusing the python/object/new constructor.",
      "recommendation": "Upgrade"
    },
    {
      "id": "PYSEC-2021-142",
      "description": "A vulnerability was discovered in the PyYAML library in versions before 5.4, where it is susceptible to arbitrary code execution when it processes untrusted YAML files through the full_load method or with the FullLoader loader. Applications that use the library to process untrusted input may be vulnerable to this flaw. This flaw allows an attacker to execute arbitrary code on the system by abusing the python/object/new constructor. This flaw is due to an incomplete fix for CVE-2020-1747.",
      "recommendation": "Upgrade"
    }
  ]
}

@woodruffw
Copy link
Member

cc @di: Should we consider this a breaking change? It changes the inner structure of the cyclonedx-json and cyclonedx-xml formats, but not the envelopes (both are still valid JSON and XML, which is all we really guarantee at the pip-audit level).

setup.py Outdated Show resolved Hide resolved
Co-authored-by: Dustin Ingram <[email protected]>
@woodruffw woodruffw self-assigned this Jan 13, 2022
@woodruffw woodruffw requested a review from di January 13, 2022 18:04
@di
Copy link
Member

di commented Jan 13, 2022

Should we consider this a breaking change?
I don't think that's necessary, IMO our contract is just that we produce a valid SBOM format.

@woodruffw woodruffw merged commit 5c6a41c into main Jan 13, 2022
@woodruffw woodruffw deleted the dependabot/pip/cyclonedx-python-lib-gte-0.11.1-and-lt-2.0.0 branch January 13, 2022 18:27
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Feb 20, 2022
### Added

* CLI: The `--fix` flag has been added, allowing users to attempt to
  automatically upgrade any vulnerable dependencies to the first safe version
  available ([#212](pypa/pip-audit#212),
  [#222](pypa/pip-audit#222))

* CLI: The combination of `--fix` and `--dry-run` is now supported, causing
  `pip-audit` to perform the auditing step but not any resulting fix steps
  ([#223](pypa/pip-audit#223))

* CLI: The `--require-hashes` flag has been added which can be used in
  conjunction with `-r` to check that all requirements in the file have an
  associated hash ([#229](pypa/pip-audit#229))

* CLI: The `--index-url` flag has been added, allowing users to use custom
  package indices when running with the `-r` flag
  ([#238](pypa/pip-audit#238))

* CLI: The `--extra-index-url` flag has been added, allowing users to use
  multiple package indices when running with the `-r` flag
  ([#238](pypa/pip-audit#238))

### Changed

* `pip-audit`'s minimum Python version is now 3.7.

* CLI: The default output format is now correctly pluralized
  ([#221](pypa/pip-audit#221))

* Output formats: The SBOM output formats (`--format=cyclonedx-xml` and
  `--format=cyclonedx-json`) now use CycloneDX
  [Schema 1.4](https://cyclonedx.org/docs/1.4/xml/)
  ([#216](pypa/pip-audit#216))

* Vulnerability sources: When using PyPI as a vulnerability service, any hashes
  provided in a requirements file are checked against those reported by PyPI
  ([#229](pypa/pip-audit#229))

* Vulnerability sources: `pip-audit` now uniques each result based on its
  alias set, reducing the amount of duplicate information in the default
  columnar output format
  ([#232](pypa/pip-audit#232))

* CLI: `pip-audit` now prints its output more frequently, including when
  there are no discovered vulnerabilities but packages were skipped.
  Similarly, "manifest" output formats (JSON, CycloneDX) are now emitted
  unconditionally
  ([#240](pypa/pip-audit#240))

### Fixed

* CLI: A regression causing excess output during `pip audit -r`
  was fixed ([#226](pypa/pip-audit#226))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:output-formats Supported output formats dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CycloneDX output does not carry the same vulnerability info
2 participants