{"id":12287819,"name":"openc3","ecosystem":"rubygems","description":"    OpenC3 provides all the functionality needed to send\n    commands to and receive data from one or more embedded systems\n    referred to as \"targets\". Out of the box functionality includes:\n    Telemetry Display, Telemetry Graphing, Operational and Test Scripting,\n    Command Sending, Logging, and more.\n","homepage":"https://github.com/OpenC3/cosmos","licenses":"OpenC3","normalized_licenses":["Other"],"repository_url":"https://github.com/OpenC3/cosmos","keywords_array":[],"namespace":null,"versions_count":87,"first_release_published_at":"2022-07-29T20:16:16.730Z","latest_release_published_at":"2026-09-24T14:14:39.408Z","latest_release_number":"7.4.1","latest_published_release_number":"7.4.1","last_synced_at":"2026-10-23T22:25:38.134Z","created_at":"2025-10-07T04:44:38.953Z","updated_at":"2026-10-23T22:25:38.134Z","registry_url":"https://gem.coop/gems/openc3","install_command":"gem install openc3 -s https://gem.coop","documentation_url":"http://www.rubydoc.info/gems/openc3/","metadata":{"funding":null},"repo_metadata":{"id":45797190,"uuid":"512873881","full_name":"OpenC3/cosmos","owner":"OpenC3","description":"OpenC3 COSMOS","archived":false,"fork":false,"pushed_at":"2026-10-21T19:18:59.000Z","size":1438904,"stargazers_count":256,"open_issues_count":399,"forks_count":96,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-10-21T20:37:18.103Z","etag":null,"topics":["automation","cosmos","hardware","integration","iot","python","ruby","scripting","space","spacecraft","test"],"latest_commit_sha":null,"homepage":"https://openc3.com","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"BallAerospace/COSMOS","license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OpenC3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","accessibility":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"claude":"CLAUDE.md","gemini":null,"cursor":null,"copilot":null,"dco":null,"cla":null,"disclosure":null}},"created_at":"2022-07-11T18:49:34.000Z","updated_at":"2026-10-21T19:19:02.000Z","dependencies_parsed_at":"2026-10-21T20:47:21.662Z","dependency_job_id":null,"html_url":"https://github.com/OpenC3/cosmos","commit_stats":{"total_commits":3885,"total_committers":52,"mean_commits":74.71153846153847,"dds":0.6257400257400257,"last_synced_commit":"b5818f60754c19402e8920dfb359c2e56fab9f54"},"previous_names":["openc3/openc3"],"tags_count":146,"template":false,"template_full_name":null,"purl":"pkg:github/OpenC3/cosmos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenC3","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/sbom","scorecard":{"id":1245534,"data":{"date":"2026-04-02T19:55:55Z","repo":{"name":"github.com/OpenC3/cosmos","commit":"93ee963d062ef84cdf65626a4e0af702c5563440"},"scorecard":{"version":"v5.3.0","commit":"c22063e786c11f9dd714d777a687ff7c4599b600"},"score":6.1,"checks":[{"name":"Maintained","score":10,"reason":"30 commit(s) and 19 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#maintained"}},{"name":"Dependency-Update-Tool","score":10,"reason":"update tool detected","details":["Info: detected update tool: Dependabot: .github/dependabot.yml:1"],"documentation":{"short":"Determines if the project uses a dependency update tool.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#dependency-update-tool"}},{"name":"Code-Review","score":5,"reason":"Found 6/11 approved changesets -- score normalized to 5","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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#code-review"}},{"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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#dangerous-workflow"}},{"name":"Token-Permissions","score":9,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Info: jobLevel 'contents' permission set to 'read': .github/workflows/api_tests.yml:49","Info: jobLevel 'contents' permission set to 'read': .github/workflows/api_tests.yml:99","Info: jobLevel 'contents' permission set to 'read': .github/workflows/api_tests.yml:145","Info: jobLevel 'contents' permission set to 'read': .github/workflows/build_ubi.yml:37","Info: jobLevel 'contents' permission set to 'read': .github/workflows/clamav.yml:35","Info: jobLevel 'contents' permission set to 'read': .github/workflows/cli.yml:39","Info: jobLevel 'actions' permission set to 'read': .github/workflows/codeql.yaml:50","Info: jobLevel 'contents' permission set to 'read': .github/workflows/codeql.yaml:51","Info: jobLevel 'packages' permission set to 'read': .github/workflows/codeql.yaml:55","Info: jobLevel 'contents' permission set to 'read': .github/workflows/generate-docs.yml:33","Info: jobLevel 'contents' permission set to 'read': .github/workflows/playwright-firefox-nightly.yml:34","Info: jobLevel 'contents' permission set to 'read': .github/workflows/playwright.yml:41","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/post_release_clamav.yml:29","Warn: jobLevel 'contents' permission set to 'write': .github/workflows/post_release_trivy.yml:34","Info: jobLevel 'contents' permission set to 'read': .github/workflows/python_unit_tests.yml:42","Info: jobLevel 'contents' permission set to 'read': .github/workflows/release.yml:40","Info: jobLevel 'contents' permission set to 'read': .github/workflows/ruby_unit_tests.yml:42","Info: jobLevel 'contents' permission set to 'read': .github/workflows/scorecards.yml:29","Info: jobLevel 'actions' permission set to 'read': .github/workflows/scorecards.yml:30","Info: jobLevel 'issues' permission set to 'read': .github/workflows/scorecards.yml:32","Info: jobLevel 'pull-requests' permission set to 'read': .github/workflows/scorecards.yml:33","Info: jobLevel 'checks' permission set to 'read': .github/workflows/scorecards.yml:35","Info: jobLevel 'contents' permission set to 'read': .github/workflows/spelling.yml:35","Info: jobLevel 'contents' permission set to 'read': .github/workflows/tool.yml:38","Info: jobLevel 'contents' permission set to 'read': .github/workflows/trivy.yml:37","Info: jobLevel 'contents' permission set to 'read': .github/workflows/tsdb_integration_tests.yml:46","Info: topLevel 'contents' permission set to 'read': .github/workflows/api_tests.yml:39","Info: topLevel 'contents' permission set to 'read': .github/workflows/build_ubi.yml:28","Info: topLevel 'contents' permission set to 'read': .github/workflows/clamav.yml:28","Info: topLevel 'contents' permission set to 'read': .github/workflows/cli.yml:32","Info: topLevel 'contents' permission set to 'read': .github/workflows/codeql.yaml:30","Info: topLevel 'contents' permission set to 'read': .github/workflows/dependency-review.yml:13","Info: topLevel 'contents' permission set to 'read': .github/workflows/eslint.yml:31","Info: topLevel 'contents' permission set to 'read': .github/workflows/generate-docs.yml:26","Info: topLevel 'contents' permission set to 'read': .github/workflows/playwright-firefox-nightly.yml:26","Info: topLevel 'contents' permission set to 'read': .github/workflows/playwright.yml:32","Info: topLevel 'contents' permission set to 'read': .github/workflows/post_release_clamav.yml:23","Info: topLevel 'contents' permission set to 'read': .github/workflows/post_release_trivy.yml:28","Info: topLevel 'contents' permission set to 'read': .github/workflows/python_lint.yml:34","Info: topLevel 'contents' permission set to 'read': .github/workflows/python_unit_tests.yml:32","Info: topLevel 'contents' permission set to 'read': .github/workflows/release.yml:32","Info: topLevel 'contents' permission set to 'read': .github/workflows/ruby_unit_tests.yml:32","Info: topLevel permissions set to 'read-all': .github/workflows/scorecards.yml:18","Info: topLevel 'contents' permission set to 'read': .github/workflows/spelling.yml:28","Info: topLevel 'contents' permission set to 'read': .github/workflows/tool.yml:31","Warn: no topLevel permission defined: .github/workflows/trivy.yml:1","Info: topLevel 'contents' permission set to 'read': .github/workflows/tsdb_integration_tests.yml:40"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":8,"reason":"binaries present in source code","details":["Warn: binary detected: openc3-ruby/anycable-go-linux-amd64:1","Warn: binary detected: openc3-ruby/anycable-go-linux-arm64:1"],"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#binary-artifacts"}},{"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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#cii-best-practices"}},{"name":"SAST","score":-1,"reason":"internal error: internal error: Client.Checks.ListCheckRunsForRef: error during graphqlHandler.setupCheckRuns: Although you appear to have the correct authorization credentials, the `AikidoSec` organization has an IP allow list enabled, and your IP address is not permitted to access this resource.","details":null,"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#sast"}},{"name":"CI-Tests","score":-1,"reason":"internal error: internal error: Client.Repositories.ListCheckRunsForRef: error during graphqlHandler.setupCheckRuns: Although you appear to have the correct authorization credentials, the `AikidoSec` organization has an IP allow list enabled, and your IP address is not permitted to access this resource.","details":null,"documentation":{"short":"Determines if the project runs tests before pull requests are merged.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#ci-tests"}},{"name":"License","score":9,"reason":"license file detected","details":["Info: project has a license file: LICENSE.md: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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#license"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#fuzzing"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/release.yml:35"],"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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#packaging"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#branch-protection"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","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"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#security-policy"}},{"name":"Signed-Releases","score":0,"reason":"Project has not signed or included provenance with any releases.","details":["Warn: release artifact v7.0.0 not signed: https://api.github.com/repos/OpenC3/cosmos/releases/302127473","Warn: release artifact v7.0.0-rc3 not signed: https://api.github.com/repos/OpenC3/cosmos/releases/294029477","Warn: release artifact v7.0.0-rc2 not signed: https://api.github.com/repos/OpenC3/cosmos/releases/288535224","Warn: release artifact v7.0.0-rc1 not signed: https://api.github.com/repos/OpenC3/cosmos/releases/287006034","Warn: release artifact v6.10.4 not signed: https://api.github.com/repos/OpenC3/cosmos/releases/275749930","Warn: release artifact v7.0.0 does not have provenance: https://api.github.com/repos/OpenC3/cosmos/releases/302127473","Warn: release artifact v7.0.0-rc3 does not have provenance: https://api.github.com/repos/OpenC3/cosmos/releases/294029477","Warn: release artifact v7.0.0-rc2 does not have provenance: https://api.github.com/repos/OpenC3/cosmos/releases/288535224","Warn: release artifact v7.0.0-rc1 does not have provenance: https://api.github.com/repos/OpenC3/cosmos/releases/287006034","Warn: release artifact v6.10.4 does not have provenance: https://api.github.com/repos/OpenC3/cosmos/releases/275749930"],"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#signed-releases"}},{"name":"Vulnerabilities","score":0,"reason":"23 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-2g4f-4pwh-qvx6","Warn: Project is vulnerable to: GHSA-f886-m6hf-6m8v","Warn: Project is vulnerable to: GHSA-f23m-r3pf-42rh","Warn: Project is vulnerable to: GHSA-r5fr-rjxr-66jc","Warn: Project is vulnerable to: GHSA-23c5-xmqv-rm74","Warn: Project is vulnerable to: GHSA-3ppc-4f35-3m26","Warn: Project is vulnerable to: GHSA-7r86-cg39-jmmj","Warn: Project is vulnerable to: GHSA-2328-f5f3-gj25","Warn: Project is vulnerable to: GHSA-5m6q-g25r-mvwx","Warn: Project is vulnerable to: GHSA-ppp5-5v6c-4jwp","Warn: Project is vulnerable to: GHSA-q67f-28xg-22rw","Warn: Project is vulnerable to: GHSA-37ch-88jc-xwx2","Warn: Project is vulnerable to: GHSA-3v7f-55p6-f55p","Warn: Project is vulnerable to: GHSA-c2c7-rcm5-vvqj","Warn: Project is vulnerable to: GHSA-6rw7-vpxm-498p","Warn: Project is vulnerable to: GHSA-w7fw-mjwx-w883","Warn: Project is vulnerable to: GHSA-5c6j-r48x-rmvq","Warn: Project is vulnerable to: GHSA-qj8w-gfj5-8c6v","Warn: Project is vulnerable to: GHSA-xpqw-6gx7-v673","Warn: Project is vulnerable to: GHSA-38r7-794h-5758","Warn: Project is vulnerable to: GHSA-8fgc-7cc6-rx7x","Warn: Project is vulnerable to: GHSA-5j98-mcp5-4vw2","Warn: Project is vulnerable to: GHSA-mw96-cpmx-2vgc"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#vulnerabilities"}},{"name":"Pinned-Dependencies","score":7,"reason":"dependency not pinned by hash detected -- score normalized to 7","details":["Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/trivy.yml:39: update your workflow using https://app.stepsecurity.io/secureworkflow/OpenC3/cosmos/trivy.yml/main?enable=pin","Warn: containerImage not pinned by hash: openc3-buckets/Dockerfile:7: pin your Docker image by updating docker.io/alpine:3.23.3 to docker.io/alpine:3.23.3@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: openc3-buckets/Dockerfile-ubi:6","Warn: containerImage not pinned by hash: openc3-cosmos-cmd-tlm-api/Dockerfile:6: pin your Docker image by updating docker.io/openc3inc/openc3-base:latest to docker.io/openc3inc/openc3-base:latest@sha256:55fd0fffe9a9d078090f6dc7ce6dc02dc331f5cbfe11f2a0d9554e1656a265f2","Warn: containerImage not pinned by hash: openc3-cosmos-init/Dockerfile:9: pin your Docker image by updating docker.io/openc3inc/openc3-node:latest to docker.io/openc3inc/openc3-node:latest@sha256:121d812a3bba28bf773147de31671c230cf19c76b86df2186d6c6fd4eaf33b38","Warn: containerImage not pinned by hash: openc3-cosmos-init/Dockerfile:49","Warn: containerImage not pinned by hash: openc3-cosmos-init/Dockerfile:66","Warn: containerImage not pinned by hash: openc3-cosmos-init/Dockerfile:83","Warn: containerImage not pinned by hash: openc3-cosmos-init/Dockerfile:100","Warn: containerImage not pinned by hash: openc3-cosmos-init/Dockerfile:116: pin your Docker image by updating docker.io/openc3inc/openc3-base:latest to docker.io/openc3inc/openc3-base:latest@sha256:55fd0fffe9a9d078090f6dc7ce6dc02dc331f5cbfe11f2a0d9554e1656a265f2","Warn: containerImage not pinned by hash: openc3-cosmos-init/Dockerfile:117","Warn: containerImage not pinned by hash: openc3-cosmos-init/Dockerfile:128: pin your Docker image by updating docker.io/openc3inc/openc3-base:latest to docker.io/openc3inc/openc3-base:latest@sha256:55fd0fffe9a9d078090f6dc7ce6dc02dc331f5cbfe11f2a0d9554e1656a265f2","Warn: containerImage not pinned by hash: openc3-cosmos-script-runner-api/Dockerfile:6: pin your Docker image by updating docker.io/openc3inc/openc3-base:latest to docker.io/openc3inc/openc3-base:latest@sha256:55fd0fffe9a9d078090f6dc7ce6dc02dc331f5cbfe11f2a0d9554e1656a265f2","Warn: containerImage not pinned by hash: openc3-node/Dockerfile:5: pin your Docker image by updating docker.io/openc3inc/openc3-ruby:latest to docker.io/openc3inc/openc3-ruby:latest@sha256:a4291a51f51d4b64e092a8b35ca4e4f18512745d10cc8da9f09809932077f97a","Warn: containerImage not pinned by hash: openc3-node/Dockerfile-ubi:5: pin your Docker image by updating docker.io/openc3inc/openc3-ruby-ubi:latest to docker.io/openc3inc/openc3-ruby-ubi:latest@sha256:2a6e3fd3f2eef725954227ef65a8052aa98b6156055383ca183c4f4ddbceb290","Warn: containerImage not pinned by hash: openc3-operator/Dockerfile:6: pin your Docker image by updating docker.io/openc3inc/openc3-base:latest to docker.io/openc3inc/openc3-base:latest@sha256:55fd0fffe9a9d078090f6dc7ce6dc02dc331f5cbfe11f2a0d9554e1656a265f2","Warn: containerImage not pinned by hash: openc3-redis/Dockerfile:5: pin your Docker image by updating docker.io/valkey/valkey:9.0.3-alpine to docker.io/valkey/valkey:9.0.3-alpine@sha256:84c96f47ebe197e635cd3ddbe3ab74e8bdf783cf3befbfb1c36387275c1cd5d5","Warn: containerImage not pinned by hash: openc3-redis/Dockerfile-ubi:5","Warn: containerImage not pinned by hash: openc3-redis/Dockerfile-ubi:6","Warn: containerImage not pinned by hash: openc3-redis/Dockerfile-ubi:69","Warn: containerImage not pinned by hash: openc3-ruby/Dockerfile:7: pin your Docker image by updating docker.io/alpine:3.23.3 to docker.io/alpine:3.23.3@sha256:25109184c71bdad752c8312a8623239686a9a2071e8825f20acb8f2198c3f659","Warn: containerImage not pinned by hash: openc3-ruby/Dockerfile-ubi:5","Warn: containerImage not pinned by hash: openc3-traefik/Dockerfile:5: pin your Docker image by updating docker.io/traefik:v3.6.11 to docker.io/traefik:v3.6.11@sha256:acfc80650104f0194a15f73dc1648f517561bc1645391a15705332a064cfc33c","Warn: containerImage not pinned by hash: openc3-tsdb/Dockerfile:6: pin your Docker image by updating docker.io/questdb/questdb:9.3.3 to docker.io/questdb/questdb:9.3.3@sha256:e3643adc18f68bc02f3074c841d3f765f6c299443f8e4ca57b3bcac1a05e224d","Warn: containerImage not pinned by hash: openc3-tsdb/Dockerfile-ubi:6: pin your Docker image by updating docker.io/questdb/questdb:9.3.3-rhel to docker.io/questdb/questdb:9.3.3-rhel@sha256:06dc69f962f55031b4006a1c089ce0748fc5952075b5fef97a500f758fe7cc1e","Warn: containerImage not pinned by hash: openc3/Dockerfile:6: pin your Docker image by updating docker.io/openc3inc/openc3-ruby:latest to docker.io/openc3inc/openc3-ruby:latest@sha256:a4291a51f51d4b64e092a8b35ca4e4f18512745d10cc8da9f09809932077f97a","Warn: npmCommand not pinned by hash: openc3-node/Dockerfile:9-12","Warn: npmCommand not pinned by hash: openc3-node/Dockerfile-ubi:15-23","Warn: pipCommand not pinned by hash: openc3-ruby/Dockerfile:49-89","Warn: pipCommand not pinned by hash: openc3-ruby/Dockerfile-ubi:72-87","Warn: pipCommand not pinned by hash: .github/workflows/release.yml:69","Warn: pipCommand not pinned by hash: .github/workflows/release.yml:70","Info:  72 out of  73 GitHub-owned GitHubAction dependencies pinned","Info: 127 out of 127 third-party GitHubAction dependencies pinned","Info:   0 out of  25 containerImage dependencies pinned","Info:   0 out of   2 npmCommand dependencies pinned","Info:   0 out of   4 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/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#pinned-dependencies"}},{"name":"Contributors","score":10,"reason":"project has 9 contributing companies or organizations","details":["Info: found contributions from: ECE3SAT, ECEBORG, OpenC3, aws, iTeam-org, openc3, tensegrity-labs, tensegrity-labs @ballaerospace @baesystemsinc, windhover labs"],"documentation":{"short":"Determines if the project has a set of contributors from multiple organizations (e.g., companies).","url":"https://github.com/ossf/scorecard/blob/c22063e786c11f9dd714d777a687ff7c4599b600/docs/checks.md#contributors"}}]},"last_synced_at":"2026-04-03T14:54:59.654Z","repository_id":45797190,"created_at":"2026-04-03T14:54:59.654Z","updated_at":"2026-04-03T14:54:59.654Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":344956071,"owners_count":38449762,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-10-03T21:59:58.778Z","status":"online","status_checked_at":"2026-10-21T02:00:07.576Z","response_time":57,"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":"OpenC3","name":"OpenC3","uuid":"108913865","kind":"organization","description":"Open Source. Open Architecture. Command, Control and Communication","email":"support@openc3.com","website":null,"location":"United States of America","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/108913865?v=4","repositories_count":3,"last_synced_at":"2023-03-10T18:05:42.190Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/OpenC3","funding_links":[],"total_stars":null,"followers":null,"following":null,"created_at":"2023-02-14T20:23:46.755Z","updated_at":"2023-03-10T18:05:42.192Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenC3","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OpenC3/repositories"},"tags":[{"name":"v7.4.1","sha":"69ac2c5e1616e58f71b3a9214452cf92234ca248","kind":"tag","published_at":"2026-09-24T13:49:36.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v7.4.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v7.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v7.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.4.1/manifests"},{"name":"v7.4.0","sha":"b028dad9127e040b04eaade875f44491ccf72785","kind":"tag","published_at":"2026-09-11T00:36:44.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v7.4.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v7.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v7.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.4.0/manifests"},{"name":"v7.3.0","sha":"92f8c99cc8ed704d2cf747832f09b72d64b6fa65","kind":"tag","published_at":"2026-08-07T13:28:05.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v7.3.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v7.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v7.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.3.0/manifests"},{"name":"v7.2.1","sha":"af8883253b5e558b61ea75f38abec999f1eac5f4","kind":"tag","published_at":"2026-07-11T17:10:22.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v7.2.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v7.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v7.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.2.1/manifests"},{"name":"v7.2.0","sha":"77acb91cc2c3b21af3eb981c829285dea96c984e","kind":"tag","published_at":"2026-06-01T22:13:58.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v7.2.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v7.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v7.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.2.0/manifests"},{"name":"v7.1.1","sha":"e174a4a6439f28682e74baec89613658fdf9ce5e","kind":"tag","published_at":"2026-05-15T12:48:33.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v7.1.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v7.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v7.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.1.1/manifests"},{"name":"v6.10.6","sha":"3f53856e274519d2decb4735727b35de7ff8834d","kind":"tag","published_at":"2026-05-04T23:04:39.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.10.6","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.10.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.10.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.10.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.10.6/manifests"},{"name":"v7.1.0","sha":"069ca569e3f9c28809631a756c8afceffa365091","kind":"tag","published_at":"2026-04-30T23:33:12.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v7.1.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v7.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v7.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.1.0/manifests"},{"name":"v6.10.5","sha":"13ea2c8deb37ac3f306fee264e725602e5a6cf1a","kind":"tag","published_at":"2026-04-12T19:50:20.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.10.5","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.10.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.10.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.10.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.10.5/manifests"},{"name":"v7.0.1","sha":"88d58d6c3529c117fafbb726c8fe970b9f3e48ca","kind":"tag","published_at":"2026-04-10T22:04:45.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v7.0.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v7.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v7.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.0.1/manifests"},{"name":"v7.0.0","sha":"eb3e364e8f3d5a7ea68fd756625561192d0025f0","kind":"tag","published_at":"2026-03-26T21:31:03.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v7.0.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v7.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v7.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.0.0/manifests"},{"name":"v7.0.0-rc3","sha":"c3ea3499cc01801122361524f6ccce2fdfbc35f0","kind":"tag","published_at":"2026-03-06T14:54:54.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v7.0.0-rc3","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v7.0.0-rc3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v7.0.0-rc3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.0.0-rc3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.0.0-rc3/manifests"},{"name":"v7.0.0-rc2","sha":"64b376bcab48c6854ec535e0e76e69637571581a","kind":"tag","published_at":"2026-02-19T23:28:02.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v7.0.0-rc2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v7.0.0-rc2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v7.0.0-rc2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.0.0-rc2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.0.0-rc2/manifests"},{"name":"v7.0.0-rc1","sha":"132648bad3b202bc5acf4d099d0af2341ec97047","kind":"tag","published_at":"2026-02-16T20:07:11.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v7.0.0-rc1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v7.0.0-rc1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v7.0.0-rc1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.0.0-rc1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v7.0.0-rc1/manifests"},{"name":"v6.10.4","sha":"7e556090e78b39a99baceb9487ca9ac6227329bf","kind":"tag","published_at":"2026-01-10T20:29:29.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.10.4","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.10.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.10.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.10.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.10.4/manifests"},{"name":"v6.10.3","sha":"84287e747b53b8982d29b89cf17f04601f4eb5fa","kind":"tag","published_at":"2025-12-30T02:26:35.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.10.3","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.10.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.10.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.10.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.10.3/manifests"},{"name":"v6.10.2","sha":"180d4b639c11cf070671f0a49ba1cfaf87eb87f1","kind":"tag","published_at":"2025-12-16T20:26:02.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.10.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.10.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.10.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.10.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.10.2/manifests"},{"name":"v6.10.1","sha":"6e3e651ab6b9c0c6db5fdf5f5f142c7af2ba39b1","kind":"tag","published_at":"2025-12-10T04:10:01.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.10.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.10.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.10.1/manifests"},{"name":"v6.10.0","sha":"4615178e432d240b43c8fc9c1f37b016c6613292","kind":"tag","published_at":"2025-12-10T00:34:40.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.10.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.10.0/manifests"},{"name":"v6.9.2","sha":"84cda2971e33cbf843d4e1dc2644fcfd32ed8437","kind":"tag","published_at":"2025-11-05T19:21:03.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.9.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.9.2/manifests"},{"name":"v6.9.1","sha":"93824da6dfbfd898ba461e6120af5425080be1f1","kind":"tag","published_at":"2025-10-05T17:51:47.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.9.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.9.1/manifests"},{"name":"v6.9.0","sha":"0227123c3368ce9b730d0e41fc378edede1447a1","kind":"tag","published_at":"2025-10-03T21:39:07.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.9.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.9.0/manifests"},{"name":"v6.8.1","sha":"9ede3c89ae42b2e66b3392af7acb120a278d18cc","kind":"tag","published_at":"2025-09-13T16:32:49.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.8.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.8.1/manifests"},{"name":"v6.8.0","sha":"9a087a322b0996fae26d05f9219466954c8fc2e3","kind":"tag","published_at":"2025-09-11T21:41:56.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.8.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.8.0/manifests"},{"name":"v6.7.0","sha":"75e3448c0363b457642080e1f9543b6ecca11f03","kind":"tag","published_at":"2025-08-05T01:23:23.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.7.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.7.0/manifests"},{"name":"v6.6.0","sha":"88c6c31f501e31bca267ff650232c9c32ce28c2a","kind":"tag","published_at":"2025-07-08T18:07:31.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.6.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.6.0/manifests"},{"name":"v6.5.1","sha":"15bdb3077b04f9efe139923dff161df57a3a2412","kind":"tag","published_at":"2025-06-30T22:30:52.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.5.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.5.1/manifests"},{"name":"v6.5.0","sha":"d9254577345675c825fd34b5b686ee0125308a90","kind":"tag","published_at":"2025-06-13T04:09:37.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.5.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.5.0/manifests"},{"name":"v6.4.2","sha":"88435bf40bab73118fcaeb1a18d54e654c58d6e5","kind":"tag","published_at":"2025-05-30T21:03:37.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.4.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.4.2/manifests"},{"name":"v6.4.1","sha":"de60d618ea70cf0d818110a1152bad664d43d57d","kind":"tag","published_at":"2025-05-14T17:43:37.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.4.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.4.1/manifests"},{"name":"v6.4.0","sha":"a50e07106885551c55a3f79689f8084cff985385","kind":"tag","published_at":"2025-05-07T19:30:14.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.4.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.4.0/manifests"},{"name":"v6.3.0","sha":"28260dfbc3e80f5d590cde659748f786d32c39bf","kind":"tag","published_at":"2025-04-05T03:51:24.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.3.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.3.0/manifests"},{"name":"v6.2.1","sha":"8821e9008ac4e8a7e9e70898150d5a41a0e5526c","kind":"tag","published_at":"2025-03-07T03:04:23.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.2.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.2.1/manifests"},{"name":"v6.2.0","sha":"0c189161e153cc39feac296a5fbadced6f6b87b9","kind":"tag","published_at":"2025-03-01T22:57:33.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.2.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.2.0/manifests"},{"name":"v6.1.0","sha":"165b29b9cdf33b7676cb3da80bf123937c09b8bc","kind":"tag","published_at":"2025-02-05T06:23:07.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.1.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.1.0/manifests"},{"name":"v6.0.2","sha":"65fd4be2423c5d9d84642a7c0f049f0b36998dde","kind":"tag","published_at":"2025-01-09T20:18:15.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.0.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.0.2/manifests"},{"name":"v6.0.1","sha":"697092ddcd173c053ce32ef8058f4ae7751c47d4","kind":"tag","published_at":"2024-12-20T22:08:55.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.0.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.0.1/manifests"},{"name":"v6.0.0","sha":"6e0d24067e57572254471e0460bcc10931740c40","kind":"tag","published_at":"2024-12-17T22:05:17.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v6.0.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v6.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v6.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v6.0.0/manifests"},{"name":"v5.20.0","sha":"c4f22dbd01f17538236a2d9b585a48d076a85296","kind":"tag","published_at":"2024-10-30T23:01:04.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.20.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.20.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.20.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.20.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.20.0/manifests"},{"name":"v5.19.0","sha":"fa395189069aee7697f67e1739bc37c56fcc3e6d","kind":"tag","published_at":"2024-10-01T19:34:50.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.19.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.19.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.19.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.19.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.19.0/manifests"},{"name":"v5.18.0","sha":"c38c4f73671404aaf5181c7d4f360a0b766e8141","kind":"tag","published_at":"2024-08-19T20:35:48.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.18.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.18.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.18.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.18.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.18.0/manifests"},{"name":"v5.17.1","sha":"30d516ca252a513dc582a87aaabbe1e24bb02654","kind":"tag","published_at":"2024-06-27T14:05:33.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.17.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.17.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.17.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.17.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.17.1/manifests"},{"name":"v5.17.0","sha":"4315ac6d9f89a37c20dcb7e6f417bdfe6fb9497a","kind":"tag","published_at":"2024-06-26T03:49:25.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.17.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.17.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.17.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.17.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.17.0/manifests"},{"name":"v5.16.2","sha":"efa36d35a8c315464653e2a0639130340a780879","kind":"tag","published_at":"2024-05-23T16:41:22.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.16.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.16.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.16.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.16.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.16.2/manifests"},{"name":"v5.16.1","sha":"751650061f6766d6592bf351e6ec033227050303","kind":"tag","published_at":"2024-05-08T23:43:59.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.16.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.16.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.16.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.16.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.16.1/manifests"},{"name":"v5.16.0","sha":"0150fd4f9eb564e6862bdfaa0ff577543a77daf2","kind":"tag","published_at":"2024-05-04T03:13:06.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.16.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.16.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.16.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.16.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.16.0/manifests"},{"name":"v5.15.2","sha":"aba97d02ad0a188a01241f5f079ceaa5947ac446","kind":"tag","published_at":"2024-04-01T02:54:27.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.15.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.15.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.15.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.15.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.15.2/manifests"},{"name":"v5.15.1","sha":"5f2a1acf2a6e62567c38497b97cf31d6dab1fcda","kind":"tag","published_at":"2024-03-15T17:54:55.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.15.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.15.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.15.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.15.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.15.1/manifests"},{"name":"v5.15.0","sha":"eb864ffee3a7b6b2ee7242f52581932c59a0ec8d","kind":"tag","published_at":"2024-03-10T03:38:26.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.15.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.15.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.15.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.15.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.15.0/manifests"},{"name":"v5.14.2","sha":"202c88bcae0a28eedd08107b56b575fe56428601","kind":"tag","published_at":"2024-02-10T22:01:48.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.14.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.14.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.14.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.14.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.14.2/manifests"},{"name":"v5.14.1","sha":"4e6dd174bd025cac6ea4981b9a8f58f835d2c0d6","kind":"tag","published_at":"2024-01-24T22:23:33.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.14.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.14.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.14.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.14.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.14.1/manifests"},{"name":"v5.14.0","sha":"b80f485f16985a97404ec4ff8ebd155aed648b4b","kind":"tag","published_at":"2024-01-18T23:49:55.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.14.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.14.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.14.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.14.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.14.0/manifests"},{"name":"v5.13.0","sha":"1f81670e9ce858e5de15909f9bb64874d314a3d4","kind":"tag","published_at":"2023-12-18T17:30:58.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.13.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.13.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.13.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.13.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.13.0/manifests"},{"name":"v5.12.0","sha":"a912ebbd272f6e4625a66e7dbec03763a279d710","kind":"tag","published_at":"2023-11-10T15:04:58.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.12.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.12.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.12.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.12.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.12.0/manifests"},{"name":"v5.11.3","sha":"37b1ea37b0ca43f9693fa30adb80066a518e7227","kind":"tag","published_at":"2023-10-09T19:57:25.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.11.3","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.11.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.11.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.11.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.11.3/manifests"},{"name":"v5.11.2","sha":"289740e54c919eae784c85cdd38407c719691e1b","kind":"tag","published_at":"2023-10-02T23:50:46.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.11.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.11.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.11.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.11.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.11.2/manifests"},{"name":"v5.11.1","sha":"7dd722b1c1f28d385781d8161ddd851e93bc443f","kind":"tag","published_at":"2023-09-30T02:29:10.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.11.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.11.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.11.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.11.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.11.1/manifests"},{"name":"v5.11.0","sha":"faaf5d33847d2b9675e2fb29d7f75a1041cb8211","kind":"tag","published_at":"2023-09-18T00:17:26.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.11.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.11.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.11.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.11.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.11.0/manifests"},{"name":"v5.10.1","sha":"0d72d21aaa6f79cf5c9e295c29f3bb36b3123234","kind":"tag","published_at":"2023-08-17T14:02:07.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.10.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.10.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.10.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.10.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.10.1/manifests"},{"name":"v5.10.0","sha":"391e303c5a996af02f02cb32d9d6768f898822c5","kind":"tag","published_at":"2023-08-05T02:26:57.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.10.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.10.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.10.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.10.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.10.0/manifests"},{"name":"v5.9.1","sha":"039255a41cc53c38d5f8ee8dc45e1d26144330f0","kind":"tag","published_at":"2023-07-17T03:31:40.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.9.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.9.1/manifests"},{"name":"v5.9.0","sha":"a82e729606a3099bc88394c915a3ef300819ac13","kind":"tag","published_at":"2023-07-07T14:49:08.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.9.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.9.0/manifests"},{"name":"v5.8.1","sha":"f48b5a752a36fcd0c66a6b6dad1e2baec4370dc4","kind":"tag","published_at":"2023-05-29T22:34:39.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.8.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.8.1/manifests"},{"name":"v5.8.0","sha":"edff8ea896714cb2c322556f6406780b5209e244","kind":"tag","published_at":"2023-05-26T20:13:22.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.8.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.8.0/manifests"},{"name":"v5.7.2","sha":"2998dfd395276c31f5211d478a7d45e666d7165f","kind":"tag","published_at":"2023-05-16T15:01:29.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.7.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.7.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.7.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.7.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.7.2/manifests"},{"name":"v5.7.0","sha":"6670fd4558c1f603612d24ca72a215606163f76a","kind":"tag","published_at":"2023-05-10T22:18:00.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.7.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.7.0/manifests"},{"name":"v5.6.1","sha":"580186cb1e60d18d88b3ec0418ceeb00c178ff67","kind":"tag","published_at":"2023-04-21T03:42:04.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.6.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.6.1/manifests"},{"name":"v5.6.0","sha":"c55e16152248bf95b966ca64755b496e567d8cf4","kind":"tag","published_at":"2023-04-17T02:51:25.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.6.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.6.0/manifests"},{"name":"v5.5.2","sha":"52ae61515678847d2c77514b0fad57c61b449d19","kind":"tag","published_at":"2023-03-16T04:25:28.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.5.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.5.2/manifests"},{"name":"v5.5.2-beta0","sha":"945e7e8055ed9b6f36385015dc31206085b27691","kind":"tag","published_at":"2023-03-15T03:45:09.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.5.2-beta0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.5.2-beta0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.5.2-beta0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.5.2-beta0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.5.2-beta0/manifests"},{"name":"v5.5.1","sha":"b5e3f2186d7b39b12e1a164fc767071b15dc9403","kind":"tag","published_at":"2023-02-26T15:06:15.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.5.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.5.1/manifests"},{"name":"v5.5.0","sha":"13a12dc04bb7a9c6f3bbc32a353262ccc7376525","kind":"tag","published_at":"2023-02-23T20:11:48.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.5.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.5.0/manifests"},{"name":"v5.5.0-beta0","sha":"5f87ba7744e30c015af9c1bb8c1ee6c4b85a988a","kind":"tag","published_at":"2023-02-17T00:37:32.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.5.0-beta0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.5.0-beta0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.5.0-beta0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.5.0-beta0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.5.0-beta0/manifests"},{"name":"v5.4.3-beta0","sha":"f52b4668fed3f03f03b230716c2760411a483bde","kind":"tag","published_at":"2023-02-14T17:01:51.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.4.3-beta0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.4.3-beta0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.4.3-beta0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.4.3-beta0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.4.3-beta0/manifests"},{"name":"v5.4.2","sha":"2a09e1222d03cb00478c232fde67b3a881c6df96","kind":"tag","published_at":"2023-02-04T03:56:05.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.4.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.4.2/manifests"},{"name":"v5.4.1","sha":"4c1bcfb1df0993e17c5a3dc5c7e5891530325bd2","kind":"tag","published_at":"2023-02-03T00:53:57.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.4.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.4.1/manifests"},{"name":"v5.4.0","sha":"b4c2ce72825a63adf6a0fda9fb668dfd754dfe62","kind":"tag","published_at":"2023-02-02T01:08:31.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.4.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.4.0/manifests"},{"name":"v5.3.0","sha":"34ab4e2030c67b735bbd96e8912def405b8ed6a2","kind":"tag","published_at":"2023-01-05T22:16:00.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.3.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.3.0/manifests"},{"name":"v5.2.0","sha":"59887253fd1f78bde363207b71f946d5f366b57d","kind":"tag","published_at":"2022-12-13T23:02:41.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.2.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.2.0/manifests"},{"name":"v5.1.1","sha":"f5192ade6684d3691daf022b079646820f847ce6","kind":"tag","published_at":"2022-11-19T03:19:28.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.1.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.1.1/manifests"},{"name":"v5.1.0","sha":"b39e7b7031bcf5830b9c1ec8dc8f52508bfc17ef","kind":"tag","published_at":"2022-11-17T23:55:48.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.1.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.1.0/manifests"},{"name":"v5.0.11","sha":"7a843e7fc468956cde810f596046355ba0133318","kind":"tag","published_at":"2022-10-03T20:11:03.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.0.11","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.0.11","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.0.11","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.11","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.11/manifests"},{"name":"v5.0.10","sha":"0a0afbd5a5af9029bd4133402ebdc4216a72d67d","kind":"tag","published_at":"2022-09-17T00:37:49.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.0.10","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.0.10","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.0.10","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.10","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.10/manifests"},{"name":"v5.0.9","sha":"6891a339a82a0bf3afdce3fb7fd4d1adb4de25c6","kind":"tag","published_at":"2022-09-02T12:59:38.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.0.9","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.0.9","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.0.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.9/manifests"},{"name":"v5.0.8","sha":"8d90e35120696ee411c2e15cf9a7bf8ec6257312","kind":"tag","published_at":"2022-08-13T17:45:41.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.0.8","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.0.8","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.0.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.8/manifests"},{"name":"v5.0.7","sha":"d4dd9ea16a8a7580b04ce22fbec7f91c988d6b2d","kind":"tag","published_at":"2022-08-05T01:46:59.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.0.7","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.0.7","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.7/manifests"},{"name":"v5.0.6","sha":"3119c098095481df5a6d24625ccf2f619e283f8c","kind":"tag","published_at":"2022-07-29T17:27:12.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.0.6","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.0.6","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.6/manifests"},{"name":"v5.0.5","sha":"cad3a5eac915252f2fc563efe19bc0b54836a566","kind":"tag","published_at":"2022-06-25T21:55:13.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.0.5","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.0.5","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.5/manifests"},{"name":"v5.0.4","sha":"1fa9dfe5c0e656ba3cc49f0cf4130aa7e9afa49c","kind":"tag","published_at":"2022-05-24T19:43:33.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.0.4","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.0.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.4/manifests"},{"name":"v5.0.3","sha":"80f31bc3492f4a83a5d79a28ac0a2805ec52b927","kind":"tag","published_at":"2022-05-13T18:20:28.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.0.3","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.3/manifests"},{"name":"v5.0.2","sha":"7e5eb5362829eb143e6a3d05cf4cbb18fd362fee","kind":"tag","published_at":"2022-04-28T21:02:10.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.0.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.2/manifests"},{"name":"v5.0.2-beta2","sha":"55d77fc8eb77f6f42483f4bea095719dafaa8a63","kind":"tag","published_at":"2022-04-28T04:38:42.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.0.2-beta2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.0.2-beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.0.2-beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.2-beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.2-beta2/manifests"},{"name":"v4.5.2","sha":"22e4176bf34d700ea5103c049a1e7d699d2af6d5","kind":"tag","published_at":"2022-01-28T16:28:44.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v4.5.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v4.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v4.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.5.2/manifests"},{"name":"v5.0.1","sha":"ae24be6954b8a218ea2fc0ede5e04459816fdd21","kind":"tag","published_at":"2021-11-25T02:56:08.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.0.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.1/manifests"},{"name":"v4.5.1","sha":"32a9e25ea07953c5502e1d5917c7fb2147744927","kind":"tag","published_at":"2021-09-21T19:40:34.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v4.5.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v4.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v4.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.5.1/manifests"},{"name":"v5.0.0","sha":"8564ea619f339311a3b70b31ce7a780682de8ccb","kind":"tag","published_at":"2021-08-15T01:36:36.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.0.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.0/manifests"},{"name":"v5.0.0.beta2","sha":"53e2ba201698ca6494846740fe09502637e4a5cc","kind":"tag","published_at":"2021-04-12T22:58:05.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.0.0.beta2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.0.0.beta2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.0.0.beta2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.0.beta2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.0.beta2/manifests"},{"name":"v5.0.0-beta.1","sha":"e88c318fdf324842d12979af8ba3cb818b222def","kind":"tag","published_at":"2021-01-09T22:04:47.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.0.0-beta.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.0.0-beta.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.0.0-beta.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.0-beta.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.0-beta.1/manifests"},{"name":"v4.5.0","sha":"6bfca322d46484b0de5f5d20fc12b4dad45aaed7","kind":"tag","published_at":"2020-11-06T05:01:40.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v4.5.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v4.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v4.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.5.0/manifests"},{"name":"v5.0.0-alpha.1","sha":"2ff6fe69bc4d65ebabbb6f5fae574c6469fd4a2e","kind":"tag","published_at":"2020-08-31T22:41:06.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v5.0.0-alpha.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v5.0.0-alpha.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v5.0.0-alpha.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.0-alpha.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v5.0.0-alpha.1/manifests"},{"name":"v4.4.2","sha":"35db7030875f32676b63e8916901dbae50f72e07","kind":"tag","published_at":"2020-03-09T18:37:22.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v4.4.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v4.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v4.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.4.2/manifests"},{"name":"v4.4.1","sha":"5183488c1354f638d5a484dc8d59a3cc9aedb9dd","kind":"tag","published_at":"2019-12-30T22:08:47.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v4.4.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v4.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v4.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.4.1/manifests"},{"name":"v4.4.0","sha":"68e9c7fad431c46eb5bd3a9f4bc9492380a81cbd","kind":"tag","published_at":"2019-06-28T23:12:12.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v4.4.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v4.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v4.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.4.0/manifests"},{"name":"v4.3.0","sha":"8c195f66f846e07e12e136dfd69d1dc925955a32","kind":"tag","published_at":"2018-08-30T21:59:11.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v4.3.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v4.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v4.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.3.0/manifests"},{"name":"v4.2.4","sha":"dc24e3f044aa1514a8ddfa6b0e32b2ec97b05e2e","kind":"tag","published_at":"2018-05-16T19:29:47.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v4.2.4","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v4.2.4","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v4.2.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.2.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.2.4/manifests"},{"name":"v4.2.3","sha":"0f3edbec8c96973f0f9c2e16a54b5a91db8ea869","kind":"tag","published_at":"2018-04-17T20:09:23.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v4.2.3","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v4.2.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v4.2.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.2.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.2.3/manifests"},{"name":"v4.2.2","sha":"2e9d5e722c5900b3cc8698ca47c834b3bc221362","kind":"tag","published_at":"2018-04-11T16:17:16.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v4.2.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v4.2.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v4.2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.2.2/manifests"},{"name":"v4.2.1","sha":"3f23003fb13dd6b95671e629e3653edd1de7a217","kind":"tag","published_at":"2018-04-11T16:07:08.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v4.2.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v4.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v4.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.2.1/manifests"},{"name":"v4.2.0","sha":"37634231d2c049188149e28345bc80df36b493cf","kind":"tag","published_at":"2018-04-10T16:20:45.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v4.2.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v4.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v4.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.2.0/manifests"},{"name":"v4.1.1","sha":"c27715a4e5b485cb1911c1e6cd20f51b114cda18","kind":"tag","published_at":"2017-12-06T20:48:01.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v4.1.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v4.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v4.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.1.1/manifests"},{"name":"v4.1.0","sha":"74cb36fcc408eeab2765feb62c17efbae36848eb","kind":"tag","published_at":"2017-11-17T23:50:09.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v4.1.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v4.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v4.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.1.0/manifests"},{"name":"v4.0.3","sha":"4491933f1be884051d131c9603d662638cc5c39c","kind":"tag","published_at":"2017-10-03T20:31:22.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v4.0.3","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v4.0.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v4.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.0.3/manifests"},{"name":"v4.0.2","sha":"76cf51905922870ebc07c546bc2f475f6e02fb1d","kind":"tag","published_at":"2017-09-29T21:24:30.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v4.0.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v4.0.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v4.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.0.2/manifests"},{"name":"v4.0.1","sha":"0558c2ea8c6684f508cfa0c0ca81db8290a7be30","kind":"tag","published_at":"2017-08-23T22:36:55.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v4.0.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v4.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v4.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.0.1/manifests"},{"name":"v4.0.0","sha":"6153ee7311a059f0e66c984c1a3a37be7753535f","kind":"tag","published_at":"2017-08-04T20:11:49.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v4.0.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v4.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v4.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v4.0.0/manifests"},{"name":"v3.9.2","sha":"f0f6c9880d294cb9a09038cb7c8b0a83a87f1b26","kind":"tag","published_at":"2017-05-18T19:06:38.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.9.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.9.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.9.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.9.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.9.2/manifests"},{"name":"v3.9.1","sha":"e5fecad148c4a9bb0628de4ce3026b1ee65e9a5a","kind":"tag","published_at":"2017-03-29T22:00:14.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.9.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.9.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.9.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.9.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.9.1/manifests"},{"name":"v3.9.0","sha":"0d2d495007138d6145a42b4cba9176f3e606640d","kind":"tag","published_at":"2017-03-29T21:49:40.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.9.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.9.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.9.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.9.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.9.0/manifests"},{"name":"v3.8.3","sha":"5f496419cbba4119c58a1ac76a3c097f626dc586","kind":"tag","published_at":"2016-12-06T18:23:40.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.8.3","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.8.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.8.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.8.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.8.3/manifests"},{"name":"v3.8.2","sha":"1b839716bb7122c31deff116af60a339a5af8407","kind":"tag","published_at":"2016-07-05T22:23:04.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.8.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.8.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.8.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.8.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.8.2/manifests"},{"name":"v3.8.1","sha":"97881093d48c0048111945a69e5aa093619e3a7c","kind":"tag","published_at":"2016-05-12T17:56:27.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.8.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.8.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.8.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.8.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.8.1/manifests"},{"name":"v3.8.0","sha":"177368de8cd9e2af72959bb49770d9a03a4b0dc0","kind":"tag","published_at":"2016-02-27T06:06:53.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.8.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.8.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.8.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.8.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.8.0/manifests"},{"name":"v3.7.1","sha":"dd80433f0d18eef105d63c3eefd31282cdfc25cd","kind":"tag","published_at":"2015-12-29T22:21:27.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.7.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.7.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.7.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.7.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.7.1/manifests"},{"name":"v3.7.0","sha":"c4ab18dc1f9631e7f6927a84e244cb8009492d14","kind":"tag","published_at":"2015-11-25T20:12:22.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.7.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.7.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.7.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.7.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.7.0/manifests"},{"name":"v3.6.3","sha":"01af255d18e5fa10b08d8b8452493b8300948917","kind":"tag","published_at":"2015-10-30T19:47:05.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.6.3","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.6.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.6.3/manifests"},{"name":"v3.6.2","sha":"10fc352da77c74dbb4fda9206804f777cc68db02","kind":"tag","published_at":"2015-08-10T23:22:51.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.6.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.6.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.6.2/manifests"},{"name":"v3.6.1","sha":"c459fe69f1fbc2fbef635384eae6547d1d44553e","kind":"tag","published_at":"2015-08-10T19:06:14.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.6.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.6.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.6.1/manifests"},{"name":"v3.6.0","sha":"3b4f4bf2a69d33e27d189c363b89a8e87a95ba7e","kind":"tag","published_at":"2015-08-07T18:30:12.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.6.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.6.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.6.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.6.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.6.0/manifests"},{"name":"v3.5.3","sha":"7a92ece7cf4a73338a3dc85946737408666586c9","kind":"tag","published_at":"2015-07-14T22:06:19.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.5.3","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.5.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.5.3/manifests"},{"name":"v3.5.2","sha":"d7b539db1d04babd58977f9f3e96415849cdd2c7","kind":"tag","published_at":"2015-07-14T21:30:12.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.5.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.5.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.5.2/manifests"},{"name":"v3.5.1","sha":"b45f89e3fb5f3bec353cbc8332bda7690351b01c","kind":"tag","published_at":"2015-07-08T20:45:24.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.5.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.5.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.5.1/manifests"},{"name":"v3.5.0","sha":"5547894c10e2b151f8ecf5a5cbec5d0dbab817df","kind":"tag","published_at":"2015-06-22T20:06:22.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.5.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.5.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.5.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.5.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.5.0/manifests"},{"name":"v3.4.2","sha":"e77d30e23979812fe42af5288b0e44bec07791ee","kind":"tag","published_at":"2015-05-08T22:15:52.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.4.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.4.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.4.2/manifests"},{"name":"v3.4.1","sha":"0afae00e02150dd47d85e5428e56c617813ad9ae","kind":"tag","published_at":"2015-05-01T20:38:49.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.4.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.4.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.4.1/manifests"},{"name":"v3.4.0","sha":"fbc41db94ea70a1c3344f41c89141eebc670eb1f","kind":"tag","published_at":"2015-04-27T16:06:56.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.4.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.4.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.4.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.4.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.4.0/manifests"},{"name":"v3.3.3","sha":"4a664742905b12588f719e6a01e8f3f3bd3a45c9","kind":"tag","published_at":"2015-03-23T20:44:32.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.3.3","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.3.3","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.3.3/manifests"},{"name":"v3.3.2","sha":"0a45f56bad6762bd9baf3c49dbf09147e3918b24","kind":"tag","published_at":"2015-03-23T19:56:20.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.3.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.3.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.3.2/manifests"},{"name":"v3.3.1","sha":"f71919f53599e83ec16393bdd23fadd8ba2f1541","kind":"tag","published_at":"2015-03-19T22:53:25.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.3.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.3.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.3.1/manifests"},{"name":"v3.3.0","sha":"dafb6c64193abc4596156e6d1fb0a0deb1110bb9","kind":"tag","published_at":"2015-03-19T22:41:56.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.3.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.3.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.3.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.3.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.3.0/manifests"},{"name":"v3.2.1","sha":"cadd66b3e97af3891c1041969676cd7a03483a03","kind":"tag","published_at":"2015-02-23T16:11:19.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.2.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.2.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.2.1/manifests"},{"name":"v3.2.0","sha":"6f4ff2d6efbef229a8db2719cd9491c86f7082a4","kind":"tag","published_at":"2015-02-17T21:04:45.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.2.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.2.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.2.0/manifests"},{"name":"v3.1.2","sha":"82f7806ea1254bbc867bdab3cfe97a78446067db","kind":"tag","published_at":"2015-02-03T23:09:29.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.1.2","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.1.2","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.1.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.1.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.1.2/manifests"},{"name":"v3.1.1","sha":"2539664160c012cb703fa0ea0bfd479f99170a0d","kind":"tag","published_at":"2015-01-28T20:19:58.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.1.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.1.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.1.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.1.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.1.1/manifests"},{"name":"v3.1.0","sha":"b48940656c271344ab5d18c7d2361bcb046a9fd4","kind":"tag","published_at":"2015-01-28T14:39:12.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.1.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.1.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.1.0/manifests"},{"name":"v3.0.1","sha":"5a60c8c40f434d7a25c54eed3f26df12271846f4","kind":"tag","published_at":"2015-01-06T17:54:35.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.0.1","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.0.1","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.0.1/manifests"},{"name":"v3.0.0","sha":"75783ded4d9c0a86b01bf802b3612713a6cd39f8","kind":"tag","published_at":"2014-12-29T20:42:40.000Z","download_url":"https://codeload.github.com/OpenC3/cosmos/tar.gz/v3.0.0","html_url":"https://github.com/OpenC3/cosmos/releases/tag/v3.0.0","dependencies_parsed_at":null,"dependency_job_id":null,"purl":"pkg:github/OpenC3/cosmos@v3.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/tags/v3.0.0/manifests"}]},"repo_metadata_updated_at":"2026-10-23T22:25:37.918Z","dependent_packages_count":0,"downloads":111832,"downloads_period":"total","dependent_repos_count":0,"rankings":{"downloads":16.82507758350364,"dependent_repos_count":0.0,"dependent_packages_count":0.0,"stargazers_count":null,"forks_count":null,"docker_downloads_count":null,"average":5.608359194501213},"purl":"pkg:gem/openc3?repository_url=https://gem.coop","advisories":[{"uuid":"GSA_kwCzR0hTQS1qanE3LW03MzYtdzk3N84AB6ba","url":"https://github.com/advisories/GHSA-jjq7-m736-w977","title":"OpenC3 COSMOS: Authenticated remote code execution via the user-writable config overlay (table definitions, cmd/tlm definitions, and script suites)","description":"### Summary\n\nCOSMOS reads configuration from a user-writable overlay (`targets_modified/`) before the read-only plugin-installed `targets/` tree, and the config subsystem executes code on those files: `ConfigParser` renders every file as ERB by default, a `GENERIC_READ_CONVERSION` / `GENERIC_WRITE_CONVERSION` block is evaluated as code by `GenericConversion` (Ruby and Python), and the Script Runner suite analysis `require`s a procedure file. An authenticated user can write into `targets_modified/` below the admin tier (the storage-upload endpoint exempts that area from the admin gate, and the screen-save endpoint stores its body verbatim there), so the same root cause is reachable through several features, each giving arbitrary code execution on a COSMOS server.\n\nThree vulnerable routes were identified, all reachable by an authenticated non-admin user (in the open-source edition `authorize` ignores the permission string, so any authenticated user qualifies):\n\n1. **Table definitions** (immediate). `tables#generate|report|load` reads a definition from `targets_modified/` and ERB-renders it and evaluates its `GENERIC_*_CONVERSION` block in the `cmd-tlm-api` container.\n2. **Command/telemetry definitions** (persistent). A file written to `targets_modified/\u003cTARGET\u003e/cmd_tlm/` is overlaid by `System.setup_targets` and processed by `PacketConfig` in the decom/multi microservices: ERB-rendered in the Ruby implementation, and GENERIC-evaluated in both the Ruby and Python implementations (the Python `ConfigParser` does not run ERB). It executes on the next microservice (re)start.\n3. **Script Runner suites** (immediate). A procedure written to `targets_modified/\u003cTARGET\u003e/procedures/` is `require`d by the suite analysis, reachable at the read-only `script_view` tier through `scripts#body` and `running_script#show` (the analysis subprocess is spawned when `OPENC3_SERVICE_PASSWORD` is configured, which it is in the shipped `.env`).\n\n### Details\n\nRoot cause. `TargetFile.body` (Ruby `openc3/lib/openc3/utilities/target_file.rb`, Python `openc3/python/openc3/utilities/target_file.py`) reads `{scope}/targets_modified/{name}` before `{scope}/targets/{name}`. The storage-upload endpoint `storage_controller.rb get_upload_presigned_request` is gated at `system_set` and exempts `targets_modified/` and `tmp/` from its `admin` check (so a write there is not admin-gated); for a target path it additionally calls `authorize_bucket_path`, which in the permission-enforcing edition requires `tlm` on the target, while in the open-source edition `authorize` ignores the permission string entirely. `screens_controller.rb create` (`system_set`) stores its request body verbatim under `targets_modified/\u003ctarget\u003e/screens/`. So a non-admin can place files in the overlay. The config subsystem then executes them.\n\nSink 1, ERB. `ConfigParser#parse_file` renders the file as ERB before parsing (`run_erb` defaults to true):\n```ruby\n# openc3/lib/openc3/config/config_parser.rb:402\noutput = ERB.new(File.read(filename)...comment_erb(), trim_mode: \"-\").result(...)\n```\nReached for table definitions via `tables_controller.rb` -\u003e `Table.get_definitions` -\u003e `TableConfig.process_file` -\u003e `parse_file`, and for cmd/tlm definitions via `System.setup_targets` (`system.rb`, whose overlay loop copies `targets_modified/\u003cT\u003e/cmd_tlm/*` over the read-only files) -\u003e `PacketConfig#process_file` -\u003e `parse_file`.\n\nSink 2, GENERIC conversion. `PacketConfig`/`TableConfig` build a `GenericConversion` from a `GENERIC_READ_CONVERSION_START .. END` / `GENERIC_WRITE_CONVERSION_START .. END` block, and `GenericConversion#call` evaluates it (independent of ERB):\n```ruby\n# openc3/lib/openc3/conversions/generic_conversion.rb (call)\neval(@code_to_eval)\n# Python openc3/python/openc3/conversions/generic_conversion.py (call): compile()/exec()/eval()\n```\nThe read conversion fires on `tables#report`/`load` and during telemetry decom; the write conversion fires on `tables#generate` and on `restore_defaults`.\n\nSink 3, suite require. The Script Runner suite analysis executes the file:\n```ruby\n# openc3-cosmos-script-runner-api/scripts/run_suite_analysis.rb:24\nrequire ARGV[1]      # runs all top-level code of the supplied file\n```\nreached from `Script.process_suite`, invoked by `scripts#body` and `running_script#show` (both `script_view`) and `scripts#create` (`script_edit`) when the file matches the suite pattern.\n\nPermission tiers. Writing the payload needs `system_set` (screen save, storage upload) or `script_edit` (script create); triggering needs `system` (tables) or `script_view` (suite). These are below the tiers where COSMOS gates code execution elsewhere (plugin install requires `admin`, running a script requires `script_run`).\n\n### PoC\n\nTable definition path, against a standard stack. Benign payload writes `id` to a marker file. This PoC uses the open-source password login; in the permission-enforcing edition substitute a bearer token for a user holding the permissions noted above.\n```bash\nBASE=http://localhost:2900/openc3-api      # adjust to your deployment\nTOKEN=$(curl -s -X POST \"$BASE/auth/verify\" -H 'Content-Type: application/json' -d '{\"password\":\"\u003cyour password\u003e\"}')\n\n# 1) Write the payload into targets_modified/ via the screen save endpoint.\ncurl -s -X POST \"$BASE/screen\" -H \"Authorization: $TOKEN\" \\\n  --data-urlencode 'scope=DEFAULT' --data-urlencode 'target=INST' --data-urlencode 'screen=poc' \\\n  --data-urlencode $'text=SCREEN AUTO AUTO 1.0\\n\u003c%= File.write(\"/tmp/erb_rce_poc\", `id`) %\u003e\\nLABEL poc'\n\n# 2) Trigger by pointing a table action at that file.\ncurl -s -X POST \"$BASE/tables/generate\" -H \"Authorization: $TOKEN\" \\\n  --data-urlencode 'scope=DEFAULT' --data-urlencode 'definition=INST/screens/poc.txt'\n```\nThen in the cmd-tlm-api container: `cat /tmp/erb_rce_poc` shows `uid=1001(openc3) ...`. The `tables/generate` request returns HTTP 500 (the screen lines are not valid table keywords); the marker shows the code already ran.\n\nThe same outcome without ERB, using the GENERIC sink, on the same `tables/generate` trigger:\n```\nTABLE \"data\" BIG_ENDIAN KEY_VALUE \"poc\"\n  APPEND_PARAMETER \"item1\" 8 UINT 0 255 0 \"Item\"\n    GENERIC_WRITE_CONVERSION_START\n      `id \u003e /tmp/erb_rce_poc`\n      0\n    GENERIC_WRITE_CONVERSION_END\n```\n\ncmd/tlm path: upload a telemetry definition containing the same ERB or GENERIC block to `targets_modified/\u003cTARGET\u003e/cmd_tlm/\u003cfile\u003e.txt` via the storage-upload presigned request (`system_set`), then the code runs in that target's decom microservice on its next restart. Suite path: write a suite-shaped procedure to `targets_modified/\u003cTARGET\u003e/procedures/\u003cx\u003e.rb` and call `scripts#body` on it at `script_view`.\n\nThe ERB table chain was confirmed end to end over HTTP against a booted Rails and puma instance.\n\n### Impact\n\nArbitrary code execution as the `openc3` user in the `cmd-tlm-api` container and the per-target decom microservices and the script-runner. Those processes hold the Redis and bucket credentials and sit on the internal service network, so the executed code acts with that authority over configuration, telemetry, and command data across scopes. The API is served through Traefik, which the shipped compose binds to `127.0.0.1:2900`, so a default single-host install is reachable only from the host; a multi-user deployment exposes the web port, and the `AV:N` rating reflects that standard remote-operator exposure.\n\nAll paths require valid authentication, and the triggering permissions (`system`/`system_set`/`script_view`) are below the `admin`/`script_run`/plugin-install tiers where COSMOS gates code execution. In the open-source edition `authorize` checks only token validity and does not enforce the permission string, so any authenticated user can perform these requests.\n\n### Suggested fix\n\nThe fix is to treat the user-writable overlay as data, never code, and to gate the writers, applied uniformly:\n- Load table and cmd/tlm definitions for code-execution paths from the read-only `targets/` tree only, or parse the `targets_modified` overlay with ERB disabled (`run_erb=false`); dynamically-created packet definitions are structural and never need ERB, so this does not regress that feature.\n- Allow only admin and the server-side dynamic-packet mechanism to write a `cmd_tlm` overlay; reject non-canonical object keys so a positional path check cannot be bypassed by a key the object store normalizes differently.\n- Run the Script Runner suite analysis (which executes the file) only at the `script_run` tier, at every entry point.\n- Mirror the definition-read change in the Python implementation.","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2026-09-23T18:57:24.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.9,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H","references":["https://github.com/OpenC3/cosmos/security/advisories/GHSA-jjq7-m736-w977","https://github.com/OpenC3/cosmos/pull/3488","https://github.com/OpenC3/cosmos/commit/71943352a28128ef3e7e894319d97a656b5cd4f2","https://github.com/OpenC3/cosmos/commit/7a1538a4626f82c0d1540fcaa27ffdcbbd71ff81","https://github.com/advisories/GHSA-jjq7-m736-w977"],"source_kind":"github","identifiers":["GHSA-jjq7-m736-w977","CVE-2026-77602"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-09-23T19:00:12.511Z","updated_at":"2026-09-28T20:00:16.273Z","epss_percentage":0.00574,"epss_percentile":0.44993,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1qanE3LW03MzYtdzk3N84AB6ba","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1qanE3LW03MzYtdzk3N84AB6ba","packages":[{"ecosystem":"rubygems","package_name":"openc3","versions":[{"first_patched_version":"7.3.0","vulnerable_version_range":"\u003e= 5.1.0, \u003c= 7.2.1"}],"purl":"pkg:gem/openc3"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1qanE3LW03MzYtdzk3N84AB6ba/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS12cDN3LTUydjktcTU3Zs4AB6bZ","url":"https://github.com/advisories/GHSA-vp3w-52v9-q57f","title":"OpenC3 COSMOS: Authenticated OS command injection via the `pypi_url` setting","description":"## Summary\nAn authenticated user can execute arbitrary operating system commands on the `openc3-cosmos-cmd-tlm-api` service. The `pypi_url` setting is interpolated, unescaped, into a command line that is run through a shell backtick when a plugin is installed. Shell metacharacters in the setting value are executed by `/bin/sh`.\n\n## Details\nThe `pypi_url` value is written through the `set_setting` API method, reachable over the JSON-RPC endpoint `POST /openc3-api/api`. In the open-source edition, `authorize` (`openc3/lib/openc3/utilities/authorization.rb`) verifies only that the session token is valid and returns the anonymous user; the `permission:` argument is not enforced, so any authenticated user can write the setting and install a plugin. In the Enterprise edition these actions require the admin role.\n\nDuring plugin install, `PluginModel.install_phase2` reads the setting and builds the argument string, then runs it through a backtick (`openc3/lib/openc3/models/plugin_model.rb:288`):\n\n```ruby\npypi_url = get_setting('pypi_url', scope: scope)   # attacker-controlled, no validation\npypi_url += '/simple' if pypi_url\npip_args = \"-i #{pypi_url} -r #{requirements_path}\"\noutput = `/openc3/bin/pipinstall #{pip_args}`        # Ruby backtick -\u003e /bin/sh -c\n```\n\n`get_setting` appends `/simple` to the stored value, and a trailing `#` comments out that suffix and the remainder of the argument string. The python install branch runs whenever the installed plugin contains a `requirements.txt` or `pyproject.toml`, which the actor controls because they supply the plugin gem.\n\nThe sibling installer `openc3/lib/openc3/models/python_package_model.rb:95` performs the same `pipinstall` invocation using an argv array through `ProcessManager.spawn`, which does not involve a shell and is not injectable. `plugin_model.rb:288` is the single site that uses a backtick.\n\n## PoC\nConfirmed end-to-end over HTTP against a booted `openc3-cosmos-cmd-tlm-api` (puma) with Redis and bucket storage. Every request is authenticated.\n\n1. Obtain a session token:\n   ```\n   POST /openc3-api/auth/verify    {\"password\":\"\u003cpassword\u003e\"}\n   ```\n2. Write the setting (JSON-RPC):\n   ```\n   POST /openc3-api/api\n   {\"jsonrpc\":\"2.0\",\"method\":\"set_setting\",\n    \"params\":[\"pypi_url\",\"https://pypi.org ; id \u003e /tmp/A1_PWNED 2\u003e\u00261 ; #\"],\n    \"keyword_params\":{\"scope\":\"DEFAULT\"},\"id\":1}\n   ```\n3. Upload a plugin gem that contains a `requirements.txt`:\n   ```\n   POST /openc3-api/plugins     (multipart: plugin=@malicious.gem, scope=DEFAULT)\n   ```\n4. Install it:\n   ```\n   POST /openc3-api/plugins/install/\u003cid\u003e    (plugin_hash from step 3, scope=DEFAULT)\n   ```\n\nThe injected command executed inside the install process. Contents of the marker file written by the payload:\n```\nuid=1001(openc3) gid=1001(openc3) groups=1001(openc3)\n```\n\n## Impact\nArbitrary OS command execution as the `openc3` user (uid 1001) inside the cmd-tlm-api container. That process holds the Redis/Valkey password and the bucket (S3) credentials and operates across every scope, so command execution there exposes stored telemetry, commanding, and credentials, and allows tampering with any scope.\n\nIn the Enterprise edition the prerequisite is the admin role; the admin already has plugin-driven code execution by design, so the practical effect there is that a configuration value becomes a shell command rather than a new privilege boundary being crossed. In the open-source edition any authenticated user reaches it.\n\n## Suggested fix\nRun `pipinstall` through an argv array instead of a shell, matching `python_package_model.rb:95`:\n\n```ruby\npip_argv = [\"-i\", pypi_url]\npip_argv += [\"--trusted-host\", URI.parse(pypi_url).host] unless ENV['PIP_ENABLE_TRUSTED_HOST'].nil?\npip_argv += File.exist?(pyproject_path) ? [gem_path] : [\"-r\", requirements_path]\nOpenC3::ProcessManager.instance.spawn([\"/openc3/bin/pipinstall\"] + pip_argv, \"plugin_pip_install\", File.basename(gem_path), Time.now + 3600.0, scope: scope)\n```\n\nOptionally also validate `pypi_url` as an `http(s)` URL when the setting is written.","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-09-23T18:51:01.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.8,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","references":["https://github.com/OpenC3/cosmos/security/advisories/GHSA-vp3w-52v9-q57f","https://github.com/OpenC3/cosmos/pull/3489","https://github.com/OpenC3/cosmos/commit/be70d1d836c83c3b084e768e31a399312d4cbe0b","https://github.com/OpenC3/cosmos/releases/tag/v7.2.1","https://github.com/advisories/GHSA-vp3w-52v9-q57f"],"source_kind":"github","identifiers":["GHSA-vp3w-52v9-q57f","CVE-2026-77601"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-09-23T19:00:12.511Z","updated_at":"2026-09-28T20:00:16.274Z","epss_percentage":0.00581,"epss_percentile":0.45506,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS12cDN3LTUydjktcTU3Zs4AB6bZ","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS12cDN3LTUydjktcTU3Zs4AB6bZ","packages":[{"ecosystem":"rubygems","package_name":"openc3","versions":[{"first_patched_version":"7.3.0","vulnerable_version_range":"\u003e= 5.12.0, \u003c= 7.2.1"}],"purl":"pkg:gem/openc3"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS12cDN3LTUydjktcTU3Zs4AB6bZ/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS0yd3ZoLTg3ZzItODlocs4ABVrs","url":"https://github.com/advisories/GHSA-2wvh-87g2-89hr","title":"OpenC3 COSMOS: Permissions Bypass Provides User Access to Unassigned Administrative Actions via Script Runner Tool","description":"**Vulnerability Type: Execution with Unnecessary Privileges\nAttack type: Authenticated remote\nImpact: Data disclosure/manipulation, privilege escalation\nAffected components: The following docker images:\n•\tOpenc3inc/openc3-COSMOS-script-runner-api**\n\nThe Script Runner widget allows users to execute Python and Ruby scripts directly from the openc3-COSMOS-script-runner-api container. Because all the docker containers share a network, users can execute specially crafted scripts to bypass the API permissions check and perform administrative actions, including reading and modifying data inside the Redis database, which can be used to read secrets and change COSMOS settings, as well as read and write to the buckets service, which holds configuration, log, and plugin files. These actions are normally only available from the Admin Console or with administrative privileges. Any user with permission to create and run scripts can connect to any service in the docker network. \n \n\u003cimg width=\"940\" height=\"473\" alt=\"image\" src=\"https://github.com/user-attachments/assets/bf524163-127d-4349-999b-cefc53d4374d\" /\u003e\n\nFigure 1: Environment variables, including Redis credentials, found in the Script Runner container\nA Ruby script is used to expose the Redis username, password, hostname, and port. These credentials might also be found from the source code or through a brute-force attack.\n \n\u003cimg width=\"940\" height=\"507\" alt=\"image\" src=\"https://github.com/user-attachments/assets/6d3ccad4-949d-4eeb-a5f8-3aca48bbe815\" /\u003e\n\nFigure 2: A Python script is used to add data to Redis and retrieve the new data\nA Python script is then used to create a new entry in the Redis database called `openc3__settings_hacked` with a key of `store_url` and a value of `http://hacked.com`.\n \n\u003cimg width=\"940\" height=\"70\" alt=\"image\" src=\"https://github.com/user-attachments/assets/fcef13be-5416-4627-9c95-617a24674ee0\" /\u003e\n\nFigure 3: The new data found in the Redis database\nThe new entry was successfully added to the Redis database, as is confirmed by using `redis-cli`. \nThe following example shows how an attacker might change the plugin store URL file that is stored in the config bucket.\n \n\u003cimg width=\"940\" height=\"640\" alt=\"image\" src=\"https://github.com/user-attachments/assets/681b4dd6-4b6e-4a91-8480-0c9fbff76ede\" /\u003e\n\nFigure 4: Uploading file to change the plugin store URL setting\n \n\u003cimg width=\"940\" height=\"189\" alt=\"image\" src=\"https://github.com/user-attachments/assets/630db0bb-217e-4205-be1d-e9891516b22f\" /\u003e\n\nFigure 5: The URL file was successfully changed\n###\tSteps To Reproduce\n1.\tRun the following Ruby code to find the Redis credentials:\n```ruby\nputs `env | grep redis`\n```\n3.\tAdd the following Python script with the credentials to create a new entry and read it\n```python\nimport redis\nimport json\nimport time\n\nr = redis.Redis(\n    host = 'openc3-redis',\n    port = 6379,\n    username = 'openc3', \n    password = 'openc3password',  \n    decode_responses=True\n)\n\n# Save a setting\nsetting_data = {\n    'name': 'store_url',\n    'data': 'http://hacked.com',\n    'updated_at': time.time_ns()\n}\nr.hset('openc3__settings_hacked','store_url',json.dumps(setting_data))\nprint(r.hget('openc3__settings_hacked','store_url'))\n```\n\n###\tRecommendations\n•\tLimit the permissions of the script runner API to prevent lower level users from performing administrative actions","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2026-04-23T14:17:53.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.6,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N","references":["https://github.com/OpenC3/cosmos/security/advisories/GHSA-2wvh-87g2-89hr","https://github.com/advisories/GHSA-2wvh-87g2-89hr"],"source_kind":"github","identifiers":["GHSA-2wvh-87g2-89hr"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-04-23T15:00:08.973Z","updated_at":"2026-09-28T20:03:52.568Z","epss_percentage":null,"epss_percentile":null,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS0yd3ZoLTg3ZzItODlocs4ABVrs","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS0yd3ZoLTg3ZzItODlocs4ABVrs","packages":[{"ecosystem":"rubygems","package_name":"openc3","versions":[{"first_patched_version":"7.0.0-rc3","vulnerable_version_range":"\u003c 7.0.0-rc3"}],"purl":"pkg:gem/openc3"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS0yd3ZoLTg3ZzItODlocs4ABVrs/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS12NTI5LXZod2Mtd2ZjNc4ABVrr","url":"https://github.com/advisories/GHSA-v529-vhwc-wfc5","title":"OpenC3 COSMOS has SQL Injection in QuestDB Time-Series Database","description":"**Vulnerability Type: CWE-89: Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')\nAttack type: Authenticated remote\nImpact: Telemetry data disclosure and deletion\nAffected components: openc3-tsdb (QuestDB)**\n\nA SQL injection vulnerability exists in the Time-Series Database (TSDB) component of COSMOS. The `tsdb_lookup` function in the `cvt_model.rb` file directly places user-supplied input into a SQL query without sanitizing the input. As a result, a user can break out of the initial SQL statement and execute arbitrary SQL commands, including deleting data. \n \n\u003cimg width=\"940\" height=\"719\" alt=\"image\" src=\"https://github.com/user-attachments/assets/2c2dd294-6192-49d3-b670-fd7b82c05be0\" /\u003e\n\nFigure 1: Source code vulnerable to SQL injection\nAdditionally, the `get_tlm_values` RPC endpoint only requires “tlm” permissions, allowing any user with the Admin, Operator, Viewer, or Runner roles to send a request to the TSDB. This permission is defined in roles-permissions.md to allow for the user to view telemetry data, but this vulnerability also allows them to delete data and tables.\n \n\u003cimg width=\"940\" height=\"410\" alt=\"image\" src=\"https://github.com/user-attachments/assets/40be7e8d-51f9-442d-bbd7-77c8488a2f78\" /\u003e\n\nFigure 2: Source code showing the required permissions for the `get_tlm_values` endpoint\nSending a normal request to the endpoint brings back a single array of values for the parameter:\n \n\u003cimg width=\"944\" height=\"481\" alt=\"image\" src=\"https://github.com/user-attachments/assets/23678f17-6bdf-41c1-81bc-ace5a8daa7e5\" /\u003e\n\nFigure 3: A normal request to the `get_tlm_values` endpoint\nHowever, sending a specially crafted request within the start_time variable brings back all the data in the database:\n \n\u003cimg width=\"944\" height=\"432\" alt=\"image\" src=\"https://github.com/user-attachments/assets/bd5ecc87-ba9c-43f0-b196-91062b9c395a\" /\u003e\n\nFigure 4: The request and response after sending the SQL injection payload\nThis payload can be modified to executes SQL commands in the TSDB.\n \n\u003cimg width=\"944\" height=\"425\" alt=\"image\" src=\"https://github.com/user-attachments/assets/70c3c88e-9ed6-4542-bfb4-e77abb002c15\" /\u003e\n\nFigure 5: SQL injection used to execute arbitrary SQL command\nThe user can then delete all the historical data in the database:\n \n\u003cimg width=\"944\" height=\"496\" alt=\"image\" src=\"https://github.com/user-attachments/assets/f2dc1fa6-5fe0-4232-867a-a65776f108ee\" /\u003e\n\nFigure 6: Example payload dropping the tables\n###\tSteps to Reproduce\n1.\tCapture a JSON-RPC request to the `get_tlm_values` endpoint.\n2.\tAdd the `start_time` key to the request body and place the following in the value:\n```sql\n‘ OR 1=1 --\n```\n3.\tRetrieve all database data.\n###\tRecommendations\n•\tSanitize all user-supplied input before executing it\n•\tUse prepared statements with parameterized queries when executing SQL statements","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2026-04-23T14:12:02.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":9.6,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N","references":["https://github.com/OpenC3/cosmos/security/advisories/GHSA-v529-vhwc-wfc5","https://github.com/OpenC3/cosmos/commit/9ba60c09c8836a37a2e4ea67ab35fe403e041415","https://github.com/OpenC3/cosmos/releases/tag/v7.0.0-rc3","https://nvd.nist.gov/vuln/detail/CVE-2026-42087","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/openc3/CVE-2026-42087.yml","https://github.com/advisories/GHSA-v529-vhwc-wfc5"],"source_kind":"github","identifiers":["GHSA-v529-vhwc-wfc5","CVE-2026-42087"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-04-23T15:00:08.973Z","updated_at":"2026-09-28T20:03:52.569Z","epss_percentage":0.00445,"epss_percentile":0.36017,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS12NTI5LXZod2Mtd2ZjNc4ABVrr","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS12NTI5LXZod2Mtd2ZjNc4ABVrr","packages":[{"ecosystem":"rubygems","package_name":"openc3","versions":[{"first_patched_version":"7.0.0-rc3","vulnerable_version_range":"\u003e= 6.7.0, \u003c 7.0.0-rc3"}],"purl":"pkg:gem/openc3"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS12NTI5LXZod2Mtd2ZjNc4ABVrr/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS1mZnE1LXFwdmYteHE3eM4ABVqt","url":"https://github.com/advisories/GHSA-ffq5-qpvf-xq7x","title":"OpenC3 COSMOS is Vulnerable to Self-XSS Through the Command Sender","description":"### Summary\nThe Command Sender UI uses an unsafe `eval()` function on array-like command parameters, which allows a user-supplied payload to execute in the browser when sending a command. This creates a self-XSS risk because an attacker can trigger their own script execution in the victim’s session, if allowed to influence the array parameter input, for example via phishing. If successful, an attacker may read or modify data in the authenticated browser context, including session tokens in local storage.\n\n### Details\nThe unsafe `eval()`  usage on user-supplied ARRAY parameters happens in `convertToValue` method in [CommandSender.vue](https://github.com/OpenC3/cosmos/blob/main/openc3-cosmos-init/plugins/packages/openc3-cosmos-tool-cmdsender/src/tools/CommandSender/CommandSender.vue)\n\n### PoC\n1.\tUsing a drop-down form, choose any command that supports ARRAY parameters,\n2.\tInside square brackets “[…]” place a JavaScript code to be executed\n3.\tSend command to CmdTlmServer using dedicated “Send” button \n4.\tObserve JavaScript code being executed in the current browser session context\n\nBelow example uses `INST ARYCMD` to execute simple JavaScript code snippet `alert(“XSS”)`.\n\u003cimg width=\"947\" height=\"356\" alt=\"image\" src=\"https://github.com/user-attachments/assets/6fbdb6c9-616a-4268-bbb8-a8a1044437ad\" /\u003e\n\n\u003cimg width=\"942\" height=\"545\" alt=\"image\" src=\"https://github.com/user-attachments/assets/4df24353-aea0-4aa0-adcf-b7c7e387dc83\" /\u003e\n\n### Impact\nLocal JavaScript execution in the user's browser","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2026-04-22T22:22:28.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":4.6,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N","references":["https://github.com/OpenC3/cosmos/security/advisories/GHSA-ffq5-qpvf-xq7x","https://nvd.nist.gov/vuln/detail/CVE-2026-42086","https://github.com/pypa/advisory-database/tree/main/vulns/openc3/PYSEC-2026-105.yaml","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/openc3/CVE-2026-42086.yml","https://github.com/advisories/GHSA-ffq5-qpvf-xq7x"],"source_kind":"github","identifiers":["GHSA-ffq5-qpvf-xq7x","CVE-2026-42086"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-04-22T23:00:09.146Z","updated_at":"2026-09-29T17:03:29.638Z","epss_percentage":0.00286,"epss_percentile":0.18773,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1mZnE1LXFwdmYteHE3eM4ABVqt","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS1mZnE1LXFwdmYteHE3eM4ABVqt","packages":[{"ecosystem":"rubygems","package_name":"openc3","versions":[{"first_patched_version":"7.0.0","vulnerable_version_range":"\u003c 7.0.0"}],"purl":"pkg:gem/openc3"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS1mZnE1LXFwdmYteHE3eM4ABVqt/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS00anZ4LTkzaDMtZjQ1aM4ABVqs","url":"https://github.com/advisories/GHSA-4jvx-93h3-f45h","title":"OpenC3 COSMOS allows arbitrary writes to plugins directory via path-traversed config filenames","description":"### Summary\nOpenC3 COSMOS contains a design flaw in the `save_tool_config()` function that allows saving tool configuration files at arbitrary locations inside the shared `/plugins` directory tree by supplying crafted configuration filenames. Although the implementation sufficiently mitigates standard path traversal attacks, by canonicalizing filename to an absolute path, all plugins share this same root directory. That enables users to create arbitrary file structures and overwrite existing configuration files within the shared `/plugins` directory.\n\n### Details\nIn function `save_tool_config()` ([local_mode.rb](https://github.com/OpenC3/cosmos/blob/397abec0d57972881a2e8dc10902d0dce9c27f42/openc3/lib/openc3/utilities/local_mode.rb#L452))  responsible for saving user-supplied tool configuration, the desired saving directory is not sufficiently enforced, instead allowing writes inside entire `OPENC3_LOCAL_MODE_PATH`.\n\n### PoC\n1.\tNavigate to any tool that enables “Save Configuration” option in left-hand drop-down menu (here Limits Monitor as an example)\n2.\tSave a new config with path traversal name using “../” sequences to escape desired directory (up to 3 levels high)\n3.\tObserve new files created in /plugins directory by inspecting docker container directly (`openc3-COSMOS-cmd-tlm-api`) or using Bucket Explorer (`plugin_default`)\n\n\u003cimg width=\"811\" height=\"584\" alt=\"image\" src=\"https://github.com/user-attachments/assets/015a59b4-8b18-4801-aef0-df4831d5c1c3\" /\u003e\n\u003cimg width=\"720\" height=\"664\" alt=\"image\" src=\"https://github.com/user-attachments/assets/8ca4a5b7-ee45-4c3b-99f6-f41f974a74a7\" /\u003e\n\n### Impact\nModifying the data of other plugins","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2026-04-22T22:22:02.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":4.3,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N","references":["https://github.com/OpenC3/cosmos/security/advisories/GHSA-4jvx-93h3-f45h","https://github.com/OpenC3/cosmos/commit/9957a9fa460c0c0cf5cdbf6a5931bbdd025246a5","https://github.com/OpenC3/cosmos/commit/e6efccbd148ba0e3361c5891027f2373aa140d42","https://github.com/OpenC3/cosmos/releases/tag/v6.10.5","https://github.com/OpenC3/cosmos/releases/tag/v7.0.0-rc3","https://nvd.nist.gov/vuln/detail/CVE-2026-42085","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/openc3/CVE-2026-42085.yml","https://github.com/advisories/GHSA-4jvx-93h3-f45h"],"source_kind":"github","identifiers":["GHSA-4jvx-93h3-f45h","CVE-2026-42085"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-04-22T23:00:09.146Z","updated_at":"2026-09-28T20:03:52.569Z","epss_percentage":0.00411,"epss_percentile":0.32559,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS00anZ4LTkzaDMtZjQ1aM4ABVqs","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS00anZ4LTkzaDMtZjQ1aM4ABVqs","packages":[{"ecosystem":"rubygems","package_name":"openc3","versions":[{"first_patched_version":"7.0.0-rc3","vulnerable_version_range":"\u003e= 7.0.0.pre.rc1, \u003c 7.0.0-rc3"},{"first_patched_version":"6.10.5","vulnerable_version_range":"\u003c 6.10.5"}],"purl":"pkg:gem/openc3"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS00anZ4LTkzaDMtZjQ1aM4ABVqs/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS13Z3g2LWc4NTctampmN84ABVqr","url":"https://github.com/advisories/GHSA-wgx6-g857-jjf7","title":"OpenC3 COSMOS: Hijacked session token can be used to reset password for persistence","description":"### Summary\nThe OpenC3 password change functionality allows a user to change their password without providing the old password, by accepting a valid session token instead. In assumed breach scenarios, this behaviour can be exploited by an attacker who has already obtained a valid session token, to gain persistence in hijacked account (including admin) and prevent legitimate users from accessing the account.\n\n### Details\nThe design flaw in authentication model ([authentication.rb](https://github.com/OpenC3/cosmos/blob/397abec0d57972881a2e8dc10902d0dce9c27f42/openc3/lib/openc3/utilities/authentication.rb)) allows for interchangeable use of password and session tokens for user authentication As old tokens are not revoked upon password reset, an attacker who has obtained a valid session token can continue to authenticate and change the account’s password even after the victim resets it, thereby maintaining persistent control over the compromised account.\n\n### PoC\n1. Attacker is logged in user account with hijacked valid session token, but not knowing the actual password\n2. Legitimate user, as preventive action, changes his password (_password123_) using old password (_password_), that he knows, then establishes new session\n3. Attacker issues another password change request (in web proxy like Burp) supplying his still valid token as _old_password_, changing it to attacker-password, from this point preventing any other legitimate users from accessing account\n\u003cimg width=\"912\" height=\"479\" alt=\"image\" src=\"https://github.com/user-attachments/assets/d27b5980-0326-40f8-bb39-657d7b1c95a0\" /\u003e\n\u003cimg width=\"923\" height=\"423\" alt=\"image\" src=\"https://github.com/user-attachments/assets/060d9fe1-637e-4a2d-9142-76612984ea28\" /\u003e\n\n### Impact\nPersistence of an attacker who obtained valid session token and preventing legitimate users from account access","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2026-04-22T22:13:10.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":8.1,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N","references":["https://github.com/OpenC3/cosmos/security/advisories/GHSA-wgx6-g857-jjf7","https://github.com/OpenC3/cosmos/commit/2e623714e3426d5ae81b6f8239d4a2a6937ef776","https://github.com/OpenC3/cosmos/releases/tag/v6.10.5","https://github.com/OpenC3/cosmos/releases/tag/v7.0.0-rc3","https://nvd.nist.gov/vuln/detail/CVE-2026-42084","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/openc3/CVE-2026-42084.yml","https://github.com/advisories/GHSA-wgx6-g857-jjf7"],"source_kind":"github","identifiers":["GHSA-wgx6-g857-jjf7","CVE-2026-42084"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-04-22T23:00:09.146Z","updated_at":"2026-09-28T20:03:52.570Z","epss_percentage":0.0044,"epss_percentile":0.35561,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS13Z3g2LWc4NTctampmN84ABVqr","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS13Z3g2LWc4NTctampmN84ABVqr","packages":[{"ecosystem":"rubygems","package_name":"openc3","versions":[{"first_patched_version":"7.0.0-rc3","vulnerable_version_range":"\u003e= 7.0.0.pre.rc1, \u003c 7.0.0-rc3"},{"first_patched_version":"6.10.5","vulnerable_version_range":"\u003c 6.10.5"}],"purl":"pkg:gem/openc3"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS13Z3g2LWc4NTctampmN84ABVqr/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS13NzU3LTRxdjktbWdocM4ABRB3","url":"https://github.com/advisories/GHSA-w757-4qv9-mghp","title":"openc3-api Vulnerable to Unauthenticated Remote Code Execution","description":"### Summary\nOpenC3 COSMOS contains a critical remote code execution vulnerability reachable through the JSON-RPC API. When a JSON-RPC request uses the string form of certain APIs, attacker-controlled parameter text is parsed into values using String#convert_to_value. For array-like inputs, convert_to_value executes eval().\n\nBecause the cmd code path parses the command string before calling authorize(), an unauthenticated attacker can trigger Ruby code execution even though the request ultimately fails authorization (401).","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2026-01-13T19:01:49.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":10.0,"cvss_vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H","references":["https://github.com/OpenC3/cosmos/security/advisories/GHSA-w757-4qv9-mghp","https://github.com/OpenC3/cosmos/commit/01e9fbc5e66e9a2500b71a75a44775dd1fc2d1de","https://nvd.nist.gov/vuln/detail/CVE-2025-68271","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/openc3/CVE-2025-68271.yml","https://github.com/advisories/GHSA-w757-4qv9-mghp"],"source_kind":"github","identifiers":["GHSA-w757-4qv9-mghp","CVE-2025-68271"],"repository_url":null,"blast_radius":0.0,"created_at":"2026-01-13T20:00:08.466Z","updated_at":"2026-09-28T20:05:52.319Z","epss_percentage":0.00627,"epss_percentile":0.47769,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS13NzU3LTRxdjktbWdocM4ABRB3","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS13NzU3LTRxdjktbWdocM4ABRB3","packages":[{"ecosystem":"rubygems","package_name":"openc3","versions":[{"first_patched_version":"6.10.2","vulnerable_version_range":"\u003e= 5.0.6, \u003c 6.10.2"}],"purl":"pkg:gem/openc3"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS13NzU3LTRxdjktbWdocM4ABRB3/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS00eHF2LTQ3cm0tMzdtbc4AA_7R","url":"https://github.com/advisories/GHSA-4xqv-47rm-37mm","title":"OpenC3 stores passwords in clear text (`GHSL-2024-129`)","description":"### Summary\nOpenC3 COSMOS stores the password of a user unencrypted in the LocalStorage of a web browser. This makes the user password susceptible to exfiltration via Cross-site scripting (see GHSL-2024-128).\n\nNote: This CVE only affects Open Source edition, and not OpenC3 COSMOS Enterprise Edition\n\n### Impact\nThis issue may lead to Information Disclosure.","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2024-10-02T19:29:35.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.9,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://github.com/OpenC3/cosmos/security/advisories/GHSA-4xqv-47rm-37mm","https://github.com/OpenC3/cosmos/commit/b5ab34fe7fa54c0c8171c4aa3caf4e03d6f63bd7","https://nvd.nist.gov/vuln/detail/CVE-2024-47529","https://securitylab.github.com/advisories/GHSL-2024-127_GHSL-2024-129_OpenC3_COSMOS","https://github.com/pypa/advisory-database/tree/main/vulns/openc3/PYSEC-2024-121.yaml","https://github.com/advisories/GHSA-4xqv-47rm-37mm"],"source_kind":"github","identifiers":["GHSA-4xqv-47rm-37mm","CVE-2024-47529"],"repository_url":"https://github.com/OpenC3/cosmos","blast_radius":0.0,"created_at":"2024-10-02T20:06:15.526Z","updated_at":"2026-09-29T17:08:21.755Z","epss_percentage":0.00353,"epss_percentile":0.26201,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS00eHF2LTQ3cm0tMzdtbc4AA_7R","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS00eHF2LTQ3cm0tMzdtbc4AA_7R","packages":[{"ecosystem":"npm","package_name":"@openc3/tool-common","versions":[{"first_patched_version":"5.19.0","vulnerable_version_range":"\u003c 5.19.0"}],"purl":"pkg:npm/%40openc3%2Ftool-common"},{"ecosystem":"rubygems","package_name":"openc3","versions":[{"first_patched_version":"5.19.0","vulnerable_version_range":"\u003c 5.19.0"}],"purl":"pkg:gem/openc3"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS00eHF2LTQ3cm0tMzdtbc4AA_7R/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS04anhyLW1jY2MtbXdnOM4AA_7Q","url":"https://github.com/advisories/GHSA-8jxr-mccc-mwg8","title":"OpenC3 Path Traversal via screen controller (`GHSL-2024-127`)","description":"### Summary\nA path traversal vulnerability inside of `LocalMode`'s `open_local_file` method allows an authenticated user with adequate permissions to download any `.txt` via the `ScreensController#show` on the web server COSMOS is running on (depending on the file permissions).\n\nNote: This CVE affects all OpenC3 COSMOS Editions\n\n### Impact\nThis issue may lead to Information Disclosure.\n","origin":"UNSPECIFIED","severity":"HIGH","published_at":"2024-10-02T19:29:32.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":7.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N","references":["https://github.com/OpenC3/cosmos/security/advisories/GHSA-8jxr-mccc-mwg8","https://github.com/OpenC3/cosmos/commit/a34e61aea5a465f0ab3e57d833ae7ff4cafd710b","https://nvd.nist.gov/vuln/detail/CVE-2024-46977","https://github.com/pypa/advisory-database/tree/main/vulns/openc3/PYSEC-2024-101.yaml","https://rubysec.com/advisories/CVE-2024-46977","https://securitylab.github.com/advisories/GHSL-2024-127_GHSL-2024-129_OpenC3_COSMOS","https://github.com/advisories/GHSA-8jxr-mccc-mwg8"],"source_kind":"github","identifiers":["GHSA-8jxr-mccc-mwg8","CVE-2024-46977"],"repository_url":"https://github.com/OpenC3/cosmos","blast_radius":0.0,"created_at":"2024-10-02T20:06:16.197Z","updated_at":"2026-09-29T17:08:21.755Z","epss_percentage":0.00912,"epss_percentile":0.58302,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS04anhyLW1jY2MtbXdnOM4AA_7Q","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS04anhyLW1jY2MtbXdnOM4AA_7Q","packages":[{"ecosystem":"rubygems","package_name":"openc3","versions":[{"first_patched_version":"5.19.0","vulnerable_version_range":"\u003c 5.19.0"}],"purl":"pkg:gem/openc3"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS04anhyLW1jY2MtbXdnOM4AA_7Q/related_packages","related_advisories":[]},{"uuid":"GSA_kwCzR0hTQS12Zmo4LTVwajctMmY5Z84AA_7P","url":"https://github.com/advisories/GHSA-vfj8-5pj7-2f9g","title":"OpenC3 Cross-site Scripting in Login functionality (`GHSL-2024-128`)","description":"### Summary\nThe login functionality contains a reflected cross-site scripting (XSS) vulnerability.\n\nNote: This CVE only affects Open Source Edition, and not OpenC3 COSMOS Enterprise Edition\n\n### Impact\nThis issue may lead up to Remote Code Execution (RCE).","origin":"UNSPECIFIED","severity":"MODERATE","published_at":"2024-10-02T19:29:23.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":5.1,"cvss_vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:A/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N","references":["https://github.com/OpenC3/cosmos/security/advisories/GHSA-vfj8-5pj7-2f9g","https://github.com/OpenC3/cosmos/commit/762d7e0e93bdc2f340b1e42acccedc78994a576e","https://nvd.nist.gov/vuln/detail/CVE-2024-43795","https://github.com/rubysec/ruby-advisory-db/blob/master/gems/openc3/CVE-2024-43795.yml","https://github.com/pypa/advisory-database/tree/main/vulns/openc3/PYSEC-2024-100.yaml","https://securitylab.github.com/advisories/GHSL-2024-127_GHSL-2024-129_OpenC3_COSMOS","https://github.com/advisories/GHSA-vfj8-5pj7-2f9g"],"source_kind":"github","identifiers":["GHSA-vfj8-5pj7-2f9g","CVE-2024-43795"],"repository_url":"https://github.com/OpenC3/cosmos","blast_radius":0.0,"created_at":"2024-10-02T20:06:16.224Z","updated_at":"2026-09-29T17:08:21.755Z","epss_percentage":0.00483,"epss_percentile":0.38923,"api_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS12Zmo4LTVwajctMmY5Z84AA_7P","html_url":"https://advisories.ecosyste.ms/advisories/GSA_kwCzR0hTQS12Zmo4LTVwajctMmY5Z84AA_7P","packages":[{"ecosystem":"npm","package_name":"@openc3/tool-common","versions":[{"first_patched_version":"5.19.0","vulnerable_version_range":"\u003c 5.19.0"}],"purl":"pkg:npm/%40openc3%2Ftool-common"},{"ecosystem":"rubygems","package_name":"openc3","versions":[{"first_patched_version":"5.19.0","vulnerable_version_range":"\u003c 5.19.0"}],"purl":"pkg:gem/openc3"}],"related_packages_url":"https://advisories.ecosyste.ms/api/v1/advisories/GSA_kwCzR0hTQS12Zmo4LTVwajctMmY5Z84AA_7P/related_packages","related_advisories":[]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/rubygems/openc3","docker_dependents_count":null,"docker_downloads_count":null,"usage_url":"https://repos.ecosyste.ms/usage/rubygems/openc3","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/rubygems/openc3/dependencies","status":null,"funding_links":[],"critical":null,"issue_metadata":{"last_synced_at":"2026-10-23T09:07:07.074Z","issues_count":1658,"pull_requests_count":2865,"avg_time_to_close_issue":6656988.617535903,"avg_time_to_close_pull_request":374240.98190045246,"issues_closed_count":1323,"pull_requests_closed_count":2652,"pull_request_authors_count":45,"issue_authors_count":206,"avg_comments_per_issue":1.8377563329312425,"avg_comments_per_pull_request":2.080628272251309,"merged_pull_requests_count":2254,"bot_issues_count":1,"bot_pull_requests_count":580,"past_year_issues_count":378,"past_year_pull_requests_count":1171,"past_year_avg_time_to_close_issue":1693415.236607143,"past_year_avg_time_to_close_pull_request":396992.6335227273,"past_year_issues_closed_count":224,"past_year_pull_requests_closed_count":1056,"past_year_pull_request_authors_count":26,"past_year_issue_authors_count":56,"past_year_avg_comments_per_issue":1.5873015873015872,"past_year_avg_comments_per_pull_request":2.3637916310845433,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":420,"past_year_merged_pull_requests_count":724,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/OpenC3%2Fcosmos/issues","maintainers":[{"login":"jmthomas","count":1603,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jmthomas"},{"login":"ryanmelt","count":650,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ryanmelt"},{"login":"gbonn","count":16,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gbonn"},{"login":"openc3qa","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/openc3qa"},{"login":"JL-Brothers","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/JL-Brothers"}],"active_maintainers":[{"login":"jmthomas","count":413,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jmthomas"},{"login":"ryanmelt","count":124,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/ryanmelt"},{"login":"openc3qa","count":10,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/openc3qa"},{"login":"gbonn","count":6,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/gbonn"}]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/openc3/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/openc3/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/openc3/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/openc3/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/openc3/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/packages/openc3/codemeta","maintainers":[{"uuid":"46017","login":"ryanmelt","name":null,"email":null,"url":null,"packages_count":43,"html_url":"https://gem.coop/profiles/ryanmelt","role":null,"created_at":"2025-10-08T01:20:47.280Z","updated_at":"2025-10-08T01:20:47.280Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/gem.coop/maintainers/ryanmelt/packages"}]}