Skip to main content

Asset query utility — find where software is deployed across GitHub, AWS, GCP, Azure, CrowdStrike, etc using CPE, PURL, or vendor/product/version.

Project description

assetquery – Asset Query Utility

Find where software is deployed across GitHub, AWS, GCP, Azure, and CrowdStrike using a common query language (CPE, PURL, or vendor/product/version).

Install

# Core package (no cloud provider SDKs)
pip install assetquery

# With specific provider extras
pip install "assetquery[aws,github]"

# All providers
pip install "assetquery[all]"

# Or install as a CLI tool with uv / pipx
uv tool install "assetquery[all]"
pipx install "assetquery[all]"

Quick start

# 1. Copy the example config
cp config.example.yaml ~/.mallory/assetquery/config.yaml

# 2. Enable the providers you need and add credentials (see Providers below)

# 3. Check provider health
assetquery providers

# 4. List all assets
assetquery list

# 5. Find where a library is deployed
assetquery find "pkg:pypi/requests@2.28.0"

Usage

Listing assets

# List everything from all enabled providers
assetquery list

# List from a specific provider
assetquery list --provider aws_resource_explorer

# List from multiple providers
assetquery list --provider aws_inspector,aws_security_hub

# Output as JSON
assetquery list --output json

# Verbose mode (debug output to stderr)
assetquery list -v

Finding specific software

# Find by CPE
assetquery find "cpe:2.3:a:apache:log4j:2.14.0:*:*:*:*:*:*:*"

# Find by PURL
assetquery find "pkg:maven/org.apache.logging.log4j/log4j-core@2.14.0"

# Find by vendor/product/version
assetquery find --vendor apache --product log4j --version 2.14.0

# Query specific providers only
assetquery find --provider github_dependabot,aws_inspector "pkg:pypi/requests@2.28.0"

# Batch from file (one CPE or PURL per line)
assetquery find --file targets.txt --output csv

Listing a single repo's SBOM

assetquery list --provider github_dep_graph --repo malloryai/web

Checking provider health

assetquery providers

Output formats

All commands support --output (-o): table (default), json, jsonl, csv.

Providers

assetquery supports 11 providers across 5 platforms. Each provider has its own authentication and configuration — see the linked docs for details.

GitHub

Provider What it queries Docs
github_dependabot Dependabot vulnerability alerts docs/providers/github_dependabot.md
github_dep_graph Dependency graph SBOMs docs/providers/github_dep_graph.md

Auth: GITHUB_TOKEN or gh auth login

AWS

Provider What it queries Docs
aws_inspector Inspector vulnerability findings docs/providers/aws_inspector.md
aws_security_hub Security Hub aggregated findings docs/providers/aws_security_hub.md
aws_resource_explorer Resource inventory (all services) docs/providers/aws_resource_explorer.md

Auth: AWS SDK credential chain (AWS_PROFILE, ~/.aws/credentials, env vars, IAM role)

GCP

Provider What it queries Docs
gcp_scc Security Command Center findings docs/providers/gcp_scc.md
gcp_cai Cloud Asset Inventory (resources) docs/providers/gcp_cai.md

Auth: Application Default Credentials (gcloud auth application-default login, GOOGLE_APPLICATION_CREDENTIALS)

Azure

Provider What it queries Docs
azure_resource_graph Resource Graph (resource inventory) docs/providers/azure_resource_graph.md
azure_defender Defender for Cloud assessments docs/providers/azure_defender.md

Auth: Azure SDK credential chain (az login, service principal env vars, managed identity)

CrowdStrike

Provider What it queries Docs
crowdstrike_spotlight Falcon Spotlight vulnerabilities docs/providers/crowdstrike_spotlight.md

Auth: CROWDSTRIKE_CLIENT_ID + CROWDSTRIKE_CLIENT_SECRET

Spektion

Provider What it queries Docs
spektion Endpoint software inventory docs/providers/spektion.md

Auth: SPEKTION_API_KEY

Configuration

Config file: ~/.mallory/assetquery/config.yaml

See config.example.yaml for a complete example with all providers.

Providers use ambient credentials where possible — API keys and secrets stay in your environment, not the config file.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

assetquery-0.1.0.tar.gz (54.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

assetquery-0.1.0-py3-none-any.whl (73.0 kB view details)

Uploaded Python 3

File details

Details for the file assetquery-0.1.0.tar.gz.

File metadata

  • Download URL: assetquery-0.1.0.tar.gz
  • Upload date:
  • Size: 54.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.13

File hashes

Hashes for assetquery-0.1.0.tar.gz
Algorithm Hash digest
SHA256 509cb89e4b8c717a7a4f98948d220a7a15da0f5ba648b466010385ae213148f7
MD5 9c71b2dcc7054a4c79bdb1f68b9e9a93
BLAKE2b-256 ac3a6495cf7954dd19a484d97a1964c72ade46e355868c98f4cc00944b8d7cfe

See more details on using hashes here.

File details

Details for the file assetquery-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: assetquery-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 73.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.5.13

File hashes

Hashes for assetquery-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a903e7ecbdbd43222648cb426659cbb3c2e9923f41c28e400f5a20738d5feaf6
MD5 f939552ed4ac2fd65e9661844a80a013
BLAKE2b-256 00845397bbc727ef8b33bf1b335e6d29ef70f1f2bdf94c6a06df631db214c044

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page