{"id":34080381,"url":"https://github.com/sthagen/csaf-lint","last_synced_at":"2026-04-07T06:31:32.639Z","repository":{"id":44344258,"uuid":"345283410","full_name":"sthagen/csaf-lint","owner":"sthagen","description":"Experimental CSAF envelope and body profile validator.","archived":false,"fork":false,"pushed_at":"2026-04-04T10:43:39.000Z","size":5280,"stargazers_count":3,"open_issues_count":19,"forks_count":0,"subscribers_count":1,"default_branch":"default","last_synced_at":"2026-04-04T11:29:39.707Z","etag":null,"topics":["body","csaf","cvrf","envelope","lint","profile"],"latest_commit_sha":null,"homepage":"https://codes.dilettant.life/docs/csaf-lint/","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sthagen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":"SUPPORT.md","governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-03-07T07:20:23.000Z","updated_at":"2026-04-04T10:43:43.000Z","dependencies_parsed_at":"2023-09-25T23:12:51.273Z","dependency_job_id":"70276463-d2cc-4868-b299-b71223a58aaf","html_url":"https://github.com/sthagen/csaf-lint","commit_stats":{"total_commits":816,"total_committers":2,"mean_commits":408.0,"dds":0.002450980392156854,"last_synced_commit":"7a30738429eb43ca276e823959a3ea851cf1fb24"},"previous_names":["sthagen/fluffy-funicular"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/sthagen/csaf-lint","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sthagen%2Fcsaf-lint","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sthagen%2Fcsaf-lint/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sthagen%2Fcsaf-lint/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sthagen%2Fcsaf-lint/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sthagen","download_url":"https://codeload.github.com/sthagen/csaf-lint/tar.gz/refs/heads/default","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sthagen%2Fcsaf-lint/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31503381,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-07T03:10:19.677Z","status":"ssl_error","status_checked_at":"2026-04-07T03:10:13.982Z","response_time":105,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["body","csaf","cvrf","envelope","lint","profile"],"created_at":"2025-12-14T11:58:53.173Z","updated_at":"2026-04-07T06:31:32.634Z","avatar_url":"https://github.com/sthagen.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CSAF Lint\n\nExperimental CSAF envelope and body profile validator.\n\n[![License](https://git.sr.ht/~sthagen/csaf-lint/blob/default/docs/badges/license-spdx-mit.svg)](https://git.sr.ht/~sthagen/csaf-lint/tree/default/item/LICENSE)\n[![Country of Origin](https://git.sr.ht/~sthagen/csaf-lint/blob/default/docs/badges/country-of-origin-name-switzerland-neutral.svg)](https://git.sr.ht/~sthagen/csaf-lint/tree/default/item/COUNTRY-OF-ORIGIN)\n[![Export Classification Control Number (ECCN)](https://git.sr.ht/~sthagen/csaf-lint/blob/default/docs/badges/export-control-classification-number_eccn-ear99-neutral.svg)](https://git.sr.ht/~sthagen/csaf-lint/tree/default/item/EXPORT-CONTROL-CLASSIFICATION-NUMBER)\n[![Configuration](https://git.sr.ht/~sthagen/csaf-lint/blob/default/docs/badges/configuration-sbom.svg)](https://git.sr.ht/~sthagen/csaf-lint/tree/default/item/docs/third-party/README.md)\n\n[![Version](https://git.sr.ht/~sthagen/csaf-lint/blob/default/docs/badges/latest-release.svg)](https://pypi.python.org/pypi/csaf-lint/)\n[![Downloads](https://git.sr.ht/~sthagen/csaf-lint/blob/default/docs/badges/downloads-per-month.svg)](https://pepy.tech/project/csaf-lint)\n[![Python](https://git.sr.ht/~sthagen/csaf-lint/blob/default/docs/badges/python-versions.svg)](https://pypi.python.org/pypi/csaf-lint/)\n[![Maintenance Status](https://git.sr.ht/~sthagen/csaf-lint/blob/default/docs/badges/commits-per-year.svg)](https://git.sr.ht/~sthagen/csaf-lint/log)\n\nIn short: The current version of the `csaf-lint` validates documents in various\nCommon Security Advisory Framework (CSAF) formats against built-in or user custom schema files.\n\nThe supported  versions are:\n\n* CSAF 2.0 (default is now the 2021.03.23 editor version)\n* CSAF 1.2 (aka CVRF 1.2)\n* CSAF 1.1 (aka CVRF 1.1)\n\n## Caveat Emptor\n\n1. Expect changes to the CSAF v2.0 support because the underlying OASIS specification\nis undergoing development by the members of the OASIS technical committee.\n   This may lead to breaking changes until the standard is published on\ncommittee specification level.\n   The current supported draft JSON Schema versions are from 2021-03-23, 2021-03-19, and 2021-03-07.\n2. The previous versions namely CVRF 1.1 and 1.2 were in XML format.\n3. The current version CSAF 2.0-candidates are in JSON Schema format.\n\nAvailable on [PyPI as csaf-lint](https://pypi.org/project/csaf-lint/)\n\n## Installing\n\nRecommended installation of current experimental package:\n\n```console\n❯ python -m pipx install csaf-lint\n```\n\n## Bug Tracker\n\nAny feature requests or bug reports shall go to the [todos of csaf-lint](https://todo.sr.ht/~sthagen/csaf-lint).\n\n## Primary Source repository\n\nThe main source of `csaf-lint` is on a mountain in central Switzerland.\nWe use distributed version control (git).\nThere is no central hub.\nEvery clone can become a new source for the benefit of all.\nThe preferred public clone of `csaf-lint` is:\n\n* [at sourcehut](https://git.sr.ht/~sthagen/csaf-lint) - a collection of tools useful for software development.\n\n## Contributions\n\nPlease do not submit \"pull requests\".\nIf you like to share small changes under the repositories license please kindly do so by sending a patchset.\nYou can either send such a patchset per email using [git send-email](https://git-send-email.io) or \nif you are a sourcehut user by selecting \"Prepare a patchset\" on the summary page of your fork at [sourcehut](https://git.sr.ht/).\n\n## Support\n\nPlease kindly submit issues at https://todo.sr.ht/~sthagen/csaf-lint or write plain text email to ~sthagen/csaf-lint@lists.sr.ht to submit patches and request support. Thanks.\n\n## Status\n\nExperimental.\n\n**Note**: The default branch is `default`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsthagen%2Fcsaf-lint","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsthagen%2Fcsaf-lint","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsthagen%2Fcsaf-lint/lists"}