chore(deps): update gitguardian/ggshield action to v1.51.0#27
Open
renovate[bot] wants to merge 1 commit into
Open
chore(deps): update gitguardian/ggshield action to v1.51.0#27renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v1.25.0→v1.51.0Release Notes
GitGuardian/ggshield (GitGuardian/ggshield)
v1.51.0: 1.51.0Compare Source
Added
ggshield auth login --method oobfor browser-less environments (SSH sessions, headless servers). Prints the authorization URL, lets you open it on another device, and exchanges the code you paste back into the terminal. Uses the OAuth out-of-band sentinel (urn:ietf:wg:oauth:2.0:oob) — requires a server that supports it.Detection of MCP servers installed with Claude plugins or Claude.ai
Add Codex support to
ggshield secret scan ai-hookandggshield install -t codex. (thanks to trickyfalcon)Detect MCP servers installed with Cursor plugins or Cursor extensions.
Release binaries published to GitHub Releases now ship with GitHub Artifact Attestations, providing signed SLSA build provenance. Users can verify a downloaded asset with
gh attestation verify <file> --repo GitGuardian/ggshield, and tool managers such as mise (via the aqua backend) will verify automatically at install time.ggshield plugin install/update/statusnow discover and pull plugins from the GitGuardian instance the user is authenticated against, replacing the hard-coded GitHub release URL. Streaming download + sigstore bundle proxying happen via/v1/endpoints/plugins/<reference>/{download,signature}. Requires the matching backend feature.New
vscodealias to "copilot" for hook installation.ggshield api-statusnow displays the workspace ID associated with the current token, in both text and JSON output.Changed
Successful API key checks are now cached on disk for 5 minutes.
ggshield plugin listnow renders the install source from the manifest verbatim (platform,local file,url,github release,github artifact) instead oflocal/pip. Plugins installed without a manifest still fall back topip(entry-point only) oron-disk.AI hooks naively try to detect file read by shell commands.
Fixed
Fixed plugin signature verification in PyInstaller-based packages by bundling sigstore's embedded TUF trust roots.
Fixed
uv tool install ggshieldresolution by requiring sigstore 4, avoiding sigstore 3's transitive pre-release dependency onbetterproto.The documentation of the
ai discovercommand.Skip OS keyring access at startup when
GITGUARDIAN_API_KEYis set in the environment (or in a.envfile). This avoids redundant keychain unlock prompts on systems using multiple ggshield intances.Scans no longer fail on a single transient network glitch. ggshield retries connection errors (e.g.
ConnectionResetError) and 502/503/504 responses with bounded exponential backoff (~15 s budget with jitter).ggshield secret scan pre-receiveuses a minimal retry policy instead so it stays inside GitHub Enterprise Server's fixed 5 s pre-receive hook timeout.Fixed AI hooks support for Copilot CLI.
(AI hooks): the command that leaked a secret is now shown in the notification message.
MCP configuration parsing improved for VSCode, Copilot CLI and Codex.
Plugin installs and updates now enable the canonical
ggshield.pluginsentry point instead of the wheel package name, migrating any pre-existing alias row (and preserving itsauto_updatesetting), and local plugin wheels extract into the active runtime cache so mixed root/admin and user executions do not silently lose registered commands.ggshield now prunes stale extracted plugin wheel caches during plugin load and removes a plugin's extracted cache on uninstall, preventing old wheel versions from accumulating in the cache directory.
v1.50.4: 1.50.4Compare Source
Fixed
ggshield plugin install --allow-unsignedandggshield plugin update --allow-unsignednow verify plugin signatures using the embedded / cached sigstore trust root instead of refreshing it over the network, so plugins can still be installed when the sigstore TUF endpoints are unreachable.v1.50.3: 1.50.3Compare Source
Fixed
GITGUARDIAN_API_KEYis set in the environment (or in a.envfile). This avoids redundant keychain unlock prompts on systems using multiple ggshield instances.v1.50.2: 1.50.2Compare Source
Fixed
uv tool install ggshieldresolution by requiring sigstore 4, avoiding sigstore 3's transitive pre-release dependency onbetterproto.v1.50.1: 1.50.1Compare Source
Fixed
v1.50.0: 1.50.0Compare Source
Added
ggshield is now available as a MSI package.
Add sigstore signature verification for plugin wheels, enforcing identity-based trust via OIDC. Install and update operations are strict by default, while
--allow-unsignedpersists an explicit trust exception for the exact wheel hash so explicitly accepted unsigned plugins can still load at runtime.API tokens are now stored in the OS credential store (macOS Keychain, Windows Credential Locker, Linux Secret Service) via the
keyringlibrary instead of cleartext inauth_config.yaml. Existing cleartext tokens are migrated automatically the next time the configuration is saved. If no OS credential store is available orGGSHIELD_NO_KEYRING=1, file-based storage is used as a fall-back.Added a new
secret.fail_on_server_errorconfiguration option (defaultTrue), available as the--fail-on-server-error/--no-fail-on-server-errorflag orGITGUARDIAN_FAIL_ON_SERVER_ERRORenvironment variable. When set toFalse,secret scan pre-commit,secret scan pre-push,secret scan pre-receive, andsecret scan ciexit with code0and display a warning instead of blocking the git operation when the GitGuardian server is unreachable or returns a 5xx response. The default preserves the previous blocking behavior.New
ggshield ai discovercommand.The AI hooks now also log/block MCP activity
Changed
secret scan pre-receiveno longer fail-opens by default when the GitGuardian server returns a 5xx response. Previously the push was allowed through with a warning; now it is blocked, matching the other git hooks. Setsecret.fail_on_server_errortoFalse(or pass--no-fail-on-server-error) to restore the previous fail-open behavior.Fixed
Forward
signature_modethrough GitHub release and GitHub artifact download paths, ensuring signature verification is applied consistently across all install sources.Scans of large repositories no longer fail on a single transient network glitch. ggshield now retries connection errors (e.g.
ConnectionResetError) and 502/503/504 responses with bounded exponential backoff.Global Copilot hooks are configured correctly in
~/.copilot.Security
pyproject.tomlto public PyPI and add a rollingexclude-newer = "3 days"constraint, so the resolveduv.lockis reproducible for external contributors/CI and newly-published (potentially malicious) releases get a short quarantine window before they can land in the lock.v1.49.0: 1.49.0Compare Source
Removed
Added
Add
@filesupport tosecret scan pathto load scan paths from a file.Add
ggshield secret scan ai-hookcommand to scan AI coding tool hook payloads for secrets in real time.Add new types
claude-code|cursor|copilotto theggshield installcommand to install hooks into AI coding tool configurations.Pre-receive hook can now be set up on GitHub Enterprise Server from v3.14 to higher.
api-status: display the scopes of the current authentication token.Fixed
secret scan ci: fetch the target branch before computing the MR/PR commit range. In CI environments with cached repos or shallow clones, a stale target branch ref could cause ggshield to scan unrelated commits, leading to excessive API calls and secrets reported in files not modified by the MR.hmsl vault-scan: fixed a hang when the HashiCorp Vault server is unresponsive; requests now time out after 30 seconds and network errors are reported with a clear message.Fixed a path traversal security issue in tar archives used for git-based scans; member names with absolute paths or
..components are now sanitized.Fixed an issue where an invalid option for a
secret scansubcommand could be silently treated as a request to run the default command, producing a confusing error instead of the expected usage error.v1.48.0: 1.48.0Compare Source
Added
Add enterprise plugin system for ggshield, allowing organizations to install and manage plugins from GitGuardian.
hmsl: Secrets shorter than 6 characters are now filtered out before being sent to the HMSL API, reducing false positives from obvious non-secrets.Changed
hmsl: Expand the list of excluded placeholder values (e.g.,changeme,placeholder,redacted) that are not sent to the HMSL API.Relax
urllib3dependency pin from~=2.2.2to>=2.2.2,<3, allowing compatibility with newer urllib3 versions (#1160).Fixed
v1.47.0: 1.47.0Compare Source
Added
v1.46.0: 1.46.0Compare Source
Added
A HTTPAdapter with wider parameters has been setup to better address scanning multiple files at the same time.
Add
GITGUARDIAN_GIT_REMOTE_FALLBACK_URLenvironment variable that allows setting a fallback value for the repository remote.Tokens are obfuscated in
ggshield config listoutput.Changed
Fixed
ggshieldhooks inside.husky/when the repository uses Husky-managed hooks so local installs work out of the box. (#1143).v1.45.0: 1.45.0Compare Source
Fixed
ggshield no longer crashes when scanning invalid symlinks, it emits a warning instead.
Handle unmerged files in pre-commit scanning during an ongoing merge.
Fixed crash when ggshield received missing tags.
v1.44.1: 1.44.1Compare Source
Added
--insecureCLI option andinsecureconfiguration setting as clearer alternatives to--allow-self-signedandallow_self_signed. The new option explicitly communicates that SSL verification is completely disabled, making the connection vulnerable to man-in-the-middle attacks.--insecureor--allow-self-signed), explaining the security risks and recommending the secure alternative of using the system certificate trust store (available with Python >= 3.10).Changed
Deprecated
--allow-self-signedCLI option andallow_self_signedconfiguration setting are now deprecated in favor of--insecureandinsecure. Deprecation warnings are displayed when these options are used, guiding users to the clearer alternative. Both options remain functional for backward compatibility and will be maintained for an extended deprecation period before removal.Fixed
Security
--allow-self-signedoption name was misleading as it suggests certificate validation is still performed, when in reality all SSL verification is disabled. The new--insecureoption makes this behavior explicit. Both options remain functional for backward compatibility.v1.44.0Compare Source
v1.43.0: 1.43.0Compare Source
Fixed
Fixed PyInstaller deprecation warning when running PyInstaller-based ggshield.
Scanning git repositories can no longer fail with git "dubious ownership" errors.
Extended the range of API error status codes supported by ggshield so the UI correctly displays them.
v1.42.0: 1.42.0Compare Source
Added
Added an additional section in
ggshieldoutputs to return vault related fields if the account setting is enabled.ggshieldDocker image now supports both linux/amd64 and linux/arm64 architectures (#952).ggshield secret scan dockernow scans more files.Changed
ggshield secret scannow provides an--source-uuidoption. When this option is set, it will create the incidents on the GIM dashboard on the corresponding source. Note that the token should have the scopescan:create-incidents.v1.41.0: 1.41.0Compare Source
Changed
linux/amd64image.v1.40.0: 1.40.0Compare Source
Added
The release assets now contain a NuGet package.
Added a new section in
ggshieldoutputs (text and JSON) to notify if a secret is in one of the accounts' secrets managers.Changed
ggshield secret scan dockernow scans files in/usr/src/app.Fixed
Fixed a bug in the way
ggshieldobfuscated secrets that caused a crash for short secrets (#1086).ggshieldno longer crashes when it can't find git.v1.39.0: 1.39.0Compare Source
Added
ggshield is now available on Chocolatey (#934). (note: we are still awaiting manual validation from Chocolatey before the package becomes publicly available)
ggshield secret scanoutput now contains a link to the detector documentation for each secret found.Fixed
.tar.gzcompressed files inside docker layers.v1.38.1: 1.38.1Compare Source
Added
ggshield secret scan archive.v1.38.0: 1.38.0Compare Source
Removed
Added
Changed
Fixed
Files with emojis in their name are now handled properly.
Fix ggshield crashing on Windows when doing big merges (#1032).
v1.37.0: 1.37.0Compare Source
Fixed
ggshield secret scan dockernow correctly handles ignored paths (#548).v1.36.0: 1.36.0Compare Source
Removed
SCA code and commands.
IaC code and commands.
Fixed
--instanceparam now handles input https://api.eu1.gitguardian.com/v1 or https://api.gitguardian.com/v1.Fix
secret scan pre-commitcrashing on big merges (#1032).v1.35.0: 1.35.0Compare Source
Added
--all-secretsoption to secret scans, allowing to display all found secrets, and their possible ignore reason.Changed
Files contained in the
.git/directory are now scanned. Files in subdirectories such as.git/hooksare still excluded.When scanning commits, ggshield now ignores by default secrets that are removed or contextual to the patch.
Fixed
Handle trailing content in multi-parent hunk header.
Installing ggshield from the release RPM on EL9 failed because of a missing library. This is now fixed (#1036).
Fix Visual Studio not being able to show error messages from ggshield pre-commit (#170).
v1.34.0: 1.34.0Compare Source
Added
ggshield config listcommand now supports the--jsonoption, allowing output in JSON format.All
secret scancommands as well as theapi-statusandquotacommands now supports the--instanceoption to allow using a different instance.The
api-statuscommand now prints where the API key and instance used come from.Changed
ggshield api-status --jsonoutput now includes the instance URL.ggshield secret scan reponow usesgit clone --mirrorto retrieve more git objects.ggshield secret scan cinow scans all commits of a Pull Request in the following CI environments: Jenkins, Azure, Bitbucket and Drone.Deprecated
Fixed
When running
ggshield secret scan ciin a GitLab CI, new commits from the target branch that are not on the feature branch will no longer be scanned.Take into account the
--allow-self-signedoption at all levels inggshield secret scancommands.When
ggshield secret scanis called with--with-incident-detailsand the token does not have the required scopes, the command now fails and an error message is printed.ggshield no longer fails to report secrets for patches with content in hunk header lines.
v1.33.0: 1.33.0Compare Source
Changed
The
--debugoption now automatically turns on verbose mode.The
--use-gitignoreoption now also applies to single files passed as argument.RPM packages now depend on
git-coreinstead ofgit, reducing the number of dependencies to install (#983).Fixed
When using the
--debugoption, the log output no longer overlaps with the progress bars.The ggshield pre-commit hook no longer crashes when merging files with spaces in their names (#991).
RPM packages now work correctly on RHEL 8.8 (#984).
v1.32.2: 1.32.2Compare Source
Fixed
ggshield install -m globalcrash (#972).v1.32.1: 1.32.1Compare Source
Fixed
v1.32.0: 1.32.0Compare Source
Added
When scanning a merge commit,
ggshield secret scan pre-commitnow skips files that merged without conflicts. This makes merging the default branch into a topic branch much faster. You can use the--scan-all-merge-filesoption to go back to the previous behavior.ggshield secret scancommands now provide the--with-incident-detailsoption to output more information about known incidents (JSON and SARIF outputs only).It is now possible to ignore a secret manually using
ggshield secret ignore SECRET_SHA --name NAME.Fixed
v1.31.0: 1.31.0Compare Source
Added
Fixed
v1.30.2: 1.30.2Compare Source
Security
ggshield secret scan archivecould be passed a maliciously crafted tar archive to overwrite user files.v1.30.1: 1.30.1Compare Source
Added
ggshield secret scancommands can now output results in SARIF format, using the new--format sarifoption (#869).ggshield sca scan ciandggshield sca scan allnow support theMALICIOUSvalue for--minimum-severityChanged
/metadataendpoint of the API. If no messages are set up on the platform, default remediation messages will be displayed as before.v1.30.0Compare Source
v1.29.0: 1.29.0Compare Source
Removed
--alloption of theggshield sca scan ciandggshield iac scan cicommands has been removed.Added
ggshield secret scan pathnow provides a--use-gitignoreoption to honor.gitignoreand related files (#801).A new secret scan command,
ggshield secret scan changes, has been added to scan changes between the current state of a repository checkout and its default branch.GGShield is now available as a standalone executable on Windows.
Changed
ggshield sca scan ciandggshield iac scan cicommands have changed. These commands are now expected to run in merge-request CI pipelines only, and will compute the diff exactly associated with the merge request.Deprecated
ggshield sca scan ciorggshield iac scan cioutside of a merge request CI pipeline is now deprecated.Fixed
GGShield now consumes less memory when scanning large repositories.
Errors thrown during
ggshield auth loginflow with an invalid instance URL are handled and the stack trace is no longer displayed on the console.Patch symbols at the start of lines are now always displayed, even for single line secrets.
The
ggshield auth logincommand now respects the--allow-self-signedflag.GGShield now exits with a proper error message instead of crashing when it receives an HTTP response without
Content-Typeheader.v1.28.0: 1.28.0Compare Source
Added
ignored_vulnerabilitiesoption now supports taking a CVE id as identifier.v1.27.0: 1.27.0Compare Source
Removed
This feature is still in beta, its behavior may change in future versionswarning is no longer displayed for sca commands.Added
It is now possible to customize the remediation message printed by GGShield pre-receive hook. This can be done by setting the message in the
secret.prereceive_remediation_messageconfiguration key. Thanks a lot to @Renizmy for this feature.We now provide signed .pkg files for macOS.
Add
This feature is still in beta, its behavior may change in future versionswarning to iac scan allChanged
Deprecated
show-secretsshould becomeshow_secrets. GGShield still supports reading from dash-separate configuration keys, but it prints a warning when it finds one.Fixed
GGShield commands working with commits no longer fail when parsing a commit without any author.
Configuration keys defined in the global configuration file are no longer ignored if a local configuration file exists.
The option
--exclude PATTERNis no longer ignored by the commandggshield secret scan repo.v1.26.0: 1.26.0Compare Source
Added
ggshield auth loginlearned to create tokens with extra scopes using the--scopesoption. Usingggshield auth login --scopes honeytokens:writewould create a token suitable for theggshield honeytokenscommands.Configuration
📅 Schedule: (UTC)
🚦 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 was generated by Mend Renovate. View the repository job log.