Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

shallow cloning + GitHub Action #2138

Merged
merged 14 commits into from
Dec 19, 2023
Merged

shallow cloning + GitHub Action #2138

merged 14 commits into from
Dec 19, 2023

Conversation

joeleonjr
Copy link
Contributor

Description:

This proposed GitHub Action updates the existing action by implementing a few new features:

  1. The action defaults to using git shallow cloning. In most CI/CD use cases, users only want to scan the code diff in a push or PR and not the entire repo. By performing a shallow clone, we only clone down the relevant commits (and files). From there we invoke TruffleHog to scan only code diffs, thus creating a more performant action.
  2. The action includes git cloning (using the default actions/checkout@v3 action). Why? Two reasons: (A) user experience: users can now invoke this action in their GH workflow yaml files without any additional steps
jobs:
  test:
    runs-on: ubuntu-latest
    steps:
   - name: TruffleHog OSS
        id: trufflehog
        uses: trufflesecurity/trufflehog@v2
        with:
           extra_args: --only-verified

(B) Git shallow cloning requires a few computations (ex: count of commits in the push or PR). This is simpler for the user; otherwise, they'd have to follow a slightly convoluted set-up process.
3. The current action does not provide a sufficiently robust process to scan pushes to the default branch. In some workflows, engineers might push multiple commits inside one push to main. Given the current action's tutorial, I couldn't easily scan a push to main containing multiple commits. (Maybe just my user error though):

...
with:
    path: ./
    base: ${{ github.event.repository.default_branch }}
    head: HEAD

It appears that in order to scan a push with multiple commits, the user would need to provide the commit hash prior to the new commits into the base argument. There doesn't seem to be a straightforward way to do that in the current action.

The updated action will do this by default.

  1. The action allows users to scan their entire repo by passing in the full_repo flag (conducting a full git clone). This is for users that want to scan more than just the code diff in their push or PR.
  2. The action removes references to path, base and head, which seem to confuse some users.

Note: To prevent backwards compatibility issues, I propose we tag the original action v1 (it's currently main). Then we tag the new action v2. Users will still be able to use v1 with an always-updated version of TH OSS, since we invoke the latest docker image.

Comments and discussion are welcomed!! Also, I did my best to test this out, but it would be helpful for others to run this action inside larger repositories (alongside the existing action).

Checklist:

  • Tests passing (make test-community)?
  • Lint passing (make lint this requires golangci-lint)?

@joeleonjr joeleonjr marked this pull request as ready for review November 30, 2023 20:56
@joeleonjr joeleonjr requested a review from a team as a code owner November 30, 2023 20:56
@rosecodym
Copy link
Contributor

(1) and (3) seem like great improvements. I find myself skeptical of (2) and (5) - personally, I prefer CI actions that are explicit, granular, and as un-magical as possible. Batteries-included actions are great when they work, but as soon as they don't, I'm left with a paucity of options to debug.

But! I claim no authority for this opinion, and you interact with other developers who use this more than I do, so I'll defer to the judgment of the crowd.

@joeleonjr
Copy link
Contributor Author

(1) and (3) seem like great improvements. I find myself skeptical of (2) and (5) - personally, I prefer CI actions that are explicit, granular, and as un-magical as possible. Batteries-included actions are great when they work, but as soon as they don't, I'm left with a paucity of options to debug.

But! I claim no authority for this opinion, and you interact with other developers who use this more than I do, so I'll defer to the judgment of the crowd.

I think that's a totally fair response. The two main set-up difficulties that I'm trying to abstract for users is: (1) conducting a git shallow clone, and (2) counting commits in pushes, so that the entire push can be easily scanned.

If the better option is to write up two new documentation sections and add a new flag (or two) to the existing GH Action structure, I'm happy to do that.

@codevbus
Copy link
Contributor

codevbus commented Dec 1, 2023

  1. The action includes git cloning (using the default actions/checkout@v3 action). Why? Two reasons: (A) user experience: users can now invoke this action in their GH workflow yaml files without any additional steps

This is the only one I have issue with. To echo @rosecodym; this is abstracting away the modularity/granularity of a composable CI/CD pipeline. Since we can generally assume most users will consume this as part of a larger pipeline, they're going to end up checking out their code twice.

That being said, it's also clear that's what's needed to abstract away the cloning options needed to make this work. I'm not sure there's an alternative and this may just need to be a compromise.

action.yml Outdated
if: ${{ inputs.full_repo == 'false' }}

###########################
## FULL REPO SCAN STEPS ##
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thought: the term FULL REPO has the potential to confuse some folks. This is something I saw at GitLab and w/ gitleaks-action; people would be confused about whether they were scanning the filesystem or the full git history. I think it would be useful to either change the name from full_repo to full_git_history or document that full_repo is scanning the entire history.

@zricethezav
Copy link
Collaborator

Note: To prevent backwards compatibility issues, I propose we tag the original action v1 (it's currently main). Then we tag the new action v2. Users will still be able to use v1 with an always-updated version of TH OSS, since we invoke the latest docker image.

I think this is as good plan

@joeleonjr
Copy link
Contributor Author

I searched on GitHub for instances of repos using TH's GH Action and found some interesting results:

  1. There are many, many cases of workflows running TH on pushes, but they aren't actually scanning anything.

This is one common setup:

name: Security

on:
  push:
    branches:
      - master
  pull_request:

jobs:
  TruffleHog:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout code
        uses: actions/checkout@v3
        with:
          fetch-depth: 0

      - name: TruffleHog Scan
        uses: trufflesecurity/trufflehog@main
        with:
          path: ./
          base: ${{ github.event.repository.default_branch }}
          head: HEAD
          extra_args: --only-verified

Here's another one that I saw:

uses: trufflesecurity/trufflehog@main
        with:
          path: ./
          base: ${{ github.ref }}

In my testing, these do not actually scan anything. TH looks like it runs (which it technically does), but it scans 0 chunks of data. This seems like something that deserves immediate attention since users believe they're invoking TH, but they are not.

  1. This repo scans pushes, but to do so, they are scanning the entire branch's history.
- name: scan-push
        uses: trufflesecurity/trufflehog@main
        if: ${{ github.event_name == 'push' }}
        with:
          path: ./
          base: ""
          head: ${{ github.ref_name }}
          extra_args: --debug --only-verified

Surprisingly, this same repo also calls out shallow cloning, saying in some cases TH will fail without an error if a shallow clone is used. I'm not sure why or how that would be the case.

@rosecodym
Copy link
Contributor

@joeleonjr is this problem

There are many, many cases of workflows running TH on pushes, but they aren't actually scanning anything.

resolved by this pr?

@joeleonjr
Copy link
Contributor Author

@joeleonjr is this problem

There are many, many cases of workflows running TH on pushes, but they aren't actually scanning anything.

resolved by this pr?

Yes and no. This PR addresses that issue; however, it uses a new set of flags. There's a whole set of folks using the current GH Action (and different flags), that would need to upgrade their action. Since most folks won't proactively do that, we probably should issue a patch for the current action that addresses this. One idea suggested was to check if the values passed into --since-commit and --branch are equal. If so, then scan the entire branch or repo, just to be safe.

I'll also note that @zricethezav shared the gitleaks implementation and this PR needs to address the workflow_dispatch and schedule event types in addition to push and pull_request.

Finally, I know folks were split on including the git cloning logic inside the action. Depending on where that ends up, this PR might need some small updates.

@joeleonjr
Copy link
Contributor Author

Just pushed a major update to the PR. A few changes:

  1. This PR no longer embeds git cloning and instead provides users with instructions for shallow cloning in the README.
  2. It addresses the issue of users not scanning during pushes. If values inputted by a user for the base and head fields are equal, it will throw an error. The error message links to our README and explains that TruffleHog wouldn't have scanned anything since the git diff was null.
  3. This PR is fully backward compatible, so no versioning needed. All prior flags still exist and work as expected.
  4. Users can now implement the action with no flags. The default is to scan all code changes any time it runs (in main, a feature-branch, or any PR). If the action is invoked via workflow_dispatch or schedule, it will default to scanning the entire git repository history.

@rosecodym
Copy link
Contributor

Just pushed a major update to the PR. A few changes:

  1. This PR no longer embeds git cloning and instead provides users with instructions for shallow cloning in the README.
  2. It addresses the issue of users not scanning during pushes. If values inputted by a user for the base and head fields are equal, it will throw an error. The error message links to our README and explains that TruffleHog wouldn't have scanned anything since the git diff was null.
  3. This PR is fully backward compatible, so no versioning needed. All prior flags still exist and work as expected.
  4. Users can now implement the action with no flags. The default is to scan all code changes any time it runs (in main, a feature-branch, or any PR). If the action is invoked via workflow_dispatch or schedule, it will default to scanning the entire git repository history.

Since (as you reported) many users were mistakenly scanning nothing, does that mean that their pipelines will suddenly stop completing successfully once this goes out? I'm not saying that's necessarily bad, I just want to be sure.

@joeleonjr
Copy link
Contributor Author

Just pushed a major update to the PR. A few changes:

  1. This PR no longer embeds git cloning and instead provides users with instructions for shallow cloning in the README.
  2. It addresses the issue of users not scanning during pushes. If values inputted by a user for the base and head fields are equal, it will throw an error. The error message links to our README and explains that TruffleHog wouldn't have scanned anything since the git diff was null.
  3. This PR is fully backward compatible, so no versioning needed. All prior flags still exist and work as expected.
  4. Users can now implement the action with no flags. The default is to scan all code changes any time it runs (in main, a feature-branch, or any PR). If the action is invoked via workflow_dispatch or schedule, it will default to scanning the entire git repository history.

Since (as you reported) many users were mistakenly scanning nothing, does that mean that their pipelines will suddenly stop completing successfully once this goes out? I'm not saying that's necessarily bad, I just want to be sure.

Yes. It would look like this:

image

else
head_commit=""
fi
if [ $base_commit == $head_commit ] ; then
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thought (non-blocking): I could see how users might want to scan a single commit. As a user I don't want to determine the range, I just want to provide a single commit. We could change the base==head behavior to scan base/head against closets parent commit.

Just a thought, this isn't blocking and we could revisit this down the line.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Definitely a valid use case. I'm open to adjusting this. I think we should ship this asap since some folks aren't scanning commits atm and think they are. But I'm down to think through what the behavior should look like.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Separately, I'm reviewing this code before merging in and I'm looking at this line if [ $base_commit == $head_commit ] ; then. Do you think there are folks that leave base equal to '' and head equal to '', so that they can trigger a full git repository history scan? @zricethezav

Copy link
Collaborator

@zricethezav zricethezav left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just left a non-blocking comment for discussion. I think this PR is good to go. Huge huge huge improvement, thanks Joe!

@joeleonjr joeleonjr merged commit a636441 into main Dec 19, 2023
9 checks passed
@joeleonjr joeleonjr deleted the gh-action-shallow-clone branch December 19, 2023 19:56
@aldy505
Copy link

aldy505 commented Dec 20, 2023

Hi @joeleonjr, it turns out this commit broke my workflow. I'm using self-hosted GitHub Actions runner for my organization, and I'm guarantee CI environment isolation by running the CI via Docker. This PR removes the Docker image and it fails on everyone who uses Docker container base on their GitHub Actions.

Here's my GitHub Actions output:
image

I'm not saying we should revert this PR, as from what I read this is a good direction going forward. What we can do is providing a documentation on the README that points out that the current quickstart for GitHub Actions won't work if you're using a container base.

A small reproduction would be this (you can run this on both self-hosted runner and SaaS -- or GitHub-hosted runners):

name: PR

on:
  pull_request:

jobs:
  ci:
    name: CI
    container: golang:bookworm # This is the part that defines the container base image
    runs-on: "ubuntu-latest"
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: TruffleHog OSS
        uses: trufflesecurity/trufflehog@main
        with:
          path: ./
          base: ${{ github.event.repository.default_branch }}
          head: HEAD
          extra_args: --debug --only-verified

@joeleonjr
Copy link
Contributor Author

joeleonjr commented Dec 21, 2023

Hi @joeleonjr, it turns out this commit broke my workflow. I'm using self-hosted GitHub Actions runner for my organization, and I'm guarantee CI environment isolation by running the CI via Docker. This PR removes the Docker image and it fails on everyone who uses Docker container base on their GitHub Actions.

Here's my GitHub Actions output: image

I'm not saying we should revert this PR, as from what I read this is a good direction going forward. What we can do is providing a documentation on the README that points out that the current quickstart for GitHub Actions won't work if you're using a container base.

A small reproduction would be this (you can run this on both self-hosted runner and SaaS -- or GitHub-hosted runners):

name: PR

on:
  pull_request:

jobs:
  ci:
    name: CI
    container: golang:bookworm # This is the part that defines the container base image
    runs-on: "ubuntu-latest"
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: TruffleHog OSS
        uses: trufflesecurity/trufflehog@main
        with:
          path: ./
          base: ${{ github.event.repository.default_branch }}
          head: HEAD
          extra_args: --debug --only-verified

Thanks for bringing this to our attention. I think I have a solution that would require an update to the TruffleHog action.yml file. I'm proposing a check to determine whether the action is already containerized. If so, then it will install golang, clone/build TruffleHog and then run TruffleHog. If not, it will just use the dockerized version.

Do you mind @aldy505 letting me know if this works for your use case?

jobs:
  ci1:
    name: CI
    container: golang:bookworm # This is the part that defines the container base image
    runs-on: "ubuntu-latest"
    steps:
      - name: Checkout code
        uses: actions/checkout@v4
        with:
          fetch-depth: 0

      - name: Install Golang (Running in Container)
        if: ${{ job.container != '' }}
        uses: actions/setup-go@v4
        with:
          go-version: '1.21'

      - name: Install/Compile TruffleHog (Running in Container)
        if: ${{ job.container != '' }}
        run: |
          git clone https://github.com/trufflesecurity/trufflehog.git
          cd trufflehog; go install; cd -
      - name: Run TruffleHog (Running in Container)
        if: ${{ job.container != '' }}
        run: |
          trufflehog git file://./ \
          --since-commit ${{ github.event.repository.default_branch }} \
          --branch 'HEAD' \
          --fail \
          --no-update \
          --github-actions \
          --debug --trace \

      - name: Run TruffleHog (with Docker)
        if: ${{ job.container == '' }}
        run: |
            docker run --rm -v "/tmp":/tmp -w /tmp \
            ghcr.io/trufflesecurity/trufflehog:latest \
            git file:///tmp/ \
            --since-commit \
            ${{ github.event.repository.default_branch }} \
            --branch \
            'HEAD' \
            --fail \
            --no-update \
            --github-actions \
            --debug --trace \
  

Note: If this works, then you'd be able to use the TruffleHog action just like you showed in the "small reproduction" you provided above.

haraldh added a commit to matter-labs/vault-auth-tee that referenced this pull request Feb 13, 2024
[![Mend
Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com)

This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
|
[trufflesecurity/trufflehog](https://togithub.com/trufflesecurity/trufflehog)
| action | minor | `v3.63.5` -> `v3.67.5` |

---

### Release Notes

<details>
<summary>trufflesecurity/trufflehog
(trufflesecurity/trufflehog)</summary>

###
[`v3.67.5`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.67.5)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.67.4...v3.67.5)

#### What's Changed

- Fix handling of GitHub ratelimit information by
[@&#8203;rgmz](https://togithub.com/rgmz) in
[trufflesecurity/trufflehog#2041
- Set GHA workdir by
[@&#8203;zricethezav](https://togithub.com/zricethezav) in
[trufflesecurity/trufflehog#2393
- Allow CLI version pinning in GHA
([#&#8203;2397](https://togithub.com/trufflesecurity/trufflehog/issues/2397))
by [@&#8203;skeweredlogic](https://togithub.com/skeweredlogic) in
[trufflesecurity/trufflehog#2398
- \[bug] - prevent concurrent map writes by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2399
- Allow multiple domains for Forager by
[@&#8203;dustin-decker](https://togithub.com/dustin-decker) in
[trufflesecurity/trufflehog#2400
- Update GitParse to handle quoted binary filenames by
[@&#8203;rgmz](https://togithub.com/rgmz) in
[trufflesecurity/trufflehog#2391
- \[feat] - buffered file writer metrics by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2395

#### New Contributors

- [@&#8203;skeweredlogic](https://togithub.com/skeweredlogic) made their
first contribution in
[trufflesecurity/trufflehog#2398

**Full Changelog**:
trufflesecurity/trufflehog@v3.67.4...v3.67.5

###
[`v3.67.4`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.67.4)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.67.3...v3.67.4)

#### What's Changed

- \[feat] - use diff chan by [@&#8203;ahrav](https://togithub.com/ahrav)
in
[trufflesecurity/trufflehog#2387

**Full Changelog**:
trufflesecurity/trufflehog@v3.67.3...v3.67.4

###
[`v3.67.3`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.67.3)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.67.2...v3.67.3)

#### What's Changed

- Disable GitHub wiki scanning by default by
[@&#8203;rosecodym](https://togithub.com/rosecodym) in
[trufflesecurity/trufflehog#2386
- Fix binary file hanging bug in git sources by
[@&#8203;mcastorina](https://togithub.com/mcastorina) in
[trufflesecurity/trufflehog#2388
- tightening opsgenie detection and verification by
[@&#8203;dylanTruffle](https://togithub.com/dylanTruffle) in
[trufflesecurity/trufflehog#2389
- Make `SkipFile` case-insensitive by
[@&#8203;rgmz](https://togithub.com/rgmz) in
[trufflesecurity/trufflehog#2383
- \[not-fixup] - Reduce memory consumption for Buffered File Writer by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2377

**Full Changelog**:
trufflesecurity/trufflehog@v3.67.2...v3.67.3

###
[`v3.67.2`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.67.2)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/3.67.1...v3.67.2)

#### What's Changed

- \[bug] - unhashable map key by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2374
- custom detector docs improvement by
[@&#8203;dxa4481](https://togithub.com/dxa4481) in
[trufflesecurity/trufflehog#2376
- \[fixup] - correctly use the buffered file writer by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2373

**Full Changelog**:
trufflesecurity/trufflehog@v3.67.1...v3.67.2

###
[`v3.67.1`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.67.1)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/3.67.1...3.67.1)

#### What's Changed

- \[chore] Cleanup GitLab source errors by
[@&#8203;mcastorina](https://togithub.com/mcastorina) in
[trufflesecurity/trufflehog#2345
- \[feat] - concurently scan the filesystem source by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2364

**Full Changelog**:
trufflesecurity/trufflehog@3.67.1...v3.67.1

###
[`v3.67.1`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.67.1)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.67.0...3.67.1)

##### What's Changed

- \[chore] Cleanup GitLab source errors by
[@&#8203;mcastorina](https://togithub.com/mcastorina) in
[trufflesecurity/trufflehog#2345
- \[feat] - concurently scan the filesystem source by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2364

**Full Changelog**:
trufflesecurity/trufflehog@3.67.1...v3.67.1

###
[`v3.67.0`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.67.0)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.66.3...v3.67.0)

#### What's Changed

- Make AzureDevopsPersonalAccessToken verification more robust by
[@&#8203;dustin-decker](https://togithub.com/dustin-decker) in
[trufflesecurity/trufflehog#2359
- Polite Verification by [@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2356

**Full Changelog**:
trufflesecurity/trufflehog@v3.66.3...v3.67.0

###
[`v3.66.3`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.66.3)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.66.2...v3.66.3)

#### What's Changed

- Allow for configuring the buffered file writer by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2319
- added flyio protos by
[@&#8203;lonmarsDev](https://togithub.com/lonmarsDev) in
[trufflesecurity/trufflehog#2357
- Scan GitHub wikis by [@&#8203;rgmz](https://togithub.com/rgmz) in
[trufflesecurity/trufflehog#2233
- \[chore] Add filesystem integration test by
[@&#8203;mcastorina](https://togithub.com/mcastorina) in
[trufflesecurity/trufflehog#2358
- update azure test files to check rawV2 by
[@&#8203;roxanne-tampus](https://togithub.com/roxanne-tampus) in
[trufflesecurity/trufflehog#2353
- \[bug] fix script change by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2360

**Full Changelog**:
trufflesecurity/trufflehog@v3.66.2...v3.66.3

###
[`v3.66.2`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.66.2)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.66.1...v3.66.2)

#### What's Changed

- Update the template detector by
[@&#8203;rgmz](https://togithub.com/rgmz) in
[trufflesecurity/trufflehog#2342
- Detectors Updates 1 for Tristate Verification by
[@&#8203;0x1](https://togithub.com/0x1) in
[trufflesecurity/trufflehog#2187
- Fix filesystem enumeration ignore paths bug by
[@&#8203;mcastorina](https://togithub.com/mcastorina) in
[trufflesecurity/trufflehog#2355
- \[feat] - tmp file diffs by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2306

**Full Changelog**:
trufflesecurity/trufflehog@v3.66.1...v3.66.2

###
[`v3.66.1`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.66.1)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.66.0...v3.66.1)

#### What's Changed

- Azure function key is throwing FPs by
[@&#8203;dustin-decker](https://togithub.com/dustin-decker) in
[trufflesecurity/trufflehog#2352

**Full Changelog**:
trufflesecurity/trufflehog@v3.66.0...v3.66.1

###
[`v3.66.0`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.66.0)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.65.0...v3.66.0)

#### What's Changed

- \[chore] - make sure to close connections after testing by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2343
- Prevent print or logging in detectors by
[@&#8203;dustin-decker](https://togithub.com/dustin-decker) in
[trufflesecurity/trufflehog#2341
- Add the new MaxMind license key format by
[@&#8203;faktas2](https://togithub.com/faktas2) in
[trufflesecurity/trufflehog#2181
- updates to plain and json printing to include verification error by
[@&#8203;0x1](https://togithub.com/0x1) in
[trufflesecurity/trufflehog#2335
- added azurefunctionkey detector by
[@&#8203;roxanne-tampus](https://togithub.com/roxanne-tampus) in
[trufflesecurity/trufflehog#2337
- added azuresearchadminkey detector by
[@&#8203;roxanne-tampus](https://togithub.com/roxanne-tampus) in
[trufflesecurity/trufflehog#2348
- added azuresearchquerykey detector by
[@&#8203;roxanne-tampus](https://togithub.com/roxanne-tampus) in
[trufflesecurity/trufflehog#2349
- Improve fp ignore logic by
[@&#8203;dustin-decker](https://togithub.com/dustin-decker) in
[trufflesecurity/trufflehog#2351

#### New Contributors

- [@&#8203;faktas2](https://togithub.com/faktas2) made their first
contribution in
[trufflesecurity/trufflehog#2181

**Full Changelog**:
trufflesecurity/trufflehog@v3.65.0...v3.66.0

###
[`v3.65.0`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.65.0)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.64.0...v3.65.0)

#### What's Changed

- Walk directories in filesystem source enumeration by
[@&#8203;mcastorina](https://togithub.com/mcastorina) in
[trufflesecurity/trufflehog#2313
- added azuredevopspersonalaccesstoken detector by
[@&#8203;roxanne-tampus](https://togithub.com/roxanne-tampus) in
[trufflesecurity/trufflehog#2315
- updating doppler logic by
[@&#8203;joeleonjr](https://togithub.com/joeleonjr) in
[trufflesecurity/trufflehog#2329
- add priority semaphore to source manager by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2336
- Add Google oauth2 token detector by
[@&#8203;rgmz](https://togithub.com/rgmz) in
[trufflesecurity/trufflehog#2274
- Update DockerHub detector logic by
[@&#8203;rgmz](https://togithub.com/rgmz) in
[trufflesecurity/trufflehog#2266
- Improve GitHub scan logging by
[@&#8203;rgmz](https://togithub.com/rgmz) in
[trufflesecurity/trufflehog#2220
- add tri-state verification to yelp by
[@&#8203;zubairk14](https://togithub.com/zubairk14) in
[trufflesecurity/trufflehog#1736
- Fix broken test by
[@&#8203;dustin-decker](https://togithub.com/dustin-decker) in
[trufflesecurity/trufflehog#2339

**Full Changelog**:
trufflesecurity/trufflehog@v3.64.0...v3.65.0

###
[`v3.64.0`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.64.0)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.63.11...v3.64.0)

#### What's Changed

- Add prometheus metrics to measure hook execution time by
[@&#8203;mcastorina](https://togithub.com/mcastorina) in
[trufflesecurity/trufflehog#2312
- updating detector logic for zenscrape by
[@&#8203;joeleonjr](https://togithub.com/joeleonjr) in
[trufflesecurity/trufflehog#2316
- fix for incorrect AWS account number identification by
[@&#8203;joeleonjr](https://togithub.com/joeleonjr) in
[trufflesecurity/trufflehog#2332
- Narrow Postgres detector to only look for URIs by
[@&#8203;rosecodym](https://togithub.com/rosecodym) in
[trufflesecurity/trufflehog#2314
- Update Gitlab repo count in tests by
[@&#8203;rosecodym](https://togithub.com/rosecodym) in
[trufflesecurity/trufflehog#2333
- \[feat] - Replace regexp pkg w/ go-re2 in detectors by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2324

**Full Changelog**:
trufflesecurity/trufflehog@v3.63.11...v3.64.0

###
[`v3.63.11`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.63.11)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.63.10...v3.63.11)

#### What's Changed

- \[fixup] - save 8 bytes per chunk by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2310
- fix(deps): update module github.com/hashicorp/golang-lru to v2 by
[@&#8203;renovate](https://togithub.com/renovate) in
[trufflesecurity/trufflehog#2054
- \[chore] - Update Chunk struct comment by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2317
- fix(deps): update golang.org/x/exp digest to
[`1b97071`](https://togithub.com/trufflesecurity/trufflehog/commit/1b97071)
by [@&#8203;renovate](https://togithub.com/renovate) in
[trufflesecurity/trufflehog#2318
- fix(deps): update module github.com/couchbase/gocb/v2 to v2.7.1 by
[@&#8203;renovate](https://togithub.com/renovate) in
[trufflesecurity/trufflehog#2320
- fix(deps): update module github.com/envoyproxy/protoc-gen-validate to
v1.0.4 by [@&#8203;renovate](https://togithub.com/renovate) in
[trufflesecurity/trufflehog#2322
- fix(deps): update module github.com/aws/aws-sdk-go to v1.50.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[trufflesecurity/trufflehog#2325
- \[chore] - reduce test time by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2321

**Full Changelog**:
trufflesecurity/trufflehog@v3.63.10...v3.63.11

###
[`v3.63.10`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.63.10)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.63.9...v3.63.10)

#### What's Changed

- added azure protos by
[@&#8203;roxanne-tampus](https://togithub.com/roxanne-tampus) in
[trufflesecurity/trufflehog#2304
- \[fixup ] - Allow ssh cloning with AWS Code Commit by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2307
- Assume unauthenticated github scans have public visibility by
[@&#8203;mcastorina](https://togithub.com/mcastorina) in
[trufflesecurity/trufflehog#2308
- \[chore] - Add regex and keyword for api_org tokens by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2240

**Full Changelog**:
trufflesecurity/trufflehog@v3.63.9...v3.63.10

###
[`v3.63.9`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.63.9)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.63.8...v3.63.9)

#### What's Changed

- \[chore] - update docs for pre-commit by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2280
- Ignore common false positives for Parseur Detector by
[@&#8203;rgmz](https://togithub.com/rgmz) in
[trufflesecurity/trufflehog#2229
- Ignore common Signable false positives by
[@&#8203;rgmz](https://togithub.com/rgmz) in
[trufflesecurity/trufflehog#2230
- fix(deps): update golang.org/x/exp digest to
[`be819d1`](https://togithub.com/trufflesecurity/trufflehog/commit/be819d1)
by [@&#8203;renovate](https://togithub.com/renovate) in
[trufflesecurity/trufflehog#2281
- \[chore] - update test by [@&#8203;ahrav](https://togithub.com/ahrav)
in
[trufflesecurity/trufflehog#2283
- adding postgres detector by
[@&#8203;dylanTruffle](https://togithub.com/dylanTruffle) in
[trufflesecurity/trufflehog#2108
- fix(deps): update module
github.com/azuread/microsoft-authentication-library-for-go to v1.2.1 by
[@&#8203;renovate](https://togithub.com/renovate) in
[trufflesecurity/trufflehog#2282
- fix(deps): update golang.org/x/exp digest to
[`0dcbfd6`](https://togithub.com/trufflesecurity/trufflehog/commit/0dcbfd6)
by [@&#8203;renovate](https://togithub.com/renovate) in
[trufflesecurity/trufflehog#2284
- fix(deps): update module github.com/gabriel-vasile/mimetype to v1.4.3
by [@&#8203;renovate](https://togithub.com/renovate) in
[trufflesecurity/trufflehog#2285
- Extend memory cache by [@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2275
- fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.19 by
[@&#8203;renovate](https://togithub.com/renovate) in
[trufflesecurity/trufflehog#2286
- chore(deps): update alpine docker tag to v3.19 by
[@&#8203;renovate](https://togithub.com/renovate) in
[trufflesecurity/trufflehog#2287
- chore(deps): update sigstore/cosign-installer action to v3.3.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[trufflesecurity/trufflehog#2290
- fix(deps): update module cloud.google.com/go/storage to v1.36.0 by
[@&#8203;renovate](https://togithub.com/renovate) in
[trufflesecurity/trufflehog#2291
- fix(deps): update module github.com/aws/aws-sdk-go to v1.49.18 by
[@&#8203;renovate](https://togithub.com/renovate) in
[trufflesecurity/trufflehog#2292
- feat(installation): Implement checksum signature verification by
[@&#8203;hibare](https://togithub.com/hibare) in
[trufflesecurity/trufflehog#2157
- fix(deps): update module github.com/aws/aws-sdk-go to v1.49.19 by
[@&#8203;renovate](https://togithub.com/renovate) in
[trufflesecurity/trufflehog#2294
- fix(deps): update module github.com/bradleyfalzon/ghinstallation/v2 to
v2.9.0 by [@&#8203;renovate](https://togithub.com/renovate) in
[trufflesecurity/trufflehog#2295
- \[chore] - small updates by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2288
- \[feat] - Allow for the use of include/exclude path files for
filesystem scans by [@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2297
- Individuate archive tests by
[@&#8203;rosecodym](https://togithub.com/rosecodym) in
[trufflesecurity/trufflehog#2293
- \[feat] - Provide CLI flag to only use custom verifiers by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2299
- Disable postgres detector because it it too sensitive by
[@&#8203;dustin-decker](https://togithub.com/dustin-decker) in
[trufflesecurity/trufflehog#2303

**Full Changelog**:
trufflesecurity/trufflehog@v3.63.8...v3.63.9

###
[`v3.63.8`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.63.8)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.63.7...v3.63.8)

#### What's Changed

- Fix commit message single quote escaping on GitHub Action by
[@&#8203;0x2b3bfa0](https://togithub.com/0x2b3bfa0) in
[trufflesecurity/trufflehog#2259
- fix(deps): update module github.com/go-git/go-git/v5 to v5.11.0
\[security] by [@&#8203;renovate](https://togithub.com/renovate) in
[trufflesecurity/trufflehog#2263
- Fix non-ASCII whitespace on GitHub Action by
[@&#8203;0x2b3bfa0](https://togithub.com/0x2b3bfa0) in
[trufflesecurity/trufflehog#2270
- Update GitParse logic to handle edge case. by
[@&#8203;rgmz](https://togithub.com/rgmz) in
[trufflesecurity/trufflehog#2206
- \[chore] Add test to check all versioned detectors are non-zero by
[@&#8203;mcastorina](https://togithub.com/mcastorina) in
[trufflesecurity/trufflehog#2272
- Update stripe detector regex by
[@&#8203;NikhilPanwar](https://togithub.com/NikhilPanwar) in
[trufflesecurity/trufflehog#2261
- Update to Sourcegraph Access token format by
[@&#8203;shivasurya](https://togithub.com/shivasurya) in
[trufflesecurity/trufflehog#2254
- Bump github.com/cloudflare/circl from 1.3.3 to 1.3.7 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[trufflesecurity/trufflehog#2278
- Bump github.com/dvsekhvalnov/jose2go from 1.5.0 to 1.6.0 by
[@&#8203;dependabot](https://togithub.com/dependabot) in
[trufflesecurity/trufflehog#2279
- Wrap temp deletion err by
[@&#8203;rosecodym](https://togithub.com/rosecodym) in
[trufflesecurity/trufflehog#2277
- 1833 Fix syslog udp by [@&#8203;df3rry](https://togithub.com/df3rry)
in
[trufflesecurity/trufflehog#1835

#### New Contributors

- [@&#8203;0x2b3bfa0](https://togithub.com/0x2b3bfa0) made their first
contribution in
[trufflesecurity/trufflehog#2259
- [@&#8203;NikhilPanwar](https://togithub.com/NikhilPanwar) made their
first contribution in
[trufflesecurity/trufflehog#2261
- [@&#8203;df3rry](https://togithub.com/df3rry) made their first
contribution in
[trufflesecurity/trufflehog#1835

**Full Changelog**:
trufflesecurity/trufflehog@v3.63.7...v3.63.8

###
[`v3.63.7`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.63.7)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.63.6...v3.63.7)

#### What's Changed

- Add skip archive support by
[@&#8203;dustin-decker](https://togithub.com/dustin-decker) in
[trufflesecurity/trufflehog#2257
- Skip all binaries by
[@&#8203;bill-rich](https://togithub.com/bill-rich) in
[trufflesecurity/trufflehog#2256
- Add handlerOpts back by
[@&#8203;bill-rich](https://togithub.com/bill-rich) in
[trufflesecurity/trufflehog#2258
- Use directory iterator instead of walkdir by
[@&#8203;dustin-decker](https://togithub.com/dustin-decker) in
[trufflesecurity/trufflehog#2260

**Full Changelog**:
trufflesecurity/trufflehog@v3.63.6...v3.63.7

###
[`v3.63.6`](https://togithub.com/trufflesecurity/trufflehog/releases/tag/v3.63.6)

[Compare
Source](https://togithub.com/trufflesecurity/trufflehog/compare/v3.63.5...v3.63.6)

#### What's Changed

- Adds basic if/else check if pid slice is empty by
[@&#8203;codevbus](https://togithub.com/codevbus) in
[trufflesecurity/trufflehog#2244
- \[fixup] - move cleanup to run by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2245
- shallow cloning + GitHub Action by
[@&#8203;joeleonjr](https://togithub.com/joeleonjr) in
[trufflesecurity/trufflehog#2138
- Update GitHub extradata by [@&#8203;rgmz](https://togithub.com/rgmz)
in
[trufflesecurity/trufflehog#2219
- Avoid extraneous authentication attempts when verifying Snowflake by
[@&#8203;rgmz](https://togithub.com/rgmz) in
[trufflesecurity/trufflehog#2057
- Add missing import by
[@&#8203;dustin-decker](https://togithub.com/dustin-decker) in
[trufflesecurity/trufflehog#2246
- \[bug] - Bug archive handler memory leak by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2247
- \[chore] - use snake_case for naming by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2238
- \[chore] - add additional binary extensions to skip by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2235
- \[chore] - lower logging level by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2249
- \[bug] - Fix Context Timeout-Induced Goroutine Leak in readInChunks by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2251
- Dedupe some source log keys by
[@&#8203;rosecodym](https://togithub.com/rosecodym) in
[trufflesecurity/trufflehog#2250
- \[fixup] - Refactor to Pass Reader for Binary Diffs and Archived Data;
Optimize /tmp Directory Cleanup by
[@&#8203;ahrav](https://togithub.com/ahrav) in
[trufflesecurity/trufflehog#2253
- Use walkdir for tmp cleanup by
[@&#8203;dustin-decker](https://togithub.com/dustin-decker) in
[trufflesecurity/trufflehog#2255

**Full Changelog**:
trufflesecurity/trufflehog@v3.63.5...v3.63.6

</details>

---

### Configuration

📅 **Schedule**: Branch creation - At any time (no schedule defined),
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.

---

- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box

---

This PR has been generated by [Mend
Renovate](https://www.mend.io/free-developer-tools/renovate/). View
repository job log
[here](https://developer.mend.io/github/matter-labs/vault-auth-tee).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4xMDMuMSIsInVwZGF0ZWRJblZlciI6IjM3LjE3My4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants