{"id":371694,"url":"https://github.com/tlsfuzzer/python-ecdsa","last_synced_at":"2026-08-25T14:02:50.378Z","repository":{"id":875128,"uuid":"617112","full_name":"tlsfuzzer/python-ecdsa","owner":"tlsfuzzer","description":"pure-python ECDSA signature/verification and ECDH key agreement","archived":false,"fork":false,"pushed_at":"2026-06-08T08:43:37.000Z","size":1040,"stargazers_count":974,"open_issues_count":20,"forks_count":342,"subscribers_count":49,"default_branch":"master","last_synced_at":"2026-08-14T10:53:58.408Z","etag":null,"topics":["cryptography","digital-signatures","ecdh","ecdsa","elliptic-curves","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tlsfuzzer.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"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":"2010-04-19T02:22:17.000Z","updated_at":"2026-08-12T09:00:38.000Z","dependencies_parsed_at":"2026-08-10T11:03:04.677Z","dependency_job_id":null,"html_url":"https://github.com/tlsfuzzer/python-ecdsa","commit_stats":{"total_commits":517,"total_committers":50,"mean_commits":10.34,"dds":0.5570599613152805,"last_synced_commit":"eed49e25683d656ba211a8cd97bf93da34450cf5"},"previous_names":["warner/python-ecdsa"],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlsfuzzer","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/sbom","scorecard":{"id":889507,"data":{"date":"2025-08-11","repo":{"name":"github.com/tlsfuzzer/python-ecdsa","commit":"2a6593d840ad153a16ebdd4f9b772b290494f3e3"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.6,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":4,"reason":"Found 5/11 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:16","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:17","Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/codeql.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:116: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:173: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:327: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:361: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:410: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:415: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:475: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:480: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:486: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:524: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:529: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:535: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:541: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:547: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:553: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:559: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:565: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:571: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:577: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:583: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:589: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:595: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:601: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:607: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:613: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:619: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:625: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:631: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:637: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:643: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:668: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:678: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/codeql.yml/master?enable=pin","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:206","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:206","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:206","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:206","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:214","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:217","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:223","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:257","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:264","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:266","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:271","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:272","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:395","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:422","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:423","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:495","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:497","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:498","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:499","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:650","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:651","Info:   0 out of  35 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   4 downloadThenRun dependencies pinned","Info:   1 out of  18 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":9,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 26 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-24T11:15:33.540Z","repository_id":875128,"created_at":"2025-08-24T11:15:33.540Z","updated_at":"2025-08-24T11:15:33.540Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36646944,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-14T02:00:06.934Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"}},"owner":{"login":"tlsfuzzer","name":"tlsfuzzer","uuid":"74566338","kind":"organization","description":"tlsfuzzer and related libraries useful for testing cryptographic implementations","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/74566338?v=4","repositories_count":3,"last_synced_at":"2024-03-25T19:59:02.494Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/tlsfuzzer","funding_links":[],"total_stars":1626,"followers":11,"following":0,"created_at":"2022-11-02T16:22:53.610Z","updated_at":"2024-03-25T19:59:03.543Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlsfuzzer","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlsfuzzer/repositories"},"packages":[{"id":2719981,"name":"ecdsa","ecosystem":"pypi","description":"ECDSA cryptographic signature library (pure python)","homepage":"http://github.com/tlsfuzzer/python-ecdsa","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/tlsfuzzer/python-ecdsa","keywords_array":[],"namespace":null,"versions_count":23,"first_release_published_at":"2010-10-16T02:50:08.000Z","latest_release_published_at":"2026-03-26T09:58:15.000Z","latest_release_number":"0.19.2","last_synced_at":"2026-08-24T13:35:23.236Z","created_at":"2022-04-10T10:51:23.126Z","updated_at":"2026-08-24T13:35:23.237Z","registry_url":"https://pypi.org/project/ecdsa/","install_command":"pip install ecdsa --index-url https://pypi.org/simple","documentation_url":"https://ecdsa.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Programming Language :: Python","Programming Language :: Python :: 2","Programming Language :: Python :: 2.6","Programming Language :: Python :: 2.7","Programming Language :: Python :: 3","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.6","Programming Language :: Python :: 3.7","Programming Language :: Python :: 3.8","Programming Language :: Python :: 3.9"],"normalized_name":"ecdsa","project_status":null},"repo_metadata":{"id":875128,"uuid":"617112","full_name":"tlsfuzzer/python-ecdsa","owner":"tlsfuzzer","description":"pure-python ECDSA signature/verification and ECDH key agreement","archived":false,"fork":false,"pushed_at":"2026-06-08T08:43:37.000Z","size":1040,"stargazers_count":974,"open_issues_count":20,"forks_count":342,"subscribers_count":49,"default_branch":"master","last_synced_at":"2026-08-14T10:53:58.408Z","etag":null,"topics":["cryptography","digital-signatures","ecdh","ecdsa","elliptic-curves","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tlsfuzzer.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"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":"2010-04-19T02:22:17.000Z","updated_at":"2026-08-12T09:00:38.000Z","dependencies_parsed_at":"2026-08-10T11:03:04.677Z","dependency_job_id":null,"html_url":"https://github.com/tlsfuzzer/python-ecdsa","commit_stats":{"total_commits":517,"total_committers":50,"mean_commits":10.34,"dds":0.5570599613152805,"last_synced_commit":"eed49e25683d656ba211a8cd97bf93da34450cf5"},"previous_names":["warner/python-ecdsa"],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlsfuzzer","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/sbom","scorecard":{"id":889507,"data":{"date":"2025-08-11","repo":{"name":"github.com/tlsfuzzer/python-ecdsa","commit":"2a6593d840ad153a16ebdd4f9b772b290494f3e3"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.6,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":4,"reason":"Found 5/11 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:16","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:17","Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/codeql.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:116: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:173: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:327: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:361: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:410: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:415: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:475: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:480: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:486: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:524: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:529: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:535: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:541: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:547: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:553: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:559: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:565: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:571: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:577: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:583: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:589: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:595: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:601: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:607: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:613: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:619: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:625: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:631: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:637: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:643: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:668: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:678: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/codeql.yml/master?enable=pin","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:206","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:206","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:206","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:206","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:214","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:217","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:223","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:257","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:264","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:266","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:271","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:272","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:395","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:422","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:423","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:495","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:497","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:498","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:499","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:650","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:651","Info:   0 out of  35 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   4 downloadThenRun dependencies pinned","Info:   1 out of  18 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":9,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 26 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-24T11:15:33.540Z","repository_id":875128,"created_at":"2025-08-24T11:15:33.540Z","updated_at":"2025-08-24T11:15:33.540Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36646944,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"online","status_checked_at":"2026-08-14T02:00:06.934Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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"},"owner_record":{"login":"tlsfuzzer","name":"tlsfuzzer","uuid":"74566338","kind":"organization","description":"tlsfuzzer and related libraries useful for testing cryptographic implementations","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/74566338?v=4","repositories_count":3,"last_synced_at":"2024-03-25T19:59:02.494Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/tlsfuzzer","funding_links":[],"total_stars":1626,"followers":11,"following":0,"created_at":"2022-11-02T16:22:53.610Z","updated_at":"2024-03-25T19:59:03.543Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlsfuzzer","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlsfuzzer/repositories"},"tags":[{"name":"python-ecdsa-0.19.2","sha":"bd66899550d7185939bf27b75713a2ac9325a9d3","kind":"commit","published_at":"2026-03-26T09:50:34.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.19.2","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.19.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.19.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.19.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.19.2/manifests"},{"name":"python-ecdsa-0.19.1","sha":"2a6593d840ad153a16ebdd4f9b772b290494f3e3","kind":"commit","published_at":"2025-03-13T11:48:15.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.19.1","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.19.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.19.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.19.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.19.1/manifests"},{"name":"python-ecdsa-0.19.0","sha":"be70016f8911f79e891a65dcfcb602e5ba866ed3","kind":"commit","published_at":"2024-04-08T18:59:55.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.19.0","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.19.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.19.0/manifests"},{"name":"python-ecdsa-0.18.0","sha":"341e0d8be9fedf66fbc9a95630b4ed2138343380","kind":"commit","published_at":"2022-07-09T12:49:17.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.18.0","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.18.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.18.0/manifests"},{"name":"python-ecdsa-0.18.0b2","sha":"5f93d9d0c49f924fb33aee046c272859dd02eddd","kind":"commit","published_at":"2022-01-05T17:32:04.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.18.0b2","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.18.0b2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.18.0b2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.18.0b2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.18.0b2/manifests"},{"name":"python-ecdsa-0.18.0b1","sha":"c8802e5c4f20557b674ef3d724985d40b5ff0537","kind":"commit","published_at":"2021-08-03T12:09:39.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.18.0b1","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.18.0b1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.18.0b1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.18.0b1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.18.0b1/manifests"},{"name":"python-ecdsa-0.17.0","sha":"5aa87c52c25a476f691b570be3577ff71cd01982","kind":"commit","published_at":"2021-05-27T18:07:15.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.17.0","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.17.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.17.0/manifests"},{"name":"python-ecdsa-0.16.1","sha":"9d5a727c766773b8367f6dd0a49bbda21c18dbe7","kind":"commit","published_at":"2020-11-12T19:12:49.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.16.1","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.16.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.16.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.16.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.16.1/manifests"},{"name":"python-ecdsa-0.16.0","sha":"f27b20ff2a67c6b1afe473dd347c8da5c4017e34","kind":"commit","published_at":"2020-08-27T14:41:17.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.16.0","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.16.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.16.0/manifests"},{"name":"python-ecdsa-0.15","sha":"93b04ba3ddb7c2716e07761393a179c061718c34","kind":"commit","published_at":"2020-01-02T16:05:04.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.15","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.15","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.15","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.15/manifests"},{"name":"python-ecdsa-0.14.1","sha":"c3136e4250e7e2c53191acccbff8a936479536af","kind":"commit","published_at":"2019-11-06T21:45:35.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.14.1","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.14.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.14.1/manifests"},{"name":"python-ecdsa-0.14","sha":"84dbe0dc1a545c6680a1e7dae43a647032c78b5b","kind":"commit","published_at":"2019-11-06T19:03:05.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.14","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.14","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.14","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.14/manifests"},{"name":"python-ecdsa-0.13.3","sha":"7add2213c992f51267eed8288b560f3f4108a28d","kind":"commit","published_at":"2019-10-07T13:58:12.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.13.3","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.13.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.13.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13.3/manifests"},{"name":"python-ecdsa-0.13.2","sha":"bb359d32e93acc3eb4d216aff4ba0e7531599cfb","kind":"commit","published_at":"2019-04-17T19:32:58.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.13.2","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.13.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.13.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13.2/manifests"},{"name":"python-ecdsa-0.13.1","sha":"7221f8b71435d69c1c204927de156cc5f7748df7","kind":"commit","published_at":"2019-04-17T13:56:14.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.13.1","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.13.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13.1/manifests"},{"name":"python-ecdsa-0.13","sha":"5a6fc047222cf21ad89f6cbf8782d0f1e3ddacda","kind":"commit","published_at":"2015-02-07T18:19:14.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.13","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.13","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.13","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13/manifests"},{"name":"python-ecdsa-0.12","sha":"2d6792b7780d8b0c5dfb1283cbe012e57a0d06c9","kind":"commit","published_at":"2015-02-06T21:33:14.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.12","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.12","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.12","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.12/manifests"},{"name":"python-ecdsa-0.11","sha":"36e9cfa80fcf8b53119adc787e54a5892ec1eb2c","kind":"commit","published_at":"2014-03-10T22:51:15.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.11","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.11/manifests"},{"name":"python-ecdsa-0.10","sha":"3a15318fd9c2ab6bb558cbddb67fbf1757bd3766","kind":"commit","published_at":"2013-10-23T18:35:46.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.10","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.10/manifests"},{"name":"python-ecdsa-0.9","sha":"892362dde5b36c170bbb65faae059bd8fb51a90f","kind":"commit","published_at":"2013-10-02T00:04:38.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.9","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.9/manifests"},{"name":"python-ecdsa-0.8","sha":"f03abf93968019758c6e00753d1b34b87fecd27e","kind":"commit","published_at":"2011-10-04T22:49:25.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.8","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.8/manifests"},{"name":"python-ecdsa-0.7","sha":"8a9cdf063f035e2950a9131dfa6712d69bc5f09d","kind":"commit","published_at":"2010-11-28T19:46:59.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.7","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.7/manifests"},{"name":"python-ecdsa-0.6","sha":"15c2c57a279336b33d2dea1067a0e216cdd142e3","kind":"commit","published_at":"2010-10-16T00:46:52.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.6","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.6/manifests"},{"name":"python-ecdsa-0.5","sha":"d492d94f3ca88d63a4f384f333a1450adb322304","kind":"tag","published_at":"2010-04-27T19:06:38.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.5","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.5/manifests"}]},"repo_metadata_updated_at":"2026-08-22T02:54:06.565Z","dependent_packages_count":252,"downloads":57792998,"downloads_period":"last-month","dependent_repos_count":15243,"rankings":{"downloads":0.09922317916589406,"dependent_repos_count":0.0702255502645294,"dependent_packages_count":0.10633890346637205,"stargazers_count":2.1274791000082853,"forks_count":2.8806933555400756,"docker_downloads_count":0.06075693674571644,"average":0.8907861708651454},"purl":"pkg:pypi/ecdsa","advisories":[{"uuid":"GSA_kwCzR0hTQS05ZjVqLThqd2oteDI4Z84ABUYT","url":"https://github.com/advisories/GHSA-9f5j-8jwj-x28g","title":"python-ecdsa: Denial of Service via improper DER length validation in crafted private keys","description":"## Summary\n\nAn issue in the low-level DER parsing functions can cause unexpected exceptions to be raised from the public API functions.\n\n1. `ecdsa.der.remove_octet_string()` accepts truncated DER where the encoded length exceeds the available buffer. For example, an OCTET STRING that declares a length of 4096 bytes but provides only 3 bytes is parsed successfully instead of being rejected.\n\n2. Because of that, a crafted DER input can cause `SigningKey.from_der()` to raise an internal exception (`IndexError: index out of bounds on dimension 1`) rather than cleanly rejecting malformed DER (e.g., raising `UnexpectedDER` or `ValueError`). Applications that parse untrusted DER private keys may crash if they do not handle unexpected exceptions, resulting in a denial of service.\n\n## Impact\n\nPotential denial-of-service when parsing untrusted DER private keys due to unexpected internal exceptions, and malformed DER acceptance due to missing bounds checks in DER helper functions.\n\n## Reproduction\n\nAttach and run the following PoCs:\n\n###  poc_truncated_der_octet.py\n\n```python\nfrom ecdsa.der import remove_octet_string, UnexpectedDER\n\n# OCTET STRING (0x04)\n# Declared length: 0x82 0x10 0x00  -\u003e 4096 bytes\n# Actual body: only 3 bytes -\u003e truncated DER\nbad = b\"\\x04\\x82\\x10\\x00\" + b\"ABC\"\n\ntry:\n    body, rest = remove_octet_string(bad)\n    print(\"[BUG] remove_octet_string accepted truncated DER.\")\n    print(\"Declared length=4096, actual body_len=\", len(body), \"rest_len=\", len(rest))\n    print(\"Body=\", body)\n    print(\"Rest=\", rest)\nexcept UnexpectedDER as e:\n    print(\"[OK] Rejected malformed DER:\", e)\n```\n\n- Expected: reject malformed DER when declared length exceeds available bytes\n- Actual: accepts the truncated DER and returns a shorter body\n- Example output:\n```\nParsed body_len= 3 rest_len= 0 (while declared length is 4096)\n```\n\n### poc_signingkey_from_der_indexerror.py\n\n```python\nfrom ecdsa import SigningKey, NIST256p\nimport ecdsa\n\nprint(\"ecdsa version:\", ecdsa.__version__)\n\nsk = SigningKey.generate(curve=NIST256p)\ngood = sk.to_der()\nprint(\"Good DER len:\", len(good))\n\n\ndef find_crashing_mutation(data: bytes):\n    b = bytearray(data)\n\n    # Try every OCTET STRING tag position and corrupt a short-form length byte\n    for i in range(len(b) - 4):\n        if b[i] != 0x04:  # OCTET STRING tag\n            continue\n\n        L = b[i + 1]\n        if L \u003e= 0x80:\n            # skip long-form lengths for simplicity\n            continue\n\n        max_possible = len(b) - (i + 2)\n        if max_possible \u003c= 10:\n            continue\n\n        # Claim more bytes than exist -\u003e truncation\n        newL = min(0x7F, max_possible + 20)\n        b2 = bytearray(b)\n        b2[i + 1] = newL\n\n        try:\n            SigningKey.from_der(bytes(b2))\n        except Exception as e:\n            return i, type(e).__name__, str(e)\n\n    return None\n\n\nres = find_crashing_mutation(good)\nif res is None:\n    print(\"[INFO] No exception triggered by this mutation strategy.\")\nelse:\n    i, etype, msg = res\n    print(\"[BUG] SigningKey.from_der raised unexpected exception type.\")\n    print(\"Offset:\", i, \"Exception:\", etype, \"Message:\", msg)\n```\n\n- Expected: reject malformed DER with `UnexpectedDER` or `ValueError`\n- Actual: deterministically triggers an internal `IndexError` (DoS risk)\n- Example output:\n```\nResult: (5, 'IndexError', 'index out of bounds on dimension 1')\n```\n\n## Suggested fix\n\nAdd “declared length must fit buffer” checks in DER helper functions similarly to the existing check in `remove_sequence()`:\n\n- `remove_octet_string()`\n- `remove_constructed()`\n- `remove_implicit()`\n\nAdditionally, consider catching unexpected internal exceptions in DER key parsing paths and re-raising them as `UnexpectedDER` to avoid crashy failure modes.\n\n## Credit\n\nMohamed Abdelaal (@0xmrma)","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2026-03-27T15:56:01.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.3,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L","references":["https://github.com/tlsfuzzer/python-ecdsa/security/advisories/GHSA-9f5j-8jwj-x28g","https://github.com/tlsfuzzer/python-ecdsa/commit/bd66899550d7185939bf27b75713a2ac9325a9d3","https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.19.2","https://nvd.nist.gov/vuln/detail/CVE-2026-33936","https://github.com/advisories/GHSA-9f5j-8jwj-x28g"],"source_kind":"github","identifiers":["GHSA-9f5j-8jwj-x28g","CVE-2026-33936"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-03-27T16:00:09.743Z","updated_at":"2026-07-29T14:03:52.407Z","epss_percentage":0.00476,"epss_percentile":0.38527,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS05ZjVqLThqd2oteDI4Z84ABUYT","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS05ZjVqLThqd2oteDI4Z84ABUYT","packages":[{"ecosystem":"pypi","package_name":"ecdsa","versions":[{"first_patched_version":"0.19.2","vulnerable_version_range":"\u003c 0.19.2"}],"purl":"pkg:pypi/ecdsa"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS05ZjVqLThqd2oteDI4Z84ABUYT/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS13ajZoLTY0ZmMtMzdtcM4AA4nW","url":"https://github.com/advisories/GHSA-wj6h-64fc-37mp","title":"Minerva timing attack on P-256 in python-ecdsa","description":"python-ecdsa has been found to be subject to a Minerva timing attack on the P-256 curve. Using the `ecdsa.SigningKey.sign_digest()` API function and timing signatures an attacker can leak the internal nonce which may allow for private key discovery. Both ECDSA signatures, key generation, and ECDH operations are affected. ECDSA signature verification is unaffected. The python-ecdsa project considers side channel attacks out of scope for the project and there is no planned fix.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2024-01-22T21:35:27.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.4,"cvss_vector":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N","references":["https://github.com/tlsfuzzer/python-ecdsa/security/advisories/GHSA-wj6h-64fc-37mp","https://github.com/tlsfuzzer/python-ecdsa/blob/master/SECURITY.md","https://nvd.nist.gov/vuln/detail/CVE-2024-23342","https://minerva.crocs.fi.muni.cz","https://securitypitfalls.wordpress.com/2018/08/03/constant-time-compare-in-python","https://github.com/advisories/GHSA-wj6h-64fc-37mp"],"source_kind":"github","identifiers":["GHSA-wj6h-64fc-37mp","CVE-2024-23342"],"repository_url":"https://github.com/tlsfuzzer/python-ecdsa","blast_radius":0.0,"created_at":"2024-01-22T22:06:17.872Z","updated_at":"2026-08-20T13:05:02.526Z","epss_percentage":0.00985,"epss_percentile":0.59601,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS13ajZoLTY0ZmMtMzdtcM4AA4nW","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS13ajZoLTY0ZmMtMzdtcM4AA4nW","packages":[{"ecosystem":"pypi","package_name":"ecdsa","versions":[{"first_patched_version":null,"vulnerable_version_range":"\u003e= 0"}],"purl":"pkg:pypi/ecdsa"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS13ajZoLTY0ZmMtMzdtcM4AA4nW/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLThxeGotZjlyaC05Zmcy","url":"https://github.com/advisories/GHSA-8qxj-f9rh-9fg2","title":"Improper Verification of Cryptographic Signature in Pure-Python ECDSA","description":"A flaw was found in all python-ecdsa versions before 0.13.3, where it did not correctly verify whether signatures used DER encoding. Without this verification, a malformed signature could be accepted, making the signature malleable. Without proper verification, an attacker could use a malleable signature to create false transactions.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2020-04-01T16:35:26.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.3,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N","references":["https://nvd.nist.gov/vuln/detail/CVE-2019-14859","https://github.com/warner/python-ecdsa/issues/114","https://github.com/warner/python-ecdsa/pull/115","https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-14859","https://github.com/warner/python-ecdsa/releases/tag/python-ecdsa-0.13.3","https://github.com/tlsfuzzer/python-ecdsa/commit/3427fa29f319b27898a28601955807abb44c0830","https://github.com/tlsfuzzer/python-ecdsa/commit/9080d1d5ac533da0de00466aaffb49bee808bb4e","https://github.com/tlsfuzzer/python-ecdsa/commit/b0ea52bb3aa9a16c9a4a91fdc0041edbfed10b31","https://github.com/advisories/GHSA-8qxj-f9rh-9fg2","https://github.com/pypa/advisory-database/tree/main/vulns/ecdsa/PYSEC-2020-163.yaml","https://pypi.org/project/ecdsa/0.13.3"],"source_kind":"github","identifiers":["GHSA-8qxj-f9rh-9fg2","CVE-2019-14859"],"repository_url":"https://github.com/warner/python-ecdsa","blast_radius":38.90255518155861,"created_at":"2022-12-21T16:12:32.659Z","updated_at":"2026-08-17T16:18:30.874Z","epss_percentage":0.01534,"epss_percentile":0.72657,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLThxeGotZjlyaC05Zmcy","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLThxeGotZjlyaC05Zmcy","packages":[{"ecosystem":"pypi","package_name":"ecdsa","versions":[{"first_patched_version":"0.13.3","vulnerable_version_range":"\u003c 0.13.3"}],"purl":"pkg:pypi/ecdsa"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLThxeGotZjlyaC05Zmcy/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTJtcmotNDM1di1jMmNy","url":"https://github.com/advisories/GHSA-2mrj-435v-c2cr","title":"Duplicate Advisory: possible DoS caused by malformed signature decoding in Pure-Python ECDSA","description":"## Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-pwfw-mgfj-7g3g. This link is maintained to preserve external references.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2019-12-02T18:15:31.000Z","withdrawn_at":"2020-06-16T20:15:24.000Z","classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://nvd.nist.gov/vuln/detail/CVE-2019-14853","https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-14853","https://github.com/warner/python-ecdsa/releases/tag/python-ecdsa-0.13.3","https://seclists.org/bugtraq/2019/Dec/33","https://www.debian.org/security/2019/dsa-4588","https://github.com/advisories/GHSA-2mrj-435v-c2cr","https://github.com/advisories/GHSA-pwfw-mgfj-7g3g","https://github.com/pypa/advisory-database/tree/main/vulns/ecdsa/PYSEC-2019-177.yaml"],"source_kind":"github","identifiers":["GHSA-2mrj-435v-c2cr"],"repository_url":"https://github.com/warner/python-ecdsa","blast_radius":0.0,"created_at":"2022-12-21T16:13:27.022Z","updated_at":"2026-04-05T20:04:12.863Z","epss_percentage":null,"epss_percentile":null,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTJtcmotNDM1di1jMmNy","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTJtcmotNDM1di1jMmNy","packages":[{"ecosystem":"pypi","package_name":"ecdsa","versions":[{"first_patched_version":"0.13.3","vulnerable_version_range":"\u003c 0.13.3"}],"purl":"pkg:pypi/ecdsa"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLTJtcmotNDM1di1jMmNy/related_packages","related_advisories":[]},{"uuid":"MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXB3ZnctbWdmai03ZzNn","url":"https://github.com/advisories/GHSA-pwfw-mgfj-7g3g","title":"ecdsa Denial of Service vulnerability in signature verification and signature malleability","description":"## possible DoS in signature verification and signature malleability \n\n### Impact\nCode using `VerifyingKey.verify()` and `VerifyingKey.verify_digest()` may receive exceptions other than the documented `BadSignatureError` when signatures are malformed. If those other exceptions are not caught, they may lead to program termination and thus Denial of Service\n\nCode using `VerifyingKey.verify()` and `VerifyingKey.verify_digest()` with `sigdecode` option using `ecdsa.util.sigdecode_der` will accept signatures even if they are not properly formatted DER. This makes the signatures malleable. It impacts only applications that later sign the signatures or verify signatures of signatures, e.g. Bitcoin.\n\nAll versions between 0.5 and 0.13.2 (inclusive) are thought to be vulnerable. Code before 0.5 may be vulnerable but didn't receive extended analysis to rule this issue out.\n\n### Patches\nThe patches have been merged to `master` branch in https://github.com/warner/python-ecdsa/pull/115.\nThe backported patches for a release in the 0.13 branch are in https://github.com/warner/python-ecdsa/pull/124\n\nThey are part of the 0.13.3 release.\n\nThere are no plans to backport them to earlier releases.\n\n### Workarounds\nIt may be possible to prevent the Denial of Service by catching also `UnexpectedDER`, `IndexError` and `AssertionError` exceptions. That list hasn't been verified to be complete though. If those exceptions are raised, the signature verification process should consider the signature to be invalid.\n\nTo remediate signature malleability and the Denial of Service vulnerability, it may be possible to first verify that the signature is properly DER formatted ECDSA-Sig-Value, as defined in [RFC3279](https://tools.ietf.org/html/rfc3279), before passing it to `verify()` or `verify_digest()` methods. If the signature is determined to not follow the DER or encode a different structure, the signature verification process should consider the signature to be invalid.\n\n### References\nhttps://en.bitcoinwiki.org/wiki/Transaction_Malleability\n\n### For more information\nIf you have any questions or comments about this advisory please open an issue in [python-ecdsa](https://github.com/warner/python-ecdsa/issues) project.\n","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2019-10-08T16:30:17.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.7,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","references":["https://github.com/warner/python-ecdsa/security/advisories/GHSA-pwfw-mgfj-7g3g","https://nvd.nist.gov/vuln/detail/CVE-2019-14853","https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2019-14853","https://github.com/pypa/advisory-database/tree/main/vulns/ecdsa/PYSEC-2019-177.yaml","https://github.com/warner/python-ecdsa/releases/tag/python-ecdsa-0.13.3","https://seclists.org/bugtraq/2019/Dec/33","https://www.debian.org/security/2019/dsa-4588","https://github.com/advisories/GHSA-pwfw-mgfj-7g3g"],"source_kind":"github","identifiers":["GHSA-pwfw-mgfj-7g3g","CVE-2019-14853"],"repository_url":"https://github.com/warner/python-ecdsa","blast_radius":36.392712911780634,"created_at":"2022-12-21T16:13:27.784Z","updated_at":"2026-08-17T16:19:07.112Z","epss_percentage":0.02407,"epss_percentile":0.82669,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXB3ZnctbWdmai03ZzNn","html_url":"https://advisories.ecosyste.ms/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXB3ZnctbWdmai03ZzNn","packages":[{"ecosystem":"pypi","package_name":"ecdsa","versions":[{"first_patched_version":"0.13.3","vulnerable_version_range":"\u003c 0.13.3"}],"purl":"pkg:pypi/ecdsa"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/MDE2OlNlY3VyaXR5QWR2aXNvcnlHSFNBLXB3ZnctbWdmai03ZzNn/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/ecdsa","docker_dependents_count":1134,"docker_downloads_count":1065189455,"usage_url":"https://repos.ecosyste.ms/usage/pypi/ecdsa","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/ecdsa/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-08-21T12:02:02.511Z","issues_count":68,"pull_requests_count":104,"avg_time_to_close_issue":7201151.82,"avg_time_to_close_pull_request":4140722.744680851,"issues_closed_count":50,"pull_requests_closed_count":94,"pull_request_authors_count":20,"issue_authors_count":48,"avg_comments_per_issue":1.6764705882352942,"avg_comments_per_pull_request":0.9519230769230769,"merged_pull_requests_count":86,"bot_issues_count":0,"bot_pull_requests_count":1,"past_year_issues_count":5,"past_year_pull_requests_count":10,"past_year_avg_time_to_close_issue":184523.66666666666,"past_year_avg_time_to_close_pull_request":118979.0,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":0.8,"past_year_avg_comments_per_pull_request":0.8,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/issues","maintainers":[{"login":"tomato42","count":94,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tomato42"},{"login":"warner","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/warner"}],"active_maintainers":[{"login":"tomato42","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tomato42"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ecdsa/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ecdsa/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ecdsa/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ecdsa/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ecdsa/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/ecdsa/codemeta","maintainers":[{"uuid":"warner","login":"warner","name":null,"email":null,"url":null,"packages_count":17,"html_url":"https://pypi.org/user/warner/","role":null,"created_at":"2023-01-05T19:26:13.210Z","updated_at":"2023-01-05T19:26:13.210Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/warner/packages"},{"uuid":"tomato","login":"tomato","name":null,"email":null,"url":null,"packages_count":2,"html_url":"https://pypi.org/user/tomato/","role":null,"created_at":"2023-01-05T19:26:13.193Z","updated_at":"2023-01-05T19:26:13.193Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/tomato/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":930476,"maintainers_count":399697,"namespaces_count":0,"keywords_count":311773,"github":"pypi","metadata":{"funded_packages_count":58574,"rate_limit":2},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2026-08-24T05:05:47.334Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},{"id":14512148,"name":"dev-python/ecdsa","ecosystem":"gentoo","description":"ECDSA cryptographic signature library in pure Python","homepage":"https://github.com/tlsfuzzer/python-ecdsa/","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/tlsfuzzer/python-ecdsa","keywords_array":["amd64","arm","arm64","~hppa","~mips","ppc","ppc64","~riscv","~sparc","x86","~x64-macos"],"namespace":"dev-python","versions_count":1,"first_release_published_at":"2026-05-11T16:39:47.000Z","latest_release_published_at":"2026-05-11T16:39:47.000Z","latest_release_number":"0.19.2","last_synced_at":"2026-05-27T02:22:50.464Z","created_at":"2026-05-27T02:22:50.045Z","updated_at":"2026-08-14T12:49:59.726Z","registry_url":"https://packages.gentoo.org/packages/dev-python/ecdsa","install_command":"emerge dev-python/ecdsa","documentation_url":"https://packages.gentoo.org/packages/dev-python/ecdsa","metadata":{"category":"dev-python","slot":"0","eapi":"8","inherit":"distutils-r1 pypi","iuse":"test python_targets_pypy3_11 python_targets_python3_11 python_targets_python3_12 python_targets_python3_13 python_targets_python3_14"},"repo_metadata":{"id":875128,"uuid":"617112","full_name":"tlsfuzzer/python-ecdsa","owner":"tlsfuzzer","description":"pure-python ECDSA signature/verification and ECDH key agreement","archived":false,"fork":false,"pushed_at":"2026-06-08T08:43:37.000Z","size":1040,"stargazers_count":975,"open_issues_count":20,"forks_count":342,"subscribers_count":49,"default_branch":"master","last_synced_at":"2026-08-06T10:34:13.302Z","etag":null,"topics":["cryptography","digital-signatures","ecdh","ecdsa","elliptic-curves","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tlsfuzzer.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"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":"2010-04-19T02:22:17.000Z","updated_at":"2026-07-29T21:11:27.000Z","dependencies_parsed_at":"2024-01-15T23:03:13.356Z","dependency_job_id":"6fea50c4-05a2-478c-939c-253d6ba247c1","html_url":"https://github.com/tlsfuzzer/python-ecdsa","commit_stats":{"total_commits":517,"total_committers":50,"mean_commits":10.34,"dds":0.5570599613152805,"last_synced_commit":"eed49e25683d656ba211a8cd97bf93da34450cf5"},"previous_names":["warner/python-ecdsa"],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlsfuzzer","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/sbom","scorecard":{"id":889507,"data":{"date":"2025-08-11","repo":{"name":"github.com/tlsfuzzer/python-ecdsa","commit":"2a6593d840ad153a16ebdd4f9b772b290494f3e3"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.6,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":4,"reason":"Found 5/11 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:16","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:17","Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/codeql.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:116: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:173: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:327: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:361: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:410: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:415: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:475: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:480: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:486: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:524: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:529: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:535: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:541: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:547: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:553: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:559: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:565: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:571: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:577: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:583: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:589: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:595: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:601: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:607: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:613: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:619: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:625: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:631: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:637: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:643: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:668: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:678: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/codeql.yml/master?enable=pin","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:206","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:206","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:206","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:206","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:214","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:217","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:223","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:257","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:264","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:266","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:271","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:272","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:395","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:422","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:423","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:495","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:497","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:498","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:499","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:650","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:651","Info:   0 out of  35 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   4 downloadThenRun dependencies pinned","Info:   1 out of  18 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":9,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 26 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-24T11:15:33.540Z","repository_id":875128,"created_at":"2025-08-24T11:15:33.540Z","updated_at":"2025-08-24T11:15:33.540Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36345960,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"ssl_error","status_checked_at":"2026-08-06T04:43:02.660Z","response_time":54,"last_error":"SSL_read: 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"},"owner_record":{"login":"tlsfuzzer","name":"tlsfuzzer","uuid":"74566338","kind":"organization","description":"tlsfuzzer and related libraries useful for testing cryptographic implementations","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/74566338?v=4","repositories_count":3,"last_synced_at":"2024-03-25T19:59:02.494Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/tlsfuzzer","funding_links":[],"total_stars":1626,"followers":11,"following":0,"created_at":"2022-11-02T16:22:53.610Z","updated_at":"2024-03-25T19:59:03.543Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlsfuzzer","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlsfuzzer/repositories"},"tags":[{"name":"python-ecdsa-0.19.2","sha":"bd66899550d7185939bf27b75713a2ac9325a9d3","kind":"commit","published_at":"2026-03-26T09:50:34.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.19.2","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.19.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.19.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.19.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.19.2/manifests"},{"name":"python-ecdsa-0.19.1","sha":"2a6593d840ad153a16ebdd4f9b772b290494f3e3","kind":"commit","published_at":"2025-03-13T11:48:15.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.19.1","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.19.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.19.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.19.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.19.1/manifests"},{"name":"python-ecdsa-0.19.0","sha":"be70016f8911f79e891a65dcfcb602e5ba866ed3","kind":"commit","published_at":"2024-04-08T18:59:55.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.19.0","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.19.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.19.0/manifests"},{"name":"python-ecdsa-0.18.0","sha":"341e0d8be9fedf66fbc9a95630b4ed2138343380","kind":"commit","published_at":"2022-07-09T12:49:17.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.18.0","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.18.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.18.0/manifests"},{"name":"python-ecdsa-0.18.0b2","sha":"5f93d9d0c49f924fb33aee046c272859dd02eddd","kind":"commit","published_at":"2022-01-05T17:32:04.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.18.0b2","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.18.0b2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.18.0b2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.18.0b2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.18.0b2/manifests"},{"name":"python-ecdsa-0.18.0b1","sha":"c8802e5c4f20557b674ef3d724985d40b5ff0537","kind":"commit","published_at":"2021-08-03T12:09:39.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.18.0b1","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.18.0b1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.18.0b1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.18.0b1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.18.0b1/manifests"},{"name":"python-ecdsa-0.17.0","sha":"5aa87c52c25a476f691b570be3577ff71cd01982","kind":"commit","published_at":"2021-05-27T18:07:15.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.17.0","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.17.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.17.0/manifests"},{"name":"python-ecdsa-0.16.1","sha":"9d5a727c766773b8367f6dd0a49bbda21c18dbe7","kind":"commit","published_at":"2020-11-12T19:12:49.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.16.1","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.16.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.16.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.16.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.16.1/manifests"},{"name":"python-ecdsa-0.16.0","sha":"f27b20ff2a67c6b1afe473dd347c8da5c4017e34","kind":"commit","published_at":"2020-08-27T14:41:17.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.16.0","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.16.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.16.0/manifests"},{"name":"python-ecdsa-0.15","sha":"93b04ba3ddb7c2716e07761393a179c061718c34","kind":"commit","published_at":"2020-01-02T16:05:04.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.15","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.15","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.15","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.15/manifests"},{"name":"python-ecdsa-0.14.1","sha":"c3136e4250e7e2c53191acccbff8a936479536af","kind":"commit","published_at":"2019-11-06T21:45:35.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.14.1","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.14.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.14.1/manifests"},{"name":"python-ecdsa-0.14","sha":"84dbe0dc1a545c6680a1e7dae43a647032c78b5b","kind":"commit","published_at":"2019-11-06T19:03:05.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.14","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.14","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.14","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.14/manifests"},{"name":"python-ecdsa-0.13.3","sha":"7add2213c992f51267eed8288b560f3f4108a28d","kind":"commit","published_at":"2019-10-07T13:58:12.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.13.3","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.13.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.13.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13.3/manifests"},{"name":"python-ecdsa-0.13.2","sha":"bb359d32e93acc3eb4d216aff4ba0e7531599cfb","kind":"commit","published_at":"2019-04-17T19:32:58.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.13.2","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.13.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.13.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13.2/manifests"},{"name":"python-ecdsa-0.13.1","sha":"7221f8b71435d69c1c204927de156cc5f7748df7","kind":"commit","published_at":"2019-04-17T13:56:14.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.13.1","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.13.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13.1/manifests"},{"name":"python-ecdsa-0.13","sha":"5a6fc047222cf21ad89f6cbf8782d0f1e3ddacda","kind":"commit","published_at":"2015-02-07T18:19:14.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.13","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.13","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.13","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13/manifests"},{"name":"python-ecdsa-0.12","sha":"2d6792b7780d8b0c5dfb1283cbe012e57a0d06c9","kind":"commit","published_at":"2015-02-06T21:33:14.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.12","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.12","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.12","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.12/manifests"},{"name":"python-ecdsa-0.11","sha":"36e9cfa80fcf8b53119adc787e54a5892ec1eb2c","kind":"commit","published_at":"2014-03-10T22:51:15.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.11","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.11/manifests"},{"name":"python-ecdsa-0.10","sha":"3a15318fd9c2ab6bb558cbddb67fbf1757bd3766","kind":"commit","published_at":"2013-10-23T18:35:46.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.10","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.10/manifests"},{"name":"python-ecdsa-0.9","sha":"892362dde5b36c170bbb65faae059bd8fb51a90f","kind":"commit","published_at":"2013-10-02T00:04:38.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.9","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.9/manifests"},{"name":"python-ecdsa-0.8","sha":"f03abf93968019758c6e00753d1b34b87fecd27e","kind":"commit","published_at":"2011-10-04T22:49:25.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.8","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.8/manifests"},{"name":"python-ecdsa-0.7","sha":"8a9cdf063f035e2950a9131dfa6712d69bc5f09d","kind":"commit","published_at":"2010-11-28T19:46:59.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.7","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.7/manifests"},{"name":"python-ecdsa-0.6","sha":"15c2c57a279336b33d2dea1067a0e216cdd142e3","kind":"commit","published_at":"2010-10-16T00:46:52.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.6","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.6/manifests"},{"name":"python-ecdsa-0.5","sha":"d492d94f3ca88d63a4f384f333a1450adb322304","kind":"tag","published_at":"2010-04-27T19:06:38.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.5","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.5/manifests"}]},"repo_metadata_updated_at":"2026-08-14T12:49:59.726Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":0,"rankings":{"downloads":null,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":100},"purl":"pkg:gentoo/dev-python/ecdsa","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/gentoo/dev-python/ecdsa","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/gentoo/dev-python/ecdsa","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/gentoo/dev-python/ecdsa/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-07-10T01:10:03.297Z","issues_count":68,"pull_requests_count":104,"avg_time_to_close_issue":7201151.82,"avg_time_to_close_pull_request":4140722.744680851,"issues_closed_count":50,"pull_requests_closed_count":94,"pull_request_authors_count":20,"issue_authors_count":48,"avg_comments_per_issue":1.6764705882352942,"avg_comments_per_pull_request":0.9519230769230769,"merged_pull_requests_count":86,"bot_issues_count":0,"bot_pull_requests_count":1,"past_year_issues_count":6,"past_year_pull_requests_count":10,"past_year_avg_time_to_close_issue":449017.75,"past_year_avg_time_to_close_pull_request":118979.0,"past_year_issues_closed_count":4,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":0.6666666666666666,"past_year_avg_comments_per_pull_request":0.8,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/issues","maintainers":[{"login":"tomato42","count":94,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tomato42"},{"login":"warner","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/warner"}],"active_maintainers":[{"login":"tomato42","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tomato42"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-python%2Fecdsa/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-python%2Fecdsa/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-python%2Fecdsa/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-python%2Fecdsa/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-python%2Fecdsa/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages/dev-python%2Fecdsa/codemeta","maintainers":[],"registry":{"name":"gentoo-portage","url":"https://packages.gentoo.org/","ecosystem":"gentoo","default":true,"packages_count":19524,"maintainers_count":0,"namespaces_count":174,"keywords_count":1054,"github":"gentoo","metadata":{"snapshot_url":"https://distfiles.gentoo.org/snapshots/portage-latest.tar.xz","funded_packages_count":620},"icon_url":"https://github.com/gentoo.png","created_at":"2026-05-26T08:59:24.155Z","updated_at":"2026-08-24T05:05:20.930Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/gentoo-portage/namespaces"}},{"id":5283674,"name":"ecdsa","ecosystem":"conda","description":"This is an easy-to-use implementation of ECC (Elliptic Curve Cryptography) with support for ECDSA (Elliptic Curve Digital Signature Algorithm), EdDSA (Edwards-curve Digital Signature Algorithm) and ECDH (Elliptic Curve Diffie-Hellman), implemented purely in Python","homepage":"https://github.com/tlsfuzzer/python-ecdsa","licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/tlsfuzzer/python-ecdsa","keywords_array":[],"namespace":null,"versions_count":7,"first_release_published_at":"2018-09-24T16:52:07.000Z","latest_release_published_at":"2026-07-28T10:19:08.000Z","latest_release_number":"0.19.2","last_synced_at":"2026-07-28T16:18:18.408Z","created_at":"2022-10-03T15:40:08.156Z","updated_at":"2026-08-14T12:49:59.723Z","registry_url":"https://anaconda.org/anaconda/ecdsa","install_command":"conda install -c anaconda ecdsa","documentation_url":null,"metadata":{},"repo_metadata":{"id":875128,"uuid":"617112","full_name":"tlsfuzzer/python-ecdsa","owner":"tlsfuzzer","description":"pure-python ECDSA signature/verification and ECDH key agreement","archived":false,"fork":false,"pushed_at":"2026-06-08T08:43:37.000Z","size":1040,"stargazers_count":975,"open_issues_count":20,"forks_count":342,"subscribers_count":49,"default_branch":"master","last_synced_at":"2026-08-06T10:34:13.302Z","etag":null,"topics":["cryptography","digital-signatures","ecdh","ecdsa","elliptic-curves","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tlsfuzzer.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"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":"2010-04-19T02:22:17.000Z","updated_at":"2026-07-29T21:11:27.000Z","dependencies_parsed_at":"2024-01-15T23:03:13.356Z","dependency_job_id":"6fea50c4-05a2-478c-939c-253d6ba247c1","html_url":"https://github.com/tlsfuzzer/python-ecdsa","commit_stats":{"total_commits":517,"total_committers":50,"mean_commits":10.34,"dds":0.5570599613152805,"last_synced_commit":"eed49e25683d656ba211a8cd97bf93da34450cf5"},"previous_names":["warner/python-ecdsa"],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlsfuzzer","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/sbom","scorecard":{"id":889507,"data":{"date":"2025-08-11","repo":{"name":"github.com/tlsfuzzer/python-ecdsa","commit":"2a6593d840ad153a16ebdd4f9b772b290494f3e3"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.6,"checks":[{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":4,"reason":"Found 5/11 approved changesets -- score normalized to 4","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Warn: project license file does not contain an FSF or OSI license."],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yml:16","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yml:17","Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/codeql.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Fuzzing","score":10,"reason":"project is fuzzed","details":["Info: OSSFuzz integration found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:112: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:116: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:173: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:327: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:361: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:410: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:415: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:475: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:480: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:486: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:524: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:529: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:535: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:541: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:547: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:553: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:559: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:565: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:571: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:577: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:583: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:589: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:595: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:601: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:607: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:613: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:619: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:625: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:631: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:637: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:643: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:668: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:678: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:30: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:36: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/codeql.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codeql.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/tlsfuzzer/python-ecdsa/codeql.yml/master?enable=pin","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:206","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:206","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:206","Warn: downloadThenRun not pinned by hash: .github/workflows/ci.yml:206","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:214","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:217","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:223","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:257","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:264","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:266","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:271","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:272","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:395","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:422","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:423","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:495","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:497","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:498","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:499","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:650","Warn: pipCommand not pinned by hash: .github/workflows/ci.yml:651","Info:   0 out of  35 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   4 downloadThenRun dependencies pinned","Info:   1 out of  18 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":9,"reason":"SAST tool detected but not run on all commits","details":["Info: SAST configuration detected: CodeQL","Warn: 26 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-24T11:15:33.540Z","repository_id":875128,"created_at":"2025-08-24T11:15:33.540Z","updated_at":"2025-08-24T11:15:33.540Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36345960,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"ssl_error","status_checked_at":"2026-08-06T04:43:02.660Z","response_time":54,"last_error":"SSL_read: 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"},"owner_record":{"login":"tlsfuzzer","name":"tlsfuzzer","uuid":"74566338","kind":"organization","description":"tlsfuzzer and related libraries useful for testing cryptographic implementations","email":null,"website":null,"location":null,"twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/74566338?v=4","repositories_count":3,"last_synced_at":"2024-03-25T19:59:02.494Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/tlsfuzzer","funding_links":[],"total_stars":1626,"followers":11,"following":0,"created_at":"2022-11-02T16:22:53.610Z","updated_at":"2024-03-25T19:59:03.543Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlsfuzzer","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tlsfuzzer/repositories"},"tags":[{"name":"python-ecdsa-0.19.2","sha":"bd66899550d7185939bf27b75713a2ac9325a9d3","kind":"commit","published_at":"2026-03-26T09:50:34.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.19.2","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.19.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.19.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.19.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.19.2/manifests"},{"name":"python-ecdsa-0.19.1","sha":"2a6593d840ad153a16ebdd4f9b772b290494f3e3","kind":"commit","published_at":"2025-03-13T11:48:15.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.19.1","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.19.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.19.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.19.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.19.1/manifests"},{"name":"python-ecdsa-0.19.0","sha":"be70016f8911f79e891a65dcfcb602e5ba866ed3","kind":"commit","published_at":"2024-04-08T18:59:55.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.19.0","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.19.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.19.0/manifests"},{"name":"python-ecdsa-0.18.0","sha":"341e0d8be9fedf66fbc9a95630b4ed2138343380","kind":"commit","published_at":"2022-07-09T12:49:17.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.18.0","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.18.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.18.0/manifests"},{"name":"python-ecdsa-0.18.0b2","sha":"5f93d9d0c49f924fb33aee046c272859dd02eddd","kind":"commit","published_at":"2022-01-05T17:32:04.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.18.0b2","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.18.0b2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.18.0b2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.18.0b2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.18.0b2/manifests"},{"name":"python-ecdsa-0.18.0b1","sha":"c8802e5c4f20557b674ef3d724985d40b5ff0537","kind":"commit","published_at":"2021-08-03T12:09:39.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.18.0b1","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.18.0b1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.18.0b1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.18.0b1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.18.0b1/manifests"},{"name":"python-ecdsa-0.17.0","sha":"5aa87c52c25a476f691b570be3577ff71cd01982","kind":"commit","published_at":"2021-05-27T18:07:15.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.17.0","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.17.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.17.0/manifests"},{"name":"python-ecdsa-0.16.1","sha":"9d5a727c766773b8367f6dd0a49bbda21c18dbe7","kind":"commit","published_at":"2020-11-12T19:12:49.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.16.1","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.16.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.16.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.16.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.16.1/manifests"},{"name":"python-ecdsa-0.16.0","sha":"f27b20ff2a67c6b1afe473dd347c8da5c4017e34","kind":"commit","published_at":"2020-08-27T14:41:17.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.16.0","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.16.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.16.0/manifests"},{"name":"python-ecdsa-0.15","sha":"93b04ba3ddb7c2716e07761393a179c061718c34","kind":"commit","published_at":"2020-01-02T16:05:04.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.15","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.15","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.15","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.15","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.15/manifests"},{"name":"python-ecdsa-0.14.1","sha":"c3136e4250e7e2c53191acccbff8a936479536af","kind":"commit","published_at":"2019-11-06T21:45:35.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.14.1","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.14.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.14.1/manifests"},{"name":"python-ecdsa-0.14","sha":"84dbe0dc1a545c6680a1e7dae43a647032c78b5b","kind":"commit","published_at":"2019-11-06T19:03:05.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.14","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.14","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.14","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.14","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.14/manifests"},{"name":"python-ecdsa-0.13.3","sha":"7add2213c992f51267eed8288b560f3f4108a28d","kind":"commit","published_at":"2019-10-07T13:58:12.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.13.3","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.13.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.13.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13.3/manifests"},{"name":"python-ecdsa-0.13.2","sha":"bb359d32e93acc3eb4d216aff4ba0e7531599cfb","kind":"commit","published_at":"2019-04-17T19:32:58.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.13.2","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.13.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.13.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13.2/manifests"},{"name":"python-ecdsa-0.13.1","sha":"7221f8b71435d69c1c204927de156cc5f7748df7","kind":"commit","published_at":"2019-04-17T13:56:14.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.13.1","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.13.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.13.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13.1/manifests"},{"name":"python-ecdsa-0.13","sha":"5a6fc047222cf21ad89f6cbf8782d0f1e3ddacda","kind":"commit","published_at":"2015-02-07T18:19:14.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.13","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.13","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.13","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.13/manifests"},{"name":"python-ecdsa-0.12","sha":"2d6792b7780d8b0c5dfb1283cbe012e57a0d06c9","kind":"commit","published_at":"2015-02-06T21:33:14.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.12","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.12","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.12","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.12","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.12/manifests"},{"name":"python-ecdsa-0.11","sha":"36e9cfa80fcf8b53119adc787e54a5892ec1eb2c","kind":"commit","published_at":"2014-03-10T22:51:15.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.11","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.11/manifests"},{"name":"python-ecdsa-0.10","sha":"3a15318fd9c2ab6bb558cbddb67fbf1757bd3766","kind":"commit","published_at":"2013-10-23T18:35:46.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.10","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.10/manifests"},{"name":"python-ecdsa-0.9","sha":"892362dde5b36c170bbb65faae059bd8fb51a90f","kind":"commit","published_at":"2013-10-02T00:04:38.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.9","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.9/manifests"},{"name":"python-ecdsa-0.8","sha":"f03abf93968019758c6e00753d1b34b87fecd27e","kind":"commit","published_at":"2011-10-04T22:49:25.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.8","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.8/manifests"},{"name":"python-ecdsa-0.7","sha":"8a9cdf063f035e2950a9131dfa6712d69bc5f09d","kind":"commit","published_at":"2010-11-28T19:46:59.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.7","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.7/manifests"},{"name":"python-ecdsa-0.6","sha":"15c2c57a279336b33d2dea1067a0e216cdd142e3","kind":"commit","published_at":"2010-10-16T00:46:52.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.6","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.6/manifests"},{"name":"python-ecdsa-0.5","sha":"d492d94f3ca88d63a4f384f333a1450adb322304","kind":"tag","published_at":"2010-04-27T19:06:38.000Z","download_url":"https://codeload.github.com/tlsfuzzer/python-ecdsa/tar.gz/python-ecdsa-0.5","html_url":"https://github.com/tlsfuzzer/python-ecdsa/releases/tag/python-ecdsa-0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/tlsfuzzer/python-ecdsa@python-ecdsa-0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/tags/python-ecdsa-0.5/manifests"}]},"repo_metadata_updated_at":"2026-08-14T12:49:59.723Z","dependent_packages_count":1,"downloads":54423,"downloads_period":"total","dependent_repos_count":10,"rankings":{"downloads":null,"dependent_repos_count":38.11700182815356,"dependent_packages_count":30.65204143814747,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":34.38452163315051},"purl":"pkg:conda/ecdsa","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/conda/ecdsa","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/conda/ecdsa","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/conda/ecdsa/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-07-10T01:10:03.297Z","issues_count":68,"pull_requests_count":104,"avg_time_to_close_issue":7201151.82,"avg_time_to_close_pull_request":4140722.744680851,"issues_closed_count":50,"pull_requests_closed_count":94,"pull_request_authors_count":20,"issue_authors_count":48,"avg_comments_per_issue":1.6764705882352942,"avg_comments_per_pull_request":0.9519230769230769,"merged_pull_requests_count":86,"bot_issues_count":0,"bot_pull_requests_count":1,"past_year_issues_count":6,"past_year_pull_requests_count":10,"past_year_avg_time_to_close_issue":449017.75,"past_year_avg_time_to_close_pull_request":118979.0,"past_year_issues_closed_count":4,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":5,"past_year_avg_comments_per_issue":0.6666666666666666,"past_year_avg_comments_per_pull_request":0.8,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/issues","maintainers":[{"login":"tomato42","count":94,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tomato42"},{"login":"warner","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/warner"}],"active_maintainers":[{"login":"tomato42","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tomato42"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/ecdsa/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/ecdsa/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/ecdsa/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/ecdsa/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/ecdsa/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages/ecdsa/codemeta","maintainers":[],"registry":{"name":"anaconda.org","url":"https://anaconda.org","ecosystem":"conda","default":true,"packages_count":5475,"maintainers_count":0,"namespaces_count":0,"keywords_count":3313,"github":"Anaconda","metadata":{"kind":"anaconda","key":"Main","api":"https://repo.ananconda.com","funded_packages_count":852},"icon_url":"https://github.com/Anaconda.png","created_at":"2022-10-03T15:37:08.736Z","updated_at":"2026-08-24T05:06:29.101Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/anaconda.org/namespaces"}}],"commits":{"id":15974,"full_name":"tlsfuzzer/python-ecdsa","default_branch":"master","total_commits":601,"total_committers":51,"total_bot_commits":0,"total_bot_committers":0,"mean_commits":11.784313725490197,"dds":0.32279534109816976,"past_year_total_commits":12,"past_year_total_committers":4,"past_year_total_bot_commits":0,"past_year_total_bot_committers":0,"past_year_mean_commits":3.0,"past_year_dds":0.33333333333333337,"last_synced_at":"2026-08-20T11:24:02.406Z","last_synced_commit":"bff40c6cf2340148d410d5b3def0e949c547caf1","created_at":"2023-03-07T11:31:32.792Z","updated_at":"2026-08-20T11:24:02.318Z","committers":[{"name":"Hubert Kario","email":"hubert@kario.pl","login":"tomato42","count":407},{"name":"Brian Warner","email":"warner@lothar.com","login":"warner","count":86},{"name":"Alex Gaynor","email":"alex.gaynor@gmail.com","login":"alex","count":9},{"name":"slush0","email":"info@bitcoin.cz","login":null,"count":8},{"name":"Shrirang Bhate","email":"shrir","login":"shrir","count":8},{"name":"junderw","email":"junderwood@bitcoinbank.co.jp","login":"junderw","count":7},{"name":"Elizabeth Myers","email":"elizabeth@interlinked.me","login":"Elizafox","count":6},{"name":"Owen Yamauchi","email":"owen@thesegovia.com","login":"oyamauchi","count":6},{"name":"blag","email":"blag","login":"blag","count":5},{"name":"Taneli Hukkinen","email":"hukkinj1","login":"hukkinj1","count":4},{"name":"Alexandre Detiste","email":"alexandre.detiste@gmail.com","login":"a-detiste","count":4},{"name":"Hugo","email":"hugovk","login":"hugovk","count":3},{"name":"pik","email":"alexander.maznev@gmail.com","login":"pik","count":3},{"name":"Shrirang Bhate","email":"sb@axiros.com","login":null,"count":2},{"name":"0xmrma","email":"moabdelaal442004@gmail.com","login":"0xmrma","count":2},{"name":"Daniel Himmelstein","email":"daniel.himmelstein@gmail.com","login":"dhimmel","count":2},{"name":"Ian Rodney","email":"ian.rodney@gmail.com","login":"ijrsvt","count":2},{"name":"Sylvain","email":"sylvain.pelissier@gmail.com","login":"sylvainpelissier","count":2},{"name":"kcorlidy","email":"kcorlidy@outlook.com","login":"kcorlidy","count":2},{"name":"Drew Hintz","email":"adhintz@google.com","login":"adhintz","count":2},{"name":"Sechenov Pavel","email":"sechenov_pa@mail.ru","login":null,"count":1},{"name":"Alexander Zilberkant","email":"alexander.zilberkant@arm.com","login":null,"count":1},{"name":"Alexander Shadchin","email":"shadchin@yandex-team.com","login":"shadchin","count":1},{"name":"Alexander Sosedkin","email":"asosedkin@redhat.com","login":"t184256","count":1},{"name":"Benjamin Dauvergne","email":"bdauvergne@entrouvert.com","login":"bdauvergne","count":1},{"name":"Bruno Oliveira","email":"nicoddemus@gmail.com","login":"nicoddemus","count":1},{"name":"vojtechsu","email":"x451866@fi.muni.cz","login":"vojtechsu","count":1},{"name":"tuxuser","email":"462620+tuxuser","login":"tuxuser","count":1},{"name":"munagekar","email":"avm.abhishek@gmail.com","login":"munagekar","count":1},{"name":"mdxs","email":"van.wijgerden@mdxs.net","login":"mdxs","count":1},{"name":"gianlucafrei","email":"gianlucafrei","login":"gianlucafrei","count":1},{"name":"Umar","email":"madugu01@gmail.com","login":"emyu01","count":1},{"name":"Tocho Tochev","email":"tochev","login":"tochev","count":1},{"name":"Tobias Oberstein","email":"tobias.oberstein@crossbario.com","login":"oberstet","count":1},{"name":"Tim Gates","email":"tim.gates@iress.com","login":"timgates42","count":1},{"name":"Roman Zeyde","email":"roman.zeyde@gmail.com","login":"romanz","count":1},{"name":"Pavol Rusnak","email":"stick@gk2.sk","login":"prusnak","count":1},{"name":"Pablo Mazzini","email":"pmazzini@gmail.com","login":"pmazzini","count":1},{"name":"Oleg Moiseenko","email":"807634+merlokk","login":"merlokk","count":1},{"name":"Octavian","email":"ccraciun@gmail.com","login":"ccraciun","count":1},{"name":"Myse1f","email":"602149025@qq.com","login":"Myse1f","count":1},{"name":"Michael Overmeyer","email":"m.overmeyer@yahoo.ca","login":"movermeyer","count":1},{"name":"Martin Thoma","email":"info@martin-thoma.de","login":"MartinThoma","count":1},{"name":"LGTM Migrator","email":"lgtm-migrator","login":"lgtm-migrator","count":1},{"name":"Kian Meng Ang","email":"kianmeng.ang@gmail.com","login":"kianmeng","count":1},{"name":"Jon Banafato","email":"jon@jonafato.com","login":"jonafato","count":1},{"name":"J08nY","email":"johny@neuromancer.sk","login":"J08nY","count":1},{"name":"Hyungsuk Kang","email":"hskang9@gmail.com","login":"hskang9","count":1},{"name":"Ganna Starovoytova","email":"gstarovo@redhat.com","login":"gstarovo","count":1},{"name":"Edward Betts","email":"edward@4angle.com","login":"EdwardBetts","count":1},{"name":"Cornelius Kölbel","email":"cornelius.koelbel@netknights.it","login":"cornelinux","count":1}],"past_year_committers":[{"name":"Alicja Kario","email":"hkario@redhat.com","login":"tomato42","count":8},{"name":"0xmrma","email":"moabdelaal442004@gmail.com","login":"0xmrma","count":2},{"name":"Ganna Starovoytova","email":"gstarovo@redhat.com","login":"gstarovo","count":1},{"name":"Alexander Shadchin","email":"shadchin@yandex-team.com","login":"shadchin","count":1}],"commits_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/commits","host":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-20T00:00:10.776Z","repositories_count":6752015,"commits_count":978354437,"contributors_count":41238533,"owners_count":1358999,"committers_count":3353082,"icon_url":"https://github.com/github.png","host_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://commits.ecosyste.ms/api/v1/hosts/GitHub/repositories"}},"issues":{"table":{"full_name":"tlsfuzzer/python-ecdsa","html_url":"https://github.com/tlsfuzzer/python-ecdsa","last_synced_at":"2026-08-24T13:32:54.482Z","status":null,"issues_count":68,"pull_requests_count":104,"avg_time_to_close_issue":7201151.82,"avg_time_to_close_pull_request":4140722.744680851,"issues_closed_count":50,"pull_requests_closed_count":94,"pull_request_authors_count":20,"issue_authors_count":48,"avg_comments_per_issue":1.6764705882352942,"avg_comments_per_pull_request":0.9519230769230769,"merged_pull_requests_count":86,"bot_issues_count":0,"bot_pull_requests_count":1,"past_year_issues_count":5,"past_year_pull_requests_count":10,"past_year_avg_time_to_close_issue":184523.66666666666,"past_year_avg_time_to_close_pull_request":118979.0,"past_year_issues_closed_count":3,"past_year_pull_requests_closed_count":4,"past_year_pull_request_authors_count":7,"past_year_issue_authors_count":4,"past_year_avg_comments_per_issue":0.8,"past_year_avg_comments_per_pull_request":0.8,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":0,"past_year_merged_pull_requests_count":2,"created_at":"2023-05-10T14:31:03.900Z","updated_at":"2026-08-24T13:32:54.482Z","repository_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa","issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlsfuzzer%2Fpython-ecdsa/issues","issue_labels_count":{"table":{"question":11,"maintenance":11,"bug":10,"not a bug":9,"help wanted":7,"feature":6,"duplicate":4}},"pull_request_labels_count":{"table":{"maintenance":48,"bug":15,"feature":12,"help wanted":1}},"issue_author_associations_count":{"table":{"NONE":50,"MEMBER":16,"CONTRIBUTOR":1,"COLLABORATOR":1}},"pull_request_author_associations_count":{"table":{"MEMBER":78,"NONE":13,"CONTRIBUTOR":13}},"issue_authors":{"table":{"tomato42":16,"kloczek":4,"gaiabio12-design":2,"opacey":2,"wellingtonmezes":1,"TigerZhao007":1,"hamnaz":1,"marti1125":1,"salmonberry7":1,"parulchawla894":1,"sumezulike":1,"Mingli-001":1,"jelly":1,"iceman1001":1,"yaronbenezra":1,"caoweiquan322":1,"bnavigator":1,"elfring":1,"akarve":1,"salman0149":1,"xiaoge1001":1,"Noname400":1,"vhrvbbdvdz":1,"prasadayush":1,"nmoreaud":1,"99Kies":1,"Xh0st":1,"766F6964":1,"Bastien-BO":1,"Mikaela":1,"Myse1f":1,"Jiu-hong":1,"vporton":1,"warner":1,"Sarkoxed":1,"reist2002":1,"bdp92":1,"andrei-datcu":1,"fedimser":1,"wojake":1,"mathieuruellanmyscript":1,"shripad-bhat":1,"kphf1995cm":1,"dfordivam":1,"opoplawski":1,"yodalee":1,"tomko7":1,"FrankC01":1}},"pull_request_authors":{"table":{"tomato42":78,"a-detiste":4,"alexandrehpiva":3,"gstarovo":2,"atul-bhardwaj":2,"MartinThoma":1,"shadchin":1,"vojtechsu":1,"gaoflow":1,"ijrsvt":1,"pmazzini":1,"apoorvdarshan":1,"xiaoge1001":1,"kianmeng":1,"Myse1f":1,"pranithan-kang":1,"lgtm-com[bot]":1,"maxtaran2010":1,"timgates42":1,"emyu01":1}},"host":{"table":{"name":"GitHub","url":"https://github.com","kind":"github","last_synced_at":"2026-08-25T00:00:09.459Z","repositories_count":16324715,"issues_count":42381630,"pull_requests_count":135850352,"authors_count":11519836,"icon_url":"https://github.com/github.png","host_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories","owners_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/owners","authors_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors"}},"past_year_issue_labels_count":{"table":{}},"past_year_pull_request_labels_count":{"table":{"maintenance":1}},"past_year_issue_author_associations_count":{"table":{"NONE":5}},"past_year_pull_request_author_associations_count":{"table":{"NONE":7,"CONTRIBUTOR":2,"MEMBER":1}},"past_year_issue_authors":{"table":{"gaiabio12-design":2,"bdp92":1,"fedimser":1,"vhrvbbdvdz":1}},"past_year_pull_request_authors":{"table":{"alexandrehpiva":3,"gstarovo":2,"apoorvdarshan":1,"gaoflow":1,"maxtaran2010":1,"shadchin":1,"tomato42":1}},"maintainers":[{"table":{"login":"tomato42","count":94,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tomato42"}},{"table":{"login":"warner","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/warner"}}],"active_maintainers":[{"table":{"login":"tomato42","count":1,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/tomato42"}}]}},"events":{"total":{"CreateEvent":6,"DeleteEvent":6,"ForkEvent":17,"IssueCommentEvent":15,"IssuesEvent":13,"PullRequestEvent":9,"PullRequestReviewCommentEvent":6,"PullRequestReviewEvent":9,"PushEvent":15,"ReleaseEvent":1,"WatchEvent":52},"last_year":{"ForkEvent":4,"IssueCommentEvent":8,"IssuesEvent":2,"PullRequestEvent":1,"PullRequestReviewCommentEvent":2,"PullRequestReviewEvent":2,"PushEvent":4,"WatchEvent":12}},"keywords":["cryptography","digital-signatures","ecdh","ecdsa","elliptic-curves","python"],"dependencies":[{"ecosystem":"pypi","filepath":"build-requirements-2.6.txt","sha":null,"kind":"manifest","created_at":"2022-06-26T15:46:50.664Z","updated_at":"2022-06-26T15:46:50.664Z","repository_link":"https://github.com/tlsfuzzer/python-ecdsa/blob/master/build-requirements-2.6.txt","dependencies":[{"id":66047765,"package_name":"tox","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":66047766,"package_name":"inflect","ecosystem":"pypi","requirements":"\u003c0.3.1","direct":true,"kind":"runtime","optional":false},{"id":66047767,"package_name":"pyopenssl","ecosystem":"pypi","requirements":"\u003c18","direct":true,"kind":"runtime","optional":false},{"id":66047768,"package_name":"cffi","ecosystem":"pypi","requirements":"\u003c1.14","direct":true,"kind":"runtime","optional":false},{"id":66047769,"package_name":"coveralls","ecosystem":"pypi","requirements":"add-py26","direct":true,"kind":"runtime","optional":false},{"id":66047770,"package_name":"idna","ecosystem":"pypi","requirements":"\u003c2.8","direct":true,"kind":"runtime","optional":false},{"id":66047771,"package_name":"unittest2","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":66047772,"package_name":"hypothesis","ecosystem":"pypi","requirements":"\u003c3","direct":true,"kind":"runtime","optional":false},{"id":66047773,"package_name":"coverage","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":66047774,"package_name":"mock","ecosystem":"pypi","requirements":"==2.0.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"build-requirements-2.7.txt","sha":null,"kind":"manifest","created_at":"2022-06-26T15:46:52.023Z","updated_at":"2022-06-26T15:46:52.023Z","repository_link":"https://github.com/tlsfuzzer/python-ecdsa/blob/master/build-requirements-2.7.txt","dependencies":[{"id":66048075,"package_name":"tox","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":66048076,"package_name":"coveralls","ecosystem":"pypi","requirements":"add-py26","direct":true,"kind":"runtime","optional":false},{"id":66048077,"package_name":"hypothesis","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":66048078,"package_name":"pytest","ecosystem":"pypi","requirements":"\u003e=4.6.0","direct":true,"kind":"runtime","optional":false},{"id":66048079,"package_name":"coverage","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"build-requirements.txt","sha":null,"kind":"manifest","created_at":"2022-06-26T15:46:53.046Z","updated_at":"2022-06-26T15:46:53.046Z","repository_link":"https://github.com/tlsfuzzer/python-ecdsa/blob/master/build-requirements.txt","dependencies":[{"id":66050324,"package_name":"tox","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":66050325,"package_name":"coveralls","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":66050326,"package_name":"hypothesis","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false},{"id":66050327,"package_name":"pytest","ecosystem":"pypi","requirements":"\u003e=4.6.0","direct":true,"kind":"runtime","optional":false},{"id":66050328,"package_name":"coverage","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"docs/requirements.txt","sha":null,"kind":"manifest","created_at":"2022-06-26T15:46:53.333Z","updated_at":"2022-06-26T15:46:53.333Z","repository_link":"https://github.com/tlsfuzzer/python-ecdsa/blob/master/docs/requirements.txt","dependencies":[{"id":66050953,"package_name":"six","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"pypi","filepath":"setup.py","sha":null,"kind":"manifest","created_at":"2022-06-26T15:46:53.582Z","updated_at":"2022-06-26T15:46:53.582Z","repository_link":"https://github.com/tlsfuzzer/python-ecdsa/blob/master/setup.py","dependencies":[{"id":66050954,"package_name":"six","ecosystem":"pypi","requirements":"\u003e=1.9.0","direct":true,"kind":"runtime","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/ci.yml","sha":null,"kind":"manifest","created_at":"2023-07-05T21:01:34.995Z","updated_at":"2023-07-05T21:01:34.995Z","repository_link":"https://github.com/tlsfuzzer/python-ecdsa/blob/master/.github/workflows/ci.yml","dependencies":[{"id":11149458006,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":11149458007,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v1","direct":true,"kind":"composite","optional":false},{"id":11149458008,"package_name":"actions/setup-python","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":11149458009,"package_name":"schneegans/dynamic-badges-action","ecosystem":"actions","requirements":"v1.4.0","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"actions","filepath":".github/workflows/codeql.yml","sha":null,"kind":"manifest","created_at":"2023-07-05T21:01:35.807Z","updated_at":"2023-07-05T21:01:35.807Z","repository_link":"https://github.com/tlsfuzzer/python-ecdsa/blob/master/.github/workflows/codeql.yml","dependencies":[{"id":11149459115,"package_name":"actions/checkout","ecosystem":"actions","requirements":"v3","direct":true,"kind":"composite","optional":false},{"id":11149459119,"package_name":"github/codeql-action/init","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":11149459121,"package_name":"github/codeql-action/autobuild","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false},{"id":11149459126,"package_name":"github/codeql-action/analyze","ecosystem":"actions","requirements":"v2","direct":true,"kind":"composite","optional":false}]},{"ecosystem":"pypi","filepath":"requirements.txt","sha":null,"kind":"manifest","created_at":"2023-12-28T15:42:05.644Z","updated_at":"2023-12-28T15:42:05.644Z","repository_link":"https://github.com/tlsfuzzer/python-ecdsa/blob/master/requirements.txt","dependencies":[{"id":15320891657,"package_name":"six","ecosystem":"pypi","requirements":"*","direct":true,"kind":"runtime","optional":false}]}],"score":31.67288000722592,"created_at":"2026-05-04T06:49:12.961Z","updated_at":"2026-08-25T14:02:50.378Z","avatar_url":"https://github.com/tlsfuzzer.png","language":"Python","codemeta":null,"publiccode":null,"project_url":"https://summary.ecosyste.ms/api/v1/projects/371694","html_url":"https://summary.ecosyste.ms/projects/371694"}