From 21bdbacdfba4d8cc617667424b925bb5bcaf4da2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pedro=20Mart=C3=ADn?= Date: Mon, 16 Feb 2026 09:31:21 +0100 Subject: [PATCH] chore(readme): update and add skill (#10067) Co-authored-by: Hugo Pereira Brito <101209179+HugoPBrito@users.noreply.github.com> --- README.md | 18 ++--- skills/prowler-readme-table/SKILL.md | 110 +++++++++++++++++++++++++++ 2 files changed, 119 insertions(+), 9 deletions(-) create mode 100644 skills/prowler-readme-table/SKILL.md diff --git a/README.md b/README.md index d583a33a15..9e5be11c53 100644 --- a/README.md +++ b/README.md @@ -104,15 +104,15 @@ Every AWS provider scan will enqueue an Attack Paths ingestion job automatically | Provider | Checks | Services | [Compliance Frameworks](https://docs.prowler.com/projects/prowler-open-source/en/latest/tutorials/compliance/) | [Categories](https://docs.prowler.com/projects/prowler-open-source/en/latest/tutorials/misc/#categories) | Support | Interface | |---|---|---|---|---|---|---| -| AWS | 585 | 84 | 40 | 17 | Official | UI, API, CLI | -| Azure | 169 | 22 | 17 | 13 | Official | UI, API, CLI | -| GCP | 100 | 17 | 14 | 7 | Official | UI, API, CLI | -| Kubernetes | 84 | 7 | 7 | 9 | Official | UI, API, CLI | -| GitHub | 20 | 2 | 1 | 2 | Official | UI, API, CLI | -| M365 | 72 | 7 | 4 | 4 | Official | UI, API, CLI | -| OCI | 52 | 14 | 1 | 12 | Official | UI, API, CLI | -| Alibaba Cloud | 64 | 9 | 2 | 9 | Official | UI, API, CLI | -| Cloudflare | 29 | 3 | 0 | 5 | Official | CLI | +| AWS | 572 | 83 | 41 | 17 | Official | UI, API, CLI | +| Azure | 165 | 20 | 18 | 13 | Official | UI, API, CLI | +| GCP | 100 | 13 | 15 | 11 | Official | UI, API, CLI | +| Kubernetes | 83 | 7 | 7 | 9 | Official | UI, API, CLI | +| GitHub | 21 | 2 | 1 | 2 | Official | UI, API, CLI | +| M365 | 75 | 7 | 4 | 4 | Official | UI, API, CLI | +| OCI | 51 | 13 | 3 | 12 | Official | UI, API, CLI | +| Alibaba Cloud | 61 | 9 | 3 | 9 | Official | UI, API, CLI | +| Cloudflare | 29 | 2 | 0 | 5 | Official | CLI, API | | IaC | [See `trivy` docs.](https://trivy.dev/latest/docs/coverage/iac/) | N/A | N/A | N/A | Official | UI, API, CLI | | MongoDB Atlas | 10 | 3 | 0 | 3 | Official | UI, API, CLI | | LLM | [See `promptfoo` docs.](https://www.promptfoo.dev/docs/red-team/plugins/) | N/A | N/A | N/A | Official | CLI | diff --git a/skills/prowler-readme-table/SKILL.md b/skills/prowler-readme-table/SKILL.md new file mode 100644 index 0000000000..d6f9c6e780 --- /dev/null +++ b/skills/prowler-readme-table/SKILL.md @@ -0,0 +1,110 @@ +--- +name: prowler-readme-table +description: > + Updates the "Prowler at a Glance" table in README.md with accurate provider statistics. + Trigger: When updating README.md provider stats, checks count, services count, compliance frameworks, or categories. +license: Apache-2.0 +metadata: + author: prowler-cloud + version: "1.0" + scope: [root] + auto_invoke: + - "Updating README.md provider statistics table" + - "Updating checks, services, compliance, or categories count in README.md" +allowed-tools: Read, Edit, Bash, Glob, Grep +--- + +## When to Use + +Use this skill when updating the **Prowler at a Glance** table in the root `README.md`. This table tracks the number of checks, services, compliance frameworks, and categories for each supported provider. + +## Procedure + +### Step 1: Collect Stats via CLI + +Run the following command for **each provider** and **each metric**: + +```bash +python3 prowler-cli.py --list- +``` + +**Providers:** `aws`, `azure`, `gcp`, `kubernetes`, `github`, `m365`, `oraclecloud`, `alibabacloud`, `cloudflare`, `mongodbatlas`, `openstack`, `nhn` + +**Metrics:** `checks`, `services`, `compliance`, `categories` + +The CLI output ends with a summary line like: + +``` +There are 572 available checks. +There is 1 available Compliance Framework. +``` + +Extract the number from the summary line. Note that singular results use "There is" instead of "There are". + +### Step 2: Batch Extraction + +Use this one-liner to collect all stats at once (handles both singular and plural output): + +```bash +for provider in aws azure gcp kubernetes github m365 oraclecloud alibabacloud cloudflare mongodbatlas openstack nhn; do + for metric in checks services compliance categories; do + result=$(python3 prowler-cli.py $provider --list-$metric 2>&1 | sed -n 's/.*There \(are\|is\) .*\x1b\[33m\([0-9]*\)\x1b\[0m.*/\2/p') + echo "$provider $metric: $result" + done +done +``` + +### Step 3: Update the Table + +Edit the table in `README.md` (located in the `# Prowler at a Glance` section) with the collected numbers. + +**Table format:** + +```markdown +| Provider | Checks | Services | [Compliance Frameworks](...) | [Categories](...) | Support | Interface | +|---|---|---|---|---|---|---| +| AWS | 572 | 83 | 41 | 17 | Official | UI, API, CLI | +``` + +### Provider Name Mapping + +| CLI Provider | Table Display Name | +|---|---| +| `aws` | AWS | +| `azure` | Azure | +| `gcp` | GCP | +| `kubernetes` | Kubernetes | +| `github` | GitHub | +| `m365` | M365 | +| `oraclecloud` | OCI | +| `alibabacloud` | Alibaba Cloud | +| `cloudflare` | Cloudflare | +| `mongodbatlas` | MongoDB Atlas | +| `openstack` | OpenStack | +| `nhn` | NHN | + +### Special Rows (No CLI stats) + +These providers delegate to external tools and do NOT use CLI stats: + +| Provider | Checks Column | Services | Compliance | Categories | +|---|---|---|---|---| +| IaC | `[See trivy docs.](https://trivy.dev/latest/docs/coverage/iac/)` | N/A | N/A | N/A | +| LLM | `[See promptfoo docs.](https://www.promptfoo.dev/docs/red-team/plugins/)` | N/A | N/A | N/A | + +### Support and Interface Columns + +- **Support**: `Official` for all providers except `NHN` which is `Unofficial` +- **Interface**: Most providers use `UI, API, CLI`. Exceptions with `CLI` only: `Cloudflare`, `OpenStack`, `NHN`, `LLM` + +## Rules + +- **ALWAYS** use the CLI (`python3 prowler-cli.py`) to obtain numbers. Do NOT count files manually. +- **NEVER** commit changes unless explicitly asked. +- **NEVER** modify the IaC or LLM rows (they link to external docs). +- Verify the CLI is working by running one provider first before batch-processing all. + +## Resources + +- **CLI entry point**: `prowler-cli.py` in the repository root +- **Table location**: `README.md`, section `# Prowler at a Glance` (around line 100)