An open API service providing repository metadata for many open source software ecosystems.

GitHub / rust-embedded / svd2rust

Generate Rust register maps (`struct`s) from SVD files

JSON API: http://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rust-embedded%2Fsvd2rust
PURL: pkg:github/rust-embedded/svd2rust

Stars: 800
Forks: 158
Open issues: 70

License: apache-2.0
Language: Rust
Size: 1.88 MB
Dependencies parsed at: Pending

Created at: about 9 years ago
Updated at: 5 days ago
Pushed at: about 1 month ago
Last synced at: 4 days ago

Commit Stats

Commits: 1020
Authors: 93
Mean commits per author: 10.97
Development Distribution Score: 0.663
More commit stats: https://commits.ecosyste.ms/hosts/GitHub/repositories/rust-embedded/svd2rust

Topics: arm, cmsis-svd, code-generator, cortex-m, microcontroller, rust

OpenSSF Scorecard report

5.3

Overall Score

10/10 Critical Risk
40/60 High Risk
0/40 Medium Risk
10/20 Low Risk
Generated on August 11, 2025 | Scorecard vv5.2.1-40-gf6ed084d
Security Checks
10/10
Binary-Artifacts
High Risk

no binaries found in the repo

Determines if the project has generated executable (binary) artifacts in the source repository.

10/10
Code-Review
High Risk

all changesets reviewed

Determines if the project requires human code review before pull requests (aka merge requests) are merged.

10/10
Dangerous-Workflow
Critical Risk

no dangerous workflow patterns detected

Determines if the project's GitHub Action workflows avoid dangerous patterns.

10/10
License
Low Risk

license file detected

Determines if the project has defined a license.

Show details
ℹ️ Info: project has a license file: LICENSE-APACHE:0
ℹ️ Info: FSF or OSI recognized license: Apache License 2.0: LICENSE-APACHE:0
10/10
Maintained
High Risk

18 commit(s) and 2 issue activity found in the last 90 days -- score normalized to 10

Determines if the project is "actively maintained".

10/10
Vulnerabilities
High Risk

0 existing vulnerabilities detected

Determines if the project has open, known unfixed vulnerabilities.

0/10
CII-Best-Practices
Low Risk

no effort to earn an OpenSSF best practices badge detected

Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.

0/10
Fuzzing
Medium Risk

project is not fuzzed

Determines if the project uses fuzzing.

Show details
⚠️ Warn: no fuzzer integrations found
0/10
Pinned-Dependencies
Medium Risk

dependency not pinned by hash detected -- score normalized to 0

Determines if the project has declared and pinned the dependencies of its build process.

Show details
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/changelog.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/changelog.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/changelog.yml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/changelog.yml/master?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:121: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:128: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:156: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:158: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:159: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:162: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:174: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:176: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:181: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:199: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:201: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:207: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:227: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:229: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:235: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:243: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:41: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:103: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:105: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:108: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/ci.yml/master?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/diff.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/diff.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/diff.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/diff.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/diff.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/diff.yml/master?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/diff.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/diff.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/diff.yml:47: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/diff.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/diff.yml:52: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/diff.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/diff.yml:56: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/diff.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/diff.yml:61: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/diff.yml/master?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/diff.yml:76: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/diff.yml/master?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/release.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:33: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/release.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:38: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/release.yml/master?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/release.yml/master?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:65: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/release.yml/master?enable=pin
⚠️ Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/release.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:75: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/release.yml/master?enable=pin
⚠️ Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yml:79: update your workflow using https://app.stepsecurity.io/secureworkflow/rust-embedded/svd2rust/release.yml/master?enable=pin
ℹ️ Info: 0 out of 16 GitHub-owned GitHubAction dependencies pinned
ℹ️ Info: 0 out of 25 third-party GitHubAction dependencies pinned
0/10
SAST
Medium Risk

SAST tool is not run on all commits -- score normalized to 0

Determines if the project uses static code analysis.

Show details
⚠️ Warn: 0 commits out of 30 are checked with a SAST tool
0/10
Security-Policy
Medium Risk

security policy file not detected

Determines if the project has published a security policy.

Show details
⚠️ Warn: no security policy file detected
⚠️ Warn: no security file to analyze
⚠️ Warn: no security file to analyze
⚠️ Warn: no security file to analyze
0/10
Signed-Releases
High Risk

Project has not signed or included provenance with any releases.

Determines if the project cryptographically signs release artifacts.

Show details
⚠️ Warn: release artifact v0.37.0 not signed: https://api.github.com/repos/rust-embedded/svd2rust/releases/240242555
⚠️ Warn: release artifact v0.36.1 not signed: https://api.github.com/repos/rust-embedded/svd2rust/releases/210426882
⚠️ Warn: release artifact v0.36.0 not signed: https://api.github.com/repos/rust-embedded/svd2rust/releases/204772080
⚠️ Warn: release artifact v0.35.0 not signed: https://api.github.com/repos/rust-embedded/svd2rust/releases/185082912
⚠️ Warn: release artifact v0.34.0 not signed: https://api.github.com/repos/rust-embedded/svd2rust/releases/183850983
⚠️ Warn: release artifact v0.37.0 does not have provenance: https://api.github.com/repos/rust-embedded/svd2rust/releases/240242555
⚠️ Warn: release artifact v0.36.1 does not have provenance: https://api.github.com/repos/rust-embedded/svd2rust/releases/210426882
⚠️ Warn: release artifact v0.36.0 does not have provenance: https://api.github.com/repos/rust-embedded/svd2rust/releases/204772080
⚠️ Warn: release artifact v0.35.0 does not have provenance: https://api.github.com/repos/rust-embedded/svd2rust/releases/185082912
⚠️ Warn: release artifact v0.34.0 does not have provenance: https://api.github.com/repos/rust-embedded/svd2rust/releases/183850983
0/10
Token-Permissions
High Risk

detected GitHub workflow tokens with excessive permissions

Determines if the project's workflows follow the principle of least privilege.

Show details
⚠️ Warn: no topLevel permission defined: .github/workflows/changelog.yml:1
⚠️ Warn: no topLevel permission defined: .github/workflows/ci.yml:1
⚠️ Warn: no topLevel permission defined: .github/workflows/diff.yml:1
⚠️ Warn: no topLevel permission defined: .github/workflows/release.yml:1
ℹ️ Info: no jobLevel write permissions found
N/A
Branch-Protection
Not Applicable

internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration

Determines if the default and release branches are protected with GitHub's branch protection settings.

N/A
Packaging
Not Applicable

packaging workflow not detected

Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.

Show details
⚠️ Warn: no GitHub/GitLab publishing workflow detected.