StylusFrost
40da359804
feat(compliance): discover external universal frameworks via entry points
...
External plug-ins ship multi-provider (universal-schema) frameworks through a
dedicated prowler.compliance.universal entry point group, separate from the
per-provider prowler.compliance group. Both get_bulk_compliance_frameworks_universal
(loading) and get_available_compliance_frameworks (listing / --compliance
choices) scan the new group. Built-ins load first and win on a name collision;
multiple packages under the same provider are merged. load_compliance_framework
gains fatal=False so the legacy external path skips a non-legacy JSON with a
warning instead of aborting the run.
2026-06-07 13:56:59 +02:00
StylusFrost
9c7afd64c5
fix(sdk): match compliance provider segment exactly in get_bulk
...
- Compare the module's last dotted segment instead of substring
- Prevent a provider name from capturing overlapping built-ins
- Add parametrized regression test (cloud, git, work, open cases)
- Update get_bulk test mock to the real dotted module name
2026-06-01 19:51:27 +02:00
StylusFrost
5070ce39c2
fix(sdk): guard built-in providers in is_tool_wrapper_provider
...
- Short-circuit on is_builtin_provider before loading entry points
- Prevent same-name plug-ins from flipping a built-in onto the tool-wrapper path
- Avoid executing plug-in code via ep.load() for built-in names
- Add regression test asserting ep.load is never called
2026-06-01 19:43:36 +02:00
StylusFrost
ca72922dca
Merge branch 'master' into PROWLER-1391-provider-contract-dynamic-discovery
2026-05-27 17:12:54 +02:00
Ivan Necheporenko
bcaa6ac488
fix(sdk): scan every Azure subscription when display names collide ( #10718 )
...
Co-authored-by: Rubén De la Torre Vico <ruben@prowler.com >
Co-authored-by: Daniel Barranquero <danielbo2001@gmail.com >
2026-05-07 13:59:38 +02:00
StylusFrost
cf99e02ceb
Merge branch 'master' into PROWLER-1391-provider-contract-dynamic-discovery
2026-05-05 08:57:11 +02:00
Daniel Barranquero
86449fb99d
chore(vercel): add disclaimer for checks depending on billing plan ( #10663 )
2026-05-04 08:56:50 +02:00
StylusFrost
92d7ea2170
Merge remote-tracking branch 'origin/master' into PROWLER-1391-provider-contract-dynamic-discovery
...
# Conflicts:
# prowler/config/config.py
2026-05-03 19:41:25 +02:00
StylusFrost
c7aa536896
fix(sdk): built-in wins on plug-in collision for providers and checks
2026-04-30 19:50:19 +02:00
Pedro Martín
578186aa40
feat(sdk): integrate universal compliance into CLI pipeline ( #10301 )
2026-04-30 13:49:00 +02:00
StylusFrost
15d8f1642e
test(sdk): unit tests for tool_wrapper leaf module
2026-04-28 14:45:07 +02:00
Pedro Martín
ac6dd03fb8
feat(sdk): add universal compliance schema models and loaders ( #10298 )
2026-04-21 11:39:04 +02:00
Alejandro Bailo
4e508b69c9
fix(vercel): use canonical Hub URLs in check metadata ( #10636 )
2026-04-09 16:23:50 +02:00
rchotacode
5e1e4bd8e4
fix(oci): Mutelist support ( #10566 )
...
Co-authored-by: Ronan Chota <ronan.chota@saic.com >
Co-authored-by: Hugo P.Brito <hugopbrito@users.noreply.github.com >
2026-04-07 13:23:51 +01:00
kaiisfree
c99ed991b7
fix: show all checks including threat-detection in --list-checks ( #10578 )
...
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: kaiisfree <kai@users.noreply.github.com >
Co-authored-by: Hugo Pereira Brito <101209179+HugoPBrito@users.noreply.github.com >
2026-04-06 16:55:15 +01:00
Hugo Pereira Brito
269d9dfe41
feat(cli): add --resource-group flag to filter checks by resource group ( #10479 )
...
Co-authored-by: Daniel Barranquero <danielbo2001@gmail.com >
2026-03-27 11:55:28 +01:00
Andoni Alonso
65e745d779
fix(sdk): skip strict CheckMetadata validators for external tool providers ( #10363 )
2026-03-18 09:11:39 +01:00
Hugo Pereira Brito
c9284f8003
chore(models): add pydantic validators for CheckMetadata ( #8583 )
...
Co-authored-by: Rubén De la Torre Vico <ruben@prowler.com >
Co-authored-by: Daniel Barranquero <danielbo2001@gmail.com >
Co-authored-by: Andoni A. <14891798+andoniaf@users.noreply.github.com >
2026-03-16 10:36:08 +01:00
Hugo Pereira Brito
1250f582a5
fix(check): custom check folder validation ( #9335 )
2025-11-28 12:19:47 +01:00
Sergio Garcia
e038b2fd11
chore(sdk): add validation for invalid checks, services, and categories ( #8971 )
...
Co-authored-by: Andoni Alonso <14891798+andoniaf@users.noreply.github.com >
2025-11-06 11:46:21 +01:00
OlmeNav
035293b612
feat: Verify that the CheckID is the same as the filename and classname in the Check class ( #8690 )
...
Co-authored-by: angelolmn <e.angelolm#go.ugr.es>
Co-authored-by: César Arroba <cesar@prowler.com >
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2025-09-30 13:46:59 +02:00
Pedro Martín
fbda66c6d1
feat(compliance): add name for each compliance ( #7920 )
...
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2025-09-22 14:53:27 +02:00
Hugo Pereira Brito
a3b0bb6d4b
refactor(models): rename AdditionalUrls to AdditionalURLs ( #8639 )
2025-09-03 19:34:06 +05:45
Hugo Pereira Brito
c9ed7773d2
feat(models): add AdditionalUrls field to check metadata ( #8590 )
2025-09-02 21:27:21 +05:45
Pepe Fagoaga
087e01cc4f
fix(checks_loader): Handle multiple services and severities ( #8302 )
2025-07-17 13:39:29 +05:45
Pepe Fagoaga
74940e1fc4
fix(check_metadata): add service name validator ( #8289 )
...
Co-authored-by: Sergio Garcia <hello@mistercloudsec.com >
Co-authored-by: Pedro Martín <pedromarting3@gmail.com >
2025-07-17 13:10:30 +05:45
Sergio Garcia
c4bd9122d4
feat(IaC): PoC for IaC Security Scanner ( #7852 )
...
Co-authored-by: Andoni Alonso <14891798+andoniaf@users.noreply.github.com >
2025-06-17 23:23:25 +08:00
Sergio Garcia
a0d169470d
chore(metadata): add validator for ResourceType ( #8035 )
2025-06-17 00:06:32 +08:00
Alison Vilela
5d043cc929
fix(awslambda): aws service awslambda not working ( #7869 )
2025-05-29 12:50:23 +05:45
Pepe Fagoaga
137365a670
chore(poetry): Upgrade to v2 ( #7112 )
2025-03-12 17:28:34 +05:45
Daniel Barranquero
66df5f7a1c
chore(providers): enhance Remediation.Code.CLI field from check's metadata ( #7094 )
...
Co-authored-by: Sergio Garcia <hello@mistercloudsec.com >
Co-authored-by: Andoni Alonso <14891798+andoniaf@users.noreply.github.com >
2025-03-11 16:15:58 +01:00
Sergio Garcia
9e7a0d4175
fix(threat detection): run single threat detection check ( #7065 )
2025-02-28 13:51:07 +01:00
Sergio Garcia
17a39f3305
fix(aws): exclude threat detection checks if category not present ( #5933 )
2024-11-27 11:54:59 -04:00
Pepe Fagoaga
f576b24fc8
fix(list_by_service): execute lambda if requested ( #5930 )
2024-11-27 15:32:57 +01:00
Pedro Martín
e4400ecf10
fix(checks_loader): solve issue related with checks from compliance ( #5601 )
2024-10-31 17:28:23 +01:00
Pedro Martín
0114d0462f
feat(check): add check methods ( #5462 )
2024-10-28 12:22:34 +01:00
Pedro Martín
ebbccd04f1
refactor(execute_check): refactor execute method ( #4975 )
2024-09-25 14:19:42 +02:00
Pedro Martín
47a6e28d71
refactor(output_options): remove output options from provider ( #5149 )
2024-09-25 09:38:21 +02:00
Pedro Martín
4eed5c7a99
refactor(check_metadata): move bulk_load_checks_metadata inside class ( #4934 )
2024-09-06 09:50:14 +02:00
Pedro Martín
a975e96a45
feat(compliance): add method list_compliance_requirements ( #4890 )
...
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2024-09-04 20:35:26 +02:00
Pedro Martín
82c065bff4
feat(compliance): rename Compliance class and add list_compliance ( #4883 )
2024-08-29 16:55:22 +02:00
Pepe Fagoaga
d61e999b8f
chore(check_metadata): Rename to CheckMetadata ( #4864 )
2024-08-26 15:25:19 +02:00
Pedro Martín
2fda2388bb
refactor(aws): Refactor provider ( #4808 )
...
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2024-08-23 09:19:05 -04:00
Pedro Martín
ffd9b2a2f6
chore(scan-class): add new scan class ( #4564 )
...
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2024-08-05 08:21:13 +02:00
Pepe Fagoaga
8461257428
fix(status): Recover status filtering ( #4572 )
...
Co-authored-by: Sergio <sergio@prowler.com >
2024-07-31 10:10:07 -04:00
Sergio Garcia
2038e30d3e
fix(checks): ensure CheckID is correct in check's metadata ( #4522 )
...
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2024-07-24 09:08:51 +02:00
Sergio Garcia
3e7cc2e0a2
chore(compliance): add manual requirements to compliance output ( #4449 )
...
Co-authored-by: pedrooot <pedromarting3@gmail.com >
2024-07-17 08:23:38 +02:00
Sergio Garcia
a5a8c2a769
chore(cis): add CIS output class ( #4400 )
...
Co-authored-by: pedrooot <pedromarting3@gmail.com >
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2024-07-10 09:26:08 -04:00
Pedro Martín
bae224c891
fix(csv-outputs): compliance outputs not showing consistents values ( #4287 )
2024-06-25 14:50:17 +02:00
Seiji Ujihira
2a139e3dc7
fix(custom): execute custom checks ( #4202 )
2024-06-07 10:01:28 -04:00