
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
A tool to track and analyze Terraform modules used in GitHub, GitLab, Azure DevOps, and Bitbucket repositories
Discover and analyze Terraform and Terragrunt modules across GitHub, GitLab, Azure DevOps, Bitbucket, and local filesystems. Terrawiz gives you clear visibility into IaC usage: inventory modules, track versions, and export reports.
npm install -g terrawiz
# https://github.com/settings/tokens
export GITHUB_TOKEN=your_token
# Scan a GitHub organization
terrawiz scan github:your-org
# Or scan a single repository
terrawiz scan github:your-org/your-repo
# JSON report
terrawiz scan github:your-org -f json -e audit.json
# CSV report
terrawiz scan github:your-org -f csv -e modules.csv
The examples below are captured from running the command against the repository github:hashicorp/terraform-guides.
Table (human‑readable):
terrawiz scan github:hashicorp/terraform-guides
Infrastructure as Code Module Usage Report
============================
Platform: GitHub
Target: hashicorp/terraform-guides
Scope: Single repository: terraform-guides
Total modules found: 28 (28 Terraform, 0 Terragrunt)
Total files analyzed: 135 (124 Terraform, 11 Terragrunt)
Module Summary by Source:
Azure/compute/azurerm (1 instances, type: registry)
Versions:
- 1.1.5: 1 instances
./modules/openshift (1 instances, type: local)
git::ssh://git@github.com/hashicorp-modules/hashistack-gcp (1 instances, type: git)
... (additional sources omitted for brevity)
JSON (API‑friendly):
{
"metadata": {
"platform": "GitHub",
"moduleCount": 28,
"timestamp": "2025-09-14T16:06:48.575Z"
},
"modules": [
{
"source": "Azure/compute/azurerm",
"sourceType": "registry",
"version": "1.1.5",
"repository": "hashicorp/terraform-guides",
"filePath": "infrastructure-as-code/azure-vm/main.tf",
"lineNumber": 19
}
]
}
CSV (spreadsheet‑ready):
module,source_type,file_type,version,repository,file_path,line_number,file_link
Azure/compute/azurerm,registry,terraform,1.1.5,hashicorp/terraform-guides,infrastructure-as-code/azure-vm/main.tf,19,https://github.com/hashicorp/terraform-guides/blob/master/infrastructure-as-code/azure-vm/main.tf#L19
./modules/openshift,local,terraform,,hashicorp/terraform-guides,infrastructure-as-code/k8s-cluster-openshift-aws/main.tf,42,https://github.com/hashicorp/terraform-guides/blob/master/infrastructure-as-code/k8s-cluster-openshift-aws/main.tf#L42
git::ssh://git@github.com/hashicorp-modules/hashistack-gcp,git,terraform,,hashicorp/terraform-guides,infrastructure-as-code/hashistack/dev/terraform-gcp/main.tf,22,https://github.com/hashicorp/terraform-guides/blob/master/infrastructure-as-code/hashistack/dev/terraform-gcp/main.tf#L22
GitHub
GITHUB_TOKEN (required)repo (private) and read:org as needed.GITHUB_TOKEN; include the host in the source (e.g., github://github.company.com/org).GitLab
GITLAB_TOKEN (required)read_api (or api) for private projects; sufficient rights to list projects and read files.GITLAB_TOKEN; include the host in the source (e.g., gitlab://gitlab.company.com/group).Azure DevOps
AZURE_DEVOPS_TOKEN (required)Code (Read)).azure:organization/project, azure:organization/project/repository.Bitbucket
BITBUCKET_TOKEN (required)BITBUCKET_TOKEN to username:app_password for app-password auth.bitbucket://host/...) or set BITBUCKET_HOST.bitbucket:workspace, bitbucket:workspace/repositorybitbucket://bitbucket.example.com/PROJECT, bitbucket://bitbucket.example.com/PROJECT/repositoryLocal
local: sources.Command structure
terrawiz scan <source> [options]terrawiz help [command]Commands
scan — Scan and analyze IaC modules from a targethelp — Show help for the CLI or a commandPositional arguments
source — what to scan. Supported forms:
github:org or github:org/repogithub://host/org or github://host/org/repogitlab:group or gitlab:group/projectgitlab://host/group or gitlab://host/group/projectazure:organization, azure:organization/project, or azure:organization/project/repositoryazure://host/organization/project or azure://host/organization/project/repositorybitbucket:workspace or bitbucket:workspace/repositorybitbucket://host/PROJECT or bitbucket://host/PROJECT/repositorylocal:., local:/abs/path, local:./relative/pathOptions
-f, --format <format> — Output format: table (default), json, csv-e, --export <file> — Write results to a file-c, --concurrency <repos:files> — Concurrency (e.g., 5:10)--limit <number> — Limit repositories to scan--include-archived — Include archived repositories (default is skip)-p, --pattern <regex> — Filter repositories by name pattern--terraform-only — Scan only Terraform (.tf) files--terragrunt-only — Scan only Terragrunt (.hcl) files--disable-rate-limit — Disable API rate limiting--debug — Enable verbose debug logging--org, --repo — Legacy flags (use the source argument instead)Filtering & scope
-p "^terraform-"--terraform-only or --terragrunt-only--include-archived--limit 10Performance & rate limits
-c 10:20 (repos:files)--disable-rate-limit--debug to see detailed progress and timingsEnterprise/self‑hosted targets
github://github.company.com/orggitlab://gitlab.company.com/groupazure://azure.company.com/org/projectbitbucket://bitbucket.company.com/PROJECT/repositoryLocal scanning
terrawiz scan local:.terrawiz scan local:/path/to/terraformCI/CD & Docker
export GITHUB_TOKEN=your_token
docker run --rm -e GITHUB_TOKEN=$GITHUB_TOKEN \
ghcr.io/efemaer/terrawiz:latest scan github:your-org -f json
docker run --rm -e GITHUB_TOKEN=$GITHUB_TOKEN \
--mount type=bind,src="$(pwd)",target=/workspace \
ghcr.io/efemaer/terrawiz:latest scan github:your-org --terraform-only -f json -e export.json
docker run --rm --mount type=bind,src="$(pwd)",target=/workspace \
ghcr.io/efemaer/terrawiz:latest scan local:/workspace
/workspace (never /app or /opt/terrawiz).No‑install option
npx terrawiz scan github:your-orgWe welcome contributions! See CONTRIBUTING.md for development setup and guidelines.
Quick start:
git checkout -b feature/amazing-featurenpm test && npm run lint && npm run format:checkMIT — see LICENSE.
FAQs
A tool to track and analyze Terraform modules used in GitHub, GitLab, Azure DevOps, and Bitbucket repositories
We found that terrawiz demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.