Skip to main content

ggscout

GitGuardian CLI tool for NHI (Non-Human Identity) discovery and remediation

ggscout is a Rust-powered command-line tool by GitGuardian that discovers and inventories Non-Human Identities (NHIs) across your production infrastructure. NHIs include services, applications, containers, and automation scripts that authenticate and access resources without human intervention. ggscout maps these identities, their permissions, and associated secrets to help organizations understand their NHI landscape and bootstrap incident remediation.

Installation

# Using uv (recommended)
uv tool install ggscout

# Using pip
pip install ggscout

Note: This is a Rust binary packaged for distribution via PyPI

Basic Usage

# Display help
ggscout --help

# Fetch secrets from configuration
ggscout fetch config.toml

# Run with debug logging
ggscout --verbose DEBUG fetch config.toml

Supported Platforms

ggscout inventories Non-Human Identities from:

  • HashiCorp Vault - KV stores, dynamic secrets, auth methods
  • AWS Secrets Manager - Secrets and associated IAM roles
  • Azure Key Vault - Keys, secrets, and managed identities
  • Google Cloud Secret Manager - Secrets and service accounts
  • Kubernetes/OpenShift - Secrets, ConfigMaps, Deployments, ServiceAccounts, Environment Variables
  • Akeyless Vault - Static and dynamic secrets
  • CyberArk SaaS / CyberArk Self-Hosted - Application identities and secrets
  • Delinea Secret Server - Machine accounts and credentials
  • GitLab CI - Project variables and pipeline identities

Key Features

  • Comprehensive NHI Discovery - Inventories services, roles, and secrets across platforms
  • Production-ready - Built for production environments with secure data handling
  • Multi-platform Support - Works with major secret management and orchestration platforms
  • Secure Transfer - Optional hashing before transmission to GitGuardian platform
  • High Performance - Rust implementation optimized for large-scale inventories
  • Flexible Configuration - TOML-based config with environment variable interpolation

Validity Checks

After fetching, ggscout checks each classified secret with its own provider to see if it's still valid and what scopes it grants. This sends the live credential to the provider from inside your network. It's on by default; set [check] enabled = false in your config to turn it off.

Configuration Example

[sources.vault]
type = "hashicorpvault"
vault_address = "${VAULT_ADDR}"

[sources.vault.auth]
auth_mode = "token"
token = "${VAULT_TOKEN}"

[sources.k8s]
type = "k8s"
kubeconfig_path = "~/.kube/config"

Documentation

Official ggscout Documentation

About GitGuardian

GitGuardian is the code security platform for automated secrets detection and remediation across all environments from source code to production.

ggscout integrates with GitGuardian's platform to provide comprehensive visibility and control over Non-Human Identities in your production infrastructure, enabling better security posture management and incident remediation.

License

This project is licensed under a Proprietary License.

Support

Metadata

Release files for ggscout 0.36.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for ggscout 0.36.1
File Actions
ggscout-0.36.1-py3-none-musllinux_1_2_x86_64.whl Python 3 none Linux musl 1.2+ x86-64 Details for ggscout-0.36.1-py3-none-musllinux_1_2_x86_64.whl
ggscout-0.36.1-py3-none-musllinux_1_2_aarch64.whl Python 3 none Linux musl 1.2+ ARM64 Details for ggscout-0.36.1-py3-none-musllinux_1_2_aarch64.whl
ggscout-0.36.1-py3-none-manylinux_2_28_x86_64.whl Python 3 none Linux glibc 2.28+ x86-64 Details for ggscout-0.36.1-py3-none-manylinux_2_28_x86_64.whl
ggscout-0.36.1-py3-none-manylinux_2_28_aarch64.whl Python 3 none Linux glibc 2.28+ ARM64 Details for ggscout-0.36.1-py3-none-manylinux_2_28_aarch64.whl

Total release size: 77.6 MB

Release files / ggscout-0.36.1-py3-none-musllinux_1_2_x86_64.whl

Download URL ggscout-0.36.1-py3-none-musllinux_1_2_x86_64.whl
Size 20.2 MB
Tags Linux musl 1.2+ x86-64 Python 3
SHA-256 checksum
How to use checksums
b6eebf639b100515616a9ecfe426106f6480cdbb247e440e242d2a8deb3dece4
BLAKE2b-256 checksum
How to use checksums
7fd2e24252b65bbd31bdc233f53ec44da9d8241d7af11c9d49540325b77473ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / ggscout-0.36.1-py3-none-musllinux_1_2_aarch64.whl

Download URL ggscout-0.36.1-py3-none-musllinux_1_2_aarch64.whl
Size 19.0 MB
Tags Linux musl 1.2+ ARM64 Python 3
SHA-256 checksum
How to use checksums
a6464aa50437dbfb6906b5512dbf4ace9b289aca4775f2cf971644e9a44291ea
BLAKE2b-256 checksum
How to use checksums
4e8f349a739389a288b55aaf549f571494b669e1d6e2a5d8761b59519cec93e4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / ggscout-0.36.1-py3-none-manylinux_2_28_x86_64.whl

Download URL ggscout-0.36.1-py3-none-manylinux_2_28_x86_64.whl
Size 19.8 MB
Tags Linux glibc 2.28+ x86-64 Python 3
SHA-256 checksum
How to use checksums
bd978a9ce8483abacf1be5a568065ad02bab5f014e608fd30a03173a5cc4e1e5
BLAKE2b-256 checksum
How to use checksums
8d438d243f3c2b2d43db701bc2cea8b4797d1859e5f34c9f3ddc495d74e35166
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Release files / ggscout-0.36.1-py3-none-manylinux_2_28_aarch64.whl

Download URL ggscout-0.36.1-py3-none-manylinux_2_28_aarch64.whl
Size 18.6 MB
Tags Linux glibc 2.28+ ARM64 Python 3
SHA-256 checksum
How to use checksums
e4dd3f9ec8e89c38ab22645a51cf36acb7acabc9315f133b740b1ed121e2ee6f
BLAKE2b-256 checksum
How to use checksums
e76df10a431888fb67169a8aadf6bf766a3e85994b3b0d02b3c41b60d471d9ae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.9.25

Security for ggscout 0.36.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page