StylusFrost
a31fe9b618
Merge branch 'master' into PROWLER-1391-provider-contract-dynamic-discovery
...
Conflict in prowler/config/config.py resolved by combining both branches:
- HEAD: external compliance discovery via entry points (PROWLER-1391)
- master: multi-provider framework JSONs scanned at top-level compliance/ (#10300 )
Order: built-in per-provider -> built-in multi-provider -> external entry points.
Built-ins first so they win on name collisions against external registrations.
Supporting external plug-ins to register multi-provider frameworks is tracked
in PROWLER-1444.
2026-04-24 20:54:22 +02:00
StylusFrost
907166d88a
fix(sdk): discriminate builtin vs external providers via find_spec for clearer import errors
2026-04-24 20:33:38 +02:00
StylusFrost
0883baad78
fix(sdk): external providers with --service and external checks for new services
2026-04-24 20:18:20 +02:00
StylusFrost
cf70d1f9f8
fix(sdk): honor from_cli_args return value in init_global_provider fallback
2026-04-24 18:51:57 +02:00
StylusFrost
60e7657081
feat(sdk): wire is_external_tool_provider property to execution and metadata validators
2026-04-24 18:23:42 +02:00
StylusFrost
e8487d0686
fix(sdk): unwrap namespaced config for all built-in and external providers
...
load_and_validate_config_file only detected the namespaced format for 5
hardcoded providers (aws, gcp, azure, kubernetes, m365). For every other
built-in (github, nhn, vercel, cloudflare, iac, llm, image, mongodbatlas,
oraclecloud, openstack, alibabacloud, googleworkspace) and for any
external plug-in, the full YAML was returned wrapped instead of the
provider's own block.
Replace the hardcoded list with a dynamic check: if the file has a
top-level key matching the provider and its value is a dict, unwrap it.
Keep the legacy flat format for AWS only (historical, pre-multicloud)
and identify it by the absence of nested-dict top-level values, which
prevents cross-provider config leakage when a namespaced file has no
section for the requested provider.
2026-04-24 18:01:47 +02:00
Alejandro Bailo
4788dcade2
fix(ui): polish shared table pagination and provider spacing ( #10891 )
2026-04-24 15:40:40 +02:00
Alejandro Bailo
22a6cc9e73
fix(ui): align resources filters and resource drawer behavior ( #10861 )
2026-04-24 15:03:47 +02:00
06bb382f8e
chore(ui): add knip for dead code detection ( #10654 )
...
Co-authored-by: Pablo F.G <pablo.fernandez@prowler.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-24 14:45:59 +02:00
Pedro Martín and Alan Buscaglia
d4ece2b43e
feat(sdk): add multi-provider compliance framework JSONs ( #10300 )
...
Co-authored-by: Alan Buscaglia <gentlemanprogramming@gmail.com >
2026-04-24 13:27:31 +02:00
César Arroba
b97d68fbd5
fix(ci): also gate cache-dependency-path on enable-cache in setup-python-poetry ( #10885 )
2026-04-24 12:38:13 +02:00
César Arroba
ca79300440
fix(ci): poetry cache post-step failure on release workflows ( #10881 )
2026-04-24 11:57:30 +02:00
Pepe Fagoaga
7a0e107617
chore(api): changelog for v5.24.4 ( #10882 )
2026-04-24 11:57:02 +02:00
César Arroba
6d3fcec5da
ci: bump docs version against master on patch releases ( #10879 )
2026-04-24 11:49:14 +02:00
César Arroba
ce1cf51d37
fix(ci): allow github.com egress in backport workflow ( #10876 )
2026-04-24 10:00:55 +02:00
3554859a5c
fix(ui): load every Attack Paths scan before displaying the selector ( #10864 )
...
Co-authored-by: Pablo F.G <pablo.fernandez@prowler.com >
Co-authored-by: Alejandro Bailo <59607668+alejandrobailo@users.noreply.github.com >
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2026-04-24 09:41:47 +02:00
Daniel Barranquero
80d62f355f
fix(alibabacloud): fix CS service SDK compatibility and harden Alibaba provider ( #10871 )
2026-04-24 09:26:09 +02:00
Josema Camacho
0df24eeff6
fix(api): make Neo4j connection acquisition timeout configurable and enable Sentry tracing ( #10873 )
2026-04-23 17:52:14 +02:00
Alejandro Bailo
d1fc482832
feat(ui): improve Mutelist UX and mute modal ( #10846 )
2026-04-23 17:36:32 +02:00
Andoni Alonso
ffb1bb89e1
feat(ci): add official Prowler GitHub Action ( #10872 )
2026-04-23 16:15:13 +02:00
Alejandro Bailo
d877bea0e3
chore(ui): unify filter search and batch patterns ( #10859 )
2026-04-23 16:03:33 +02:00
Pedro Martín
2304bf0093
feat(compliance): add CIS pdf reporting ( #10650 )
2026-04-23 13:28:30 +02:00
Pepe Fagoaga
2ca74102a9
chore(poetry): lock poetry with 2.3.4 and install git as required ( #10868 )
2026-04-23 12:30:14 +02:00
Pablo Fernandez Guerra (PFE) and Pablo F.G
6ae129fcc0
chore: remove unused submodule ( #10869 )
...
Co-authored-by: Pablo F.G <pablo.fernandez@prowler.com >
2026-04-23 12:13:35 +02:00
Alejandro Bailo
e9731f53ad
chore(ui): reorganize changelog and open 1.24.4 section ( #10866 )
2026-04-23 11:22:32 +02:00
db2f92e6d5
chore: add prowler-openspec-opensource as git submodule ( #10680 )
...
Co-authored-by: Pablo F.G <pablo.fernandez@prowler.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-23 10:52:17 +02:00
Alejandro Bailo
f4b0f8fa22
fix(ui): prevent rescheduling scans during credential update ( #10851 )
2026-04-23 09:45:16 +02:00
Pedro Martín
dff5541e11
fix(ci): improve compliance check action ( #10850 )
2026-04-22 16:31:05 +02:00
Mathisdjango and Daniel Barranquero
927be17fb7
feat(github): add check for dismissing stale PR approvals on default branch (CIS 1.1.4) ( #10569 )
...
Co-authored-by: Daniel Barranquero <danielbo2001@gmail.com >
2026-04-22 16:14:10 +02:00
Pepe Fagoaga
c27cb28a2a
chore(safety): define policy for high and critical ( #10845 )
2026-04-22 13:28:59 +02:00
Pepe Fagoaga and alejandrobailo
94ee24071a
refactor: unify filtering and sorting for finding ( #10803 )
...
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com >
2026-04-22 13:11:50 +02:00
Josema Camacho
1093f6c99b
fix(api): merge Attack Paths findings on short UIDs for AWS resources ( #10839 )
2026-04-22 12:19:03 +02:00
Hugo Pereira Brito and alejandrobailo
48060c47ba
fix(ui): improve Resource Inventory cards light mode ( #10757 )
...
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com >
2026-04-22 12:05:09 +02:00
Pedro Martín
72acc2119d
fix(aws): disallow me-south-1 & me-central-1 avoid stuck scans ( #10837 )
2026-04-22 11:16:41 +02:00
Rubén De la Torre Vico
b1ebea4a7e
chore(pre-commit): scope hooks per monorepo component ( #10815 )
2026-04-22 11:04:31 +02:00
001057644e
chore(deps): bump pyasn1 from 0.6.2 to 0.6.3 ( #10365 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: pedrooot <pedromarting3@gmail.com >
Co-authored-by: Hugo P.Brito <hugopbrit@gmail.com >
2026-04-22 10:53:39 +02:00
Adrián Peña
1456def7d4
fix(api): reaggregate overview summaries after muting findings ( #10827 )
2026-04-22 10:44:21 +02:00
dependabot[bot] and Pedro Martín
12d475e7af
chore(deps-dev): bump pygments from 2.19.2 to 2.20.0 ( #10521 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Pedro Martín <pedromarting3@gmail.com >
2026-04-22 10:09:06 +02:00
StylusFrost
9c056beed1
Merge branch 'master' into PROWLER-1391-provider-contract-dynamic-discovery
2026-04-22 09:39:10 +02:00
Andoni Alonso and Pepe Fagoaga
43bd1083e0
feat(sdk): add SARIF output format for IaC provider ( #10626 )
...
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2026-04-22 09:32:20 +02:00
dependabot[bot]
bbd4ce7565
chore(deps): bump pygments from 2.19.2 to 2.20.0 in /mcp_server ( #10523 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-22 09:31:04 +02:00
97a085bf21
feat(ui): Add user expulsion from tenants with JWT authentication fix ( #10787 )
...
Co-authored-by: Pablo F.G <pablo.fernandez@prowler.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Co-authored-by: Adrián Peña <adrianjpr@gmail.com >
2026-04-22 09:28:39 +02:00
Pablo Fernandez Guerra (PFE) and Pablo F.G
29a2f8fac8
chore: remove legacy ui-checks hook from root pre-commit config ( #10834 )
...
Co-authored-by: Pablo F.G <pablo.fernandez@prowler.com >
2026-04-22 09:18:39 +02:00
Pedro Martín
a24869fc26
feat(sdk): add universal compliance output modules (CSV, OCSF, table) ( #10299 )
2026-04-22 09:01:45 +02:00
dependabot[bot]
72c94db1cf
chore(deps): bump pygments from 2.19.2 to 2.20.0 in /api ( #10522 )
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-22 08:59:21 +02:00
StylusFrost
f60f7c61c7
feat(provider): add display_compliance_table method for provider-specific compliance rendering
2026-04-21 19:40:38 +02:00
StylusFrost
3deb1359a5
Merge branch 'master' into PROWLER-1391-provider-contract-dynamic-discovery
2026-04-21 18:52:13 +02:00
StylusFrost
e2295bd086
feat(provider): implement get_mutelist_finding_args for external providers and add tests
2026-04-21 18:50:18 +02:00
Pepe Fagoaga
4ef7bbdb7c
docs: how to configure AWS SDK Default for IAM Role authentication ( #10807 )
2026-04-21 18:46:18 +02:00
Pepe Fagoaga
f2c5d2ec87
fix(aws): fallback lookup events to resource name ( #10828 )
2026-04-21 18:31:50 +02:00