> ## Documentation Index
> Fetch the complete documentation index at: https://notes.kodekloud.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Finding Existing GitHub Actions

> Guide to finding and evaluating GitHub Actions in the Marketplace while assessing security, pinning versions, and following best practices to reduce supply chain risk

Where do we find existing GitHub Actions?

GitHub Actions are reusable automation components for workflows. They let you integrate tools and services into your CI/CD pipelines without reinventing common tasks. Actions can be authored by GitHub, partner organizations, or the community — enabling easy sharing and reuse across repositories.

The primary place to discover and evaluate actions is the GitHub Marketplace: [https://github.com/marketplace?type=actions](https://github.com/marketplace?type=actions). Marketplace listings show badges for GitHub-verified partners as well as community-created actions. Verified actions generally provide a higher level of trust, but community actions can also be useful when reviewed carefully.

<Frame>
  <img src="https://mintcdn.com/kodekloud-c4ac6d9a/1W0Ytfcz_GRwDXc0/images/GitHub-Foundations-Certification/GitHub-Actions/Finding-Existing-GitHub-Actions/github-verified-actions-list-kodekloud.jpg?fit=max&auto=format&n=1W0Ytfcz_GRwDXc0&q=85&s=12493621d3837cc3e3948b58973e8910" alt="The image showcases a list of GitHub-verified actions and third-party/community actions, each with descriptions and star ratings, from KodeKloud." width="1920" height="1080" data-path="images/GitHub-Foundations-Certification/GitHub-Actions/Finding-Existing-GitHub-Actions/github-verified-actions-list-kodekloud.jpg" />
</Frame>

Before adopting any third-party action, inspect its source code, documentation, and permissions to ensure it fits your security and maintenance standards.

<Callout icon="lightbulb" color="#1CB2FE">
  When possible, prefer GitHub-verified actions. Always pin third-party actions to a specific tag or commit SHA to reduce supply-chain risk and avoid using moving references like `@main`.
</Callout>

Evaluation checklist

| What to check                 | Why it matters                            | How to verify                                                                        |
| ----------------------------- | ----------------------------------------- | ------------------------------------------------------------------------------------ |
| Repository health             | Determines maintenance and responsiveness | Look for recent commits, open/closed issues, PR activity, and number of contributors |
| Source code & README          | Confirms behavior and inputs/outputs      | Review the code, example usages, tests, and documented inputs/secrets                |
| Permissions & required scopes | Prevents over-privileged workflows        | Check the action README and your workflow’s `permissions` block (see docs)           |
| Release strategy              | Locks behavior to a known good version    | Prefer `uses: owner/repo@v1.2.3` or a commit SHA over branch names like `@main`      |
| License & ownership           | Ensures legal and support clarity         | Verify license file and maintainer information in the repo                           |
| Community signals             | Helps gauge trustworthiness               | Stars, forks, issues, and external references or blog posts help assess adoption     |

Example: pin an action to a commit SHA in your workflow

```yaml theme={null}
# .github/workflows/ci.yml
jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Run a pinned community action
        uses: user/action-name@4f2c3b1a9e8d6f7a0b1c2d3e4f5a6b7c8d9e0f1
        with:
          example-input: value
```

See the `actions/checkout` repository for implementation details: [https://github.com/actions/checkout](https://github.com/actions/checkout)

Additional practical tips

* Use Dependabot and other supply-chain tools to monitor action updates and vulnerabilities: [https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot](https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot)
* Limit repository secrets to only what workflows require; avoid exposing secrets to untrusted actions.
* If an action is useful but you need to audit or customize it, fork the repository and use your forked reference in workflows.
* Consider running untrusted actions inside isolated repositories or environments until audited.

<Callout icon="warning" color="#FF6B6B">
  Be cautious with actions that request broad permissions or ask for sensitive inputs. Always pin to a release tag or a commit SHA, and prefer audited or verified actions for production workflows.
</Callout>

Links and references

* GitHub Marketplace (Actions): [https://github.com/marketplace?type=actions](https://github.com/marketplace?type=actions)
* GitHub Actions permissions docs: [https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#permissions](https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions#permissions)
* Dependabot: [https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot](https://docs.github.com/en/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot)
* actions/checkout repository: [https://github.com/actions/checkout](https://github.com/actions/checkout)

<CardGroup>
  <Card title="Watch Video" icon="video" cta="Learn more" href="https://learn.kodekloud.com/user/courses/github-foundation-certification/module/e995be1d-2fac-4dc2-b467-fb8d1072632b/lesson/7ee29ca9-2c10-4074-a275-f4297146c750" />
</CardGroup>
