AdamOswald / tes

2 stars 1 forks source link

Update tj-actions/changed-files action to v41 [SECURITY] - autoclosed #161

Closed renovate[bot] closed 5 months ago

renovate[bot] commented 5 months ago

Mend Renovate

This PR contains the following updates:

Package Type Update Change
tj-actions/changed-files action major v40 -> v41

GitHub Vulnerability Alerts

CVE-2023-51664

Summary

The tj-actions/changed-files workflow allows for command injection in changed filenames, allowing an attacker to execute arbitrary code and potentially leak secrets.

Details

The changed-files action returns a list of files changed in a commit or pull request which provides an escape_json input enabled by default, only escapes " for JSON values.

This could potentially allow filenames that contain special characters such as ; and ` (backtick) which can be used by an attacker to take over the GitHub Runner if the output value is used in a raw fashion (thus being directly replaced before execution) inside a run block. By running custom commands an attacker may be able to steal secrets such as GITHUB_TOKEN if triggered on other events than pull_request. For example on push.

Proof of Concept

  1. Submit a pull request to a repository with a new file injecting a command. For example $(whoami).txt which is a valid filename.
  2. Upon approval of the workflow (triggered by the pull request), the action will get executed and the malicious pull request filename will flow into the List all changed files step below.
      - name: List all changed files
        run: |
          for file in $; do
            echo "$file was changed"
          done

Example output:


##[group]Run for file in $(whoami).txt; do
    for file in $(whoami).txt; do
        echo "$file was changed"
    done
shell: /usr/bin/bash -e {0}

##[endgroup]
runner.txt was changed

Impact

This issue may lead to arbitrary command execution in the GitHub Runner.

Resolution

- name: List all changed files
  env:
    ALL_CHANGED_FILES: $
  run: |
    for file in "$ALL_CHANGED_FILES"; do
      echo "$file was changed"
    done

Resources


Release Notes

tj-actions/changed-files (tj-actions/changed-files) ### [`v41`](https://togithub.com/tj-actions/changed-files/releases/tag/v41) [Compare Source](https://togithub.com/tj-actions/changed-files/compare/v40...v41) ##### Changes in v41.1.2 ##### What's Changed - Upgraded to v41.1.1 by [@​tj-actions-bot](https://togithub.com/tj-actions-bot) in [https://github.com/tj-actions/changed-files/pull/1854](https://togithub.com/tj-actions/changed-files/pull/1854) - chore(deps): update dependency prettier to v3.2.2 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1855](https://togithub.com/tj-actions/changed-files/pull/1855) - chore(deps): lock file maintenance by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1856](https://togithub.com/tj-actions/changed-files/pull/1856) - chore(deps): update dependency [@​types/node](https://togithub.com/types/node) to v20.11.1 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1857](https://togithub.com/tj-actions/changed-files/pull/1857) - chore(deps): update dependency [@​types/node](https://togithub.com/types/node) to v20.11.2 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1858](https://togithub.com/tj-actions/changed-files/pull/1858) - chore(deps): update typescript-eslint monorepo to v6.19.0 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1860](https://togithub.com/tj-actions/changed-files/pull/1860) - feat: enhance error handling and working directory resolution by [@​jackton1](https://togithub.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/1859](https://togithub.com/tj-actions/changed-files/pull/1859) - chore(deps): update dependency [@​types/node](https://togithub.com/types/node) to v20.11.3 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1862](https://togithub.com/tj-actions/changed-files/pull/1862) - chore(deps): update dependency [@​types/node](https://togithub.com/types/node) to v20.11.4 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1863](https://togithub.com/tj-actions/changed-files/pull/1863) - chore(deps): update tj-actions/eslint-changed-files action to v22 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1864](https://togithub.com/tj-actions/changed-files/pull/1864) - chore(deps): update dependency prettier to v3.2.3 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1867](https://togithub.com/tj-actions/changed-files/pull/1867) - fix: bug with incorrect action path by [@​jackton1](https://togithub.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/1866](https://togithub.com/tj-actions/changed-files/pull/1866) - chore(deps): update dependency [@​types/node](https://togithub.com/types/node) to v20.11.5 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1868](https://togithub.com/tj-actions/changed-files/pull/1868) **Full Changelog**: https://github.com/tj-actions/changed-files/compare/v41...v41.1.2 *** ##### Changes in v41.1.1 ##### What's Changed - Upgraded to v41.1.0 by [@​tj-actions-bot](https://togithub.com/tj-actions-bot) in [https://github.com/tj-actions/changed-files/pull/1852](https://togithub.com/tj-actions/changed-files/pull/1852) - fix: bug with inaccurate warnings by [@​jackton1](https://togithub.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/1853](https://togithub.com/tj-actions/changed-files/pull/1853) **Full Changelog**: https://github.com/tj-actions/changed-files/compare/v41...v41.1.1 *** ##### Changes in v41.1.0 ##### What's Changed - Upgraded to v41.0.1 by [@​tj-actions-bot](https://togithub.com/tj-actions-bot) in [https://github.com/tj-actions/changed-files/pull/1816](https://togithub.com/tj-actions/changed-files/pull/1816) - chore: update matrix-test.yml by [@​jackton1](https://togithub.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/1814](https://togithub.com/tj-actions/changed-files/pull/1814) - chore(deps): update typescript-eslint monorepo to v6.16.0 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1819](https://togithub.com/tj-actions/changed-files/pull/1819) - chore(deps): update tj-actions/verify-changed-files action to v17 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1820](https://togithub.com/tj-actions/changed-files/pull/1820) - chore(deps): update dependency [@​types/node](https://togithub.com/types/node) to v20.10.6 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1821](https://togithub.com/tj-actions/changed-files/pull/1821) - chore(deps): lock file maintenance by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1822](https://togithub.com/tj-actions/changed-files/pull/1822) - chore(deps): update typescript-eslint monorepo to v6.17.0 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1823](https://togithub.com/tj-actions/changed-files/pull/1823) - chore(deps): update dependency eslint-plugin-jest to v27.6.1 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1824](https://togithub.com/tj-actions/changed-files/pull/1824) - chore(deps): update typescript-eslint monorepo to v6.18.0 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1827](https://togithub.com/tj-actions/changed-files/pull/1827) - chore: create workflow-run-test.yml by [@​jackton1](https://togithub.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/1828](https://togithub.com/tj-actions/changed-files/pull/1828) - Updated README.md by [@​tj-actions-bot](https://togithub.com/tj-actions-bot) in [https://github.com/tj-actions/changed-files/pull/1830](https://togithub.com/tj-actions/changed-files/pull/1830) - chore(deps): update dependency [@​types/node](https://togithub.com/types/node) to v20.10.7 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1831](https://togithub.com/tj-actions/changed-files/pull/1831) - chore(deps): lock file maintenance by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1833](https://togithub.com/tj-actions/changed-files/pull/1833) - chore: update jest.config.js by [@​jackton1](https://togithub.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/1834](https://togithub.com/tj-actions/changed-files/pull/1834) - chore(deps): update typescript-eslint monorepo to v6.18.1 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1835](https://togithub.com/tj-actions/changed-files/pull/1835) - chore(deps-dev): bump [@​types/node](https://togithub.com/types/node) from 20.10.7 to 20.10.8 by [@​dependabot](https://togithub.com/dependabot) in [https://github.com/tj-actions/changed-files/pull/1836](https://togithub.com/tj-actions/changed-files/pull/1836) - chore(deps): update dependency eslint-plugin-prettier to v5.1.3 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1837](https://togithub.com/tj-actions/changed-files/pull/1837) - chore(deps): update dependency eslint-plugin-jest to v27.6.2 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1838](https://togithub.com/tj-actions/changed-files/pull/1838) - chore(deps): update dependency [@​types/node](https://togithub.com/types/node) to v20.11.0 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1839](https://togithub.com/tj-actions/changed-files/pull/1839) - chore(deps): update dependency prettier to v3.2.0 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1844](https://togithub.com/tj-actions/changed-files/pull/1844) - chore: update warning message by [@​jackton1](https://togithub.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/1845](https://togithub.com/tj-actions/changed-files/pull/1845) - chore: create multi-job-test.yml by [@​jackton1](https://togithub.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/1843](https://togithub.com/tj-actions/changed-files/pull/1843) - chore(deps): update dependency eslint-plugin-jest to v27.6.3 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1846](https://togithub.com/tj-actions/changed-files/pull/1846) - chore(deps): update dependency prettier to v3.2.1 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1847](https://togithub.com/tj-actions/changed-files/pull/1847) - chore: update top level workflow permissions by [@​jackton1](https://togithub.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/1848](https://togithub.com/tj-actions/changed-files/pull/1848) - feat: add support for forcing the use of GitHub’s REST API by [@​jackton1](https://togithub.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/1849](https://togithub.com/tj-actions/changed-files/pull/1849) - Updated README.md by [@​tj-actions-bot](https://togithub.com/tj-actions-bot) in [https://github.com/tj-actions/changed-files/pull/1850](https://togithub.com/tj-actions/changed-files/pull/1850) - fix: permission with release workflow by [@​jackton1](https://togithub.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/1851](https://togithub.com/tj-actions/changed-files/pull/1851) **Full Changelog**: https://github.com/tj-actions/changed-files/compare/v41...v41.1.0 *** ##### Changes in v41.0.1 ##### What's Changed - Upgraded to v41 by [@​tj-actions-bot](https://togithub.com/tj-actions-bot) in [https://github.com/tj-actions/changed-files/pull/1811](https://togithub.com/tj-actions/changed-files/pull/1811) - chore(deps): update dependency eslint-plugin-prettier to v5.1.2 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1813](https://togithub.com/tj-actions/changed-files/pull/1813) - fix: update characters escaped by safe output by [@​jackton1](https://togithub.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/1815](https://togithub.com/tj-actions/changed-files/pull/1815) **Full Changelog**: https://github.com/tj-actions/changed-files/compare/v41...v41.0.1 *** ##### Changes in v41.0.0 ##### 🔥 🔥 BREAKING CHANGE 🔥 🔥 A new `safe_output` input is now available to prevent outputting unsafe filename characters (Enabled by default). This would escape characters in the filename that could be used for command injection. > \[!NOTE] > This can be disabled by setting the `safe_output` to false this comes with a recommendation to store all outputs generated in an environment variable first before using them. ##### Example ```yaml ... - name: Get changed files id: changed-files uses: tj-actions/changed-files@v40 with: safe_output: false # set to false because we are using an environment variable to store the output and avoid command injection. - name: List all added files env: ADDED_FILES: ${{ steps.changed-files.outputs.added_files }} run: | for file in "$ADDED_FILES"; do echo "$file was added" done ... ``` ##### What's Changed - chore(deps): update typescript-eslint monorepo to v6.15.0 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1801](https://togithub.com/tj-actions/changed-files/pull/1801) - Upgraded to v40.2.3 by [@​tj-actions-bot](https://togithub.com/tj-actions-bot) in [https://github.com/tj-actions/changed-files/pull/1800](https://togithub.com/tj-actions/changed-files/pull/1800) - chore(deps): update dependency eslint-plugin-prettier to v5.1.0 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1802](https://togithub.com/tj-actions/changed-files/pull/1802) - chore(deps): lock file maintenance by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1803](https://togithub.com/tj-actions/changed-files/pull/1803) - chore(deps): update dependency eslint-plugin-prettier to v5.1.1 by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1804](https://togithub.com/tj-actions/changed-files/pull/1804) - fix: update safe output regex and the docs by [@​tj-actions-bot](https://togithub.com/tj-actions-bot) in [https://github.com/tj-actions/changed-files/pull/1805](https://togithub.com/tj-actions/changed-files/pull/1805) - Revert "chore(deps): update actions/download-artifact action to v4" by [@​jackton1](https://togithub.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/1806](https://togithub.com/tj-actions/changed-files/pull/1806) - Update README.md by [@​jackton1](https://togithub.com/jackton1) in [https://github.com/tj-actions/changed-files/pull/1808](https://togithub.com/tj-actions/changed-files/pull/1808) - chore(deps): lock file maintenance by [@​renovate](https://togithub.com/renovate) in [https://github.com/tj-actions/changed-files/pull/1809](https://togithub.com/tj-actions/changed-files/pull/1809) - Updated README.md by [@​tj-actions-bot](https://togithub.com/tj-actions-bot) in [https://github.com/tj-actions/changed-files/pull/1810](https://togithub.com/tj-actions/changed-files/pull/1810) **Full Changelog**: https://github.com/tj-actions/changed-files/compare/v40...v41.0.0 ***

Configuration

📅 Schedule: Branch creation - "" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.



This PR has been generated by Mend Renovate. View repository job log here.

aviator-app[bot] commented 5 months ago

Current Aviator status

Aviator will automatically update this comment as the status of the PR changes. Comment /aviator refresh to force Aviator to re-examine your PR (or learn about other /aviator commands).

This PR was merged manually (without Aviator). Merging manually can negatively impact the performance of the queue. Consider using Aviator next time.


See the real-time status of this PR on the Aviator webapp.
Use the Aviator Chrome Extension to see the status of your PR within GitHub.
performance-testing-bot[bot] commented 5 months ago

Unable to locate .performanceTestingBot config file

secure-code-warrior-for-github[bot] commented 5 months ago

Micro-Learning Topic: OS command injection (Detected by phrase)

Matched on "command injection"

What is this? (2min video)

In many situations, applications will rely on OS provided functions, scripts, macros and utilities instead of reimplementing them in code. While functions would typically be accessed through a native interface library, the remaining three OS provided features will normally be invoked via the command line or launched as a process. If unsafe inputs are used to construct commands or arguments, it may allow arbitrary OS operations to be performed that can compromise the server.

Try a challenge in Secure Code Warrior

Helpful references
  • OWASP Command Injection - OWASP community page with comprehensive information about command injection, and links to various OWASP resources to help detect or prevent it.
  • OWASP testing for Command Injection - This article is focused on providing testing techniques for identifying command injection flaws in your applications
senior-dev-bot[bot] commented 5 months ago

Hi there! :wave: Thanks for opening a PR. It looks like you've already reached the 5 review limit on our Basic Plan for the week. If you still want a review, feel free to upgrade your subscription in the Web App and then reopen the PR

difflens[bot] commented 5 months ago

View changes in DiffLens

pull-request-quantifier-deprecated[bot] commented 5 months ago

This PR has 2 quantified lines of changes. In general, a change size of upto 200 lines is ideal for the best PR experience!


Quantification details

``` Label : Extra Small Size : +1 -1 Percentile : 0.8% Total files changed: 1 Change summary by file extension: .yml : +1 -1 ``` > Change counts above are quantified counts, based on the [PullRequestQuantifier customizations](https://github.com/microsoft/PullRequestQuantifier/blob/main/docs/prquantifier-yaml.md).

Why proper sizing of changes matters

Optimal pull request sizes drive a better predictable PR flow as they strike a balance between between PR complexity and PR review overhead. PRs within the optimal size (typical small, or medium sized PRs) mean: - Fast and predictable releases to production: - Optimal size changes are more likely to be reviewed faster with fewer iterations. - Similarity in low PR complexity drives similar review times. - Review quality is likely higher as complexity is lower: - Bugs are more likely to be detected. - Code inconsistencies are more likely to be detected. - Knowledge sharing is improved within the participants: - Small portions can be assimilated better. - Better engineering practices are exercised: - Solving big problems by dividing them in well contained, smaller problems. - Exercising separation of concerns within the code changes. #### What can I do to optimize my changes - Use the PullRequestQuantifier to quantify your PR accurately - Create a context profile for your repo using the [context generator](https://github.com/microsoft/PullRequestQuantifier/releases) - Exclude files that are not necessary to be reviewed or do not increase the review complexity. Example: Autogenerated code, docs, project IDE setting files, binaries, etc. Check out the `Excluded` section from your `prquantifier.yaml` context profile. - Understand your typical change complexity, drive towards the desired complexity by adjusting the label mapping in your `prquantifier.yaml` context profile. - Only use the labels that matter to you, [see context specification](./docs/prquantifier-yaml.md) to customize your `prquantifier.yaml` context profile. - Change your engineering behaviors - For PRs that fall outside of the desired spectrum, review the details and check if: - Your PR could be split in smaller, self-contained PRs instead - Your PR only solves one particular issue. (For example, don't refactor and code new features in the same PR). #### How to interpret the change counts in git diff output - One line was added: `+1 -0` - One line was deleted: `+0 -1` - One line was modified: `+1 -1` (git diff doesn't know about modified, it will interpret that line like one addition plus one deletion) - Change percentiles: Change characteristics (addition, deletion, modification) of this PR in relation to all other PRs within the repository.


Was this comment helpful? :thumbsup:  :ok_hand:  :thumbsdown: (Email) Customize PullRequestQuantifier for this repository.

guide-bot[bot] commented 5 months ago

Thanks for opening this Pull Request! We need you to:

  1. Fill out the description.

    Action: Edit description and replace <!- ... --> with actual values.

  2. Complete the activities.

    Action: Complete If you want to rebase/retry this PR, check this box

    If an activity is not applicable, use '\~activity description\~' to mark it not applicable.

coderabbitai[bot] commented 5 months ago

[!IMPORTANT]

Auto Review Skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)

Tips ### Chat There are 3 ways to chat with CodeRabbit: - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit .` - `Generate unit-tests for this file.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit tests for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai generate interesting stats about this repository from git and render them as a table.` - `@coderabbitai show all the console.log statements in this repository.` - `@coderabbitai read src/utils.ts and generate unit tests.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (invoked as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger a review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai help` to get help. Additionally, you can add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Configration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - The JSON schema for the configuration file is available [here](https://coderabbit.ai/integrations/coderabbit-overrides.v2.json). - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json` ### CodeRabbit Discord Community Join our [Discord Community](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback.