Hugo P.Brito
625aca7121
feat(m365): add entra_conditional_access_policy_p2_license_utilization
...
Adds the P2 (risk-based Conditional Access) license utilization check.
Reuses the canonical PremiumLicenseInsight model + parser introduced in
the P1 check (#10783 ): compares
p2FeatureUtilizations.riskBasedConditionalAccess[GuestUsers].userCount
against entitledP2LicenseCount only — P1 entitlements do not include P2
features.
- Renamed from `entra_conditional_access_policy_license_utilization` so
P1 and P2 checks are clearly distinguishable.
- Returns MANUAL when license insight is unavailable (mirrors P1 check).
- Tests cover PASS, FAIL (insufficient + guests), P1-only-not-covered,
isolation from P1 utilization, and zero/zero edge case.
2026-04-28 14:55:46 +01:00
Hugo P.Brito
5b293fd509
refactor(m365): scope p1 license check to P1 features only
...
Reshape PremiumLicenseInsight to a canonical 5-field schema reused by
the upcoming P2 check (#10784 ): entitled P1/P2/total, plus pre-aggregated
p1_licenses_utilized (CA + CA-guest) and p2_licenses_utilized
(risk-based-CA + risk-based-CA-guest).
The P1 check now compares entitled_total_license_count (P1+P2) against
p1_licenses_utilized only — risk-based CA usage is the P2 check's domain.
Updates Description, Notes and tests accordingly.
2026-04-28 14:22:40 +01:00
Hugo P.Brito
da70c9887d
docs(m365): fix broken license utilization URL and adjust title
...
- Replace 404 concept-license-utilization link with the working
Microsoft Entra licensing fundamentals page
- Add official Graph API resource doc URL for azureADPremiumLicenseInsight
- Update CheckTitle to reflect that the check counts both P1 and P2
2026-04-28 14:12:30 +01:00
Hugo P.Brito
9531983324
fix(m365): correct premium license insight parsing and semantics
...
- Parse correct Microsoft Graph keys (entitledP1/P2LicenseCount,
p1FeatureUtilizations.conditionalAccess[GuestUsers].userCount)
- Sum P1 + P2 entitlements and count regular plus guest CA users
- Return MANUAL when license insight is unavailable instead of FAIL
- Downgrade missingLicense log to warning with explanatory message
- Add parser unit tests that mock the raw Graph response
2026-04-28 11:58:11 +01:00
Hugo P.Brito
ec52c7b3fd
feat(m365): add entra_conditional_access_policy_p1_license_utilization security check
...
Add new security check entra_conditional_access_policy_p1_license_utilization for m365 provider.
Includes check implementation, metadata, and unit tests.
2026-04-20 09:28:53 +01:00
Daniel Barranquero
f7194b32de
docs: remove prowler ctf page ( #10782 )
2026-04-20 09:37:30 +02:00
Pedro Martín and Pepe Fagoaga
6ffe4e95bf
fix(api): detect silent failures in ResourceFindingMapping ( #10724 )
...
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2026-04-20 09:00:43 +02:00
Alan Buscaglia and alejandrobailo
577aa14acc
fix(ui): correct IaC findings counters ( #10736 )
...
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com >
2026-04-17 12:48:57 +02:00
Andoni Alonso
19c752c127
fix(cloudflare): guard validate_credentials against paginator infinite loops ( #10771 )
2026-04-17 11:23:31 +02:00
Alejandro Bailo
f2d35f5885
fix(ui): exclude muted findings and polish filter selectors ( #10734 )
2026-04-17 11:07:22 +02:00
Josema Camacho
536e90f2a5
perf(attack-paths): cleanup task prioritization, restore default batch sizes to 1000, upgrade Cartography to 0.135.0 ( #10729 )
2026-04-17 10:22:30 +02:00
Daniel Barranquero
276a5d66bd
feat(docs): add ctf documentation ( #10761 )
2026-04-16 19:35:52 +02:00
Alejandro Bailo
489c6c1073
fix: CHANGELOG minor issue ( #10758 )
2026-04-16 17:07:22 +02:00
Adrián Peña
b08b072288
fix(api): exclude muted findings from pass_count, fail_count and manual_count ( #10753 )
2026-04-16 15:56:08 +02:00
Josema Camacho
ca29e354b6
chore(deps): bump msgraph-sdk to 1.55.0 and azure-mgmt-resource to 24.0.0, remove marshmallow ( #10733 )
2026-04-16 15:34:28 +02:00
Alejandro Bailo
85a3927950
fix(ui): upgrade React 19.2.5 and Next.js 16.2.3 to mitigate CVE-2026-23869 ( #10752 )
2026-04-16 15:24:10 +02:00
Rubén De la Torre Vico
04fe3f65e0
chore(deps): enable Dependabot pre-commit ecosystem and bump hooks ( #10732 )
2026-04-16 13:38:11 +02:00
Andoni Alonso
297c9d0734
fix(sdk): move #10726 changelog entry to unreleased version ( #10728 )
2026-04-16 13:10:00 +02:00
Erich Blume and Andoni A.
a2a1a73749
fix(image): --registry-list crashes with AttributeError on global_provider ( #10691 )
...
Co-authored-by: Andoni A. <14891798+andoniaf@users.noreply.github.com >
2026-04-16 13:02:25 +02:00
lydiavilchez
08fbe17e29
fix(googleworkspace): treat secure Google defaults as PASS for Drive checks ( #10727 )
2026-04-16 13:01:55 +02:00
lydiavilchez
d920f78059
fix(googleworkspace): treat secure Google defaults as PASS for Calendar checks ( #10726 )
2026-04-16 12:51:40 +02:00
Pepe Fagoaga
12bf3d5e70
fix(db): add missing tenant_id filter in queries ( #10722 )
2026-04-16 11:55:38 +02:00
Adrián Peña
4002c28b5d
fix(api): add fallback handling for missing resources in findings ( #10708 )
2026-04-16 11:45:06 +02:00
Andoni Alonso
2439f54280
fix(sdk): allow account-scoped tokens in Cloudflare connection test ( #10723 )
2026-04-16 11:38:15 +02:00
Prowler Bot and prowler-bot
b0e59156e6
chore(ui): Bump version to v5.25.0 ( #10711 )
...
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com >
2026-04-15 20:14:46 +02:00
Prowler Bot and prowler-bot
f013bd4a53
docs: Update version to v5.24.0 ( #10714 )
...
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com >
2026-04-15 20:14:17 +02:00
Prowler Bot and prowler-bot
6ad15f900f
chore(release): Bump version to v5.25.0 ( #10710 )
...
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com >
2026-04-15 20:14:06 +02:00
Prowler Bot and prowler-bot
1784bf38ab
chore(api): Bump version to v1.26.0 ( #10715 )
...
Co-authored-by: prowler-bot <179230569+prowler-bot@users.noreply.github.com >
2026-04-15 20:13:33 +02:00
Pepe Fagoaga
ba5b23245f
chore: review changelog for v5.24 ( #10707 )
2026-04-15 18:05:55 +02:00
Daniel Barranquero
43913b1592
feat(aws): support excluding regions from scans via CLI, env var, and config ( #10688 )
2026-04-15 17:59:46 +02:00
9e31160887
fix(ui): improve attack paths scan table UX and fix info banner variant ( #10704 )
...
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
Co-authored-by: alejandrobailo <alejandrobailo94@gmail.com >
2026-04-15 17:33:29 +02:00
Pepe Fagoaga
9a0c73256e
chore: delete .opencode ( #10702 )
2026-04-15 15:10:40 +02:00
Alejandro Bailo
2a160a10df
refactor(ui): remove legacy side drawers and clean code ( #10692 )
2026-04-15 13:55:57 +02:00
Alan Buscaglia
8d8bee165b
feat(ui): improve attack paths scan selection UX ( #10685 )
2026-04-15 13:54:25 +02:00
Alan Buscaglia
606efec9f8
fix(ui): keep update credentials wizard open ( #10675 )
2026-04-15 13:50:20 +02:00
Alan Buscaglia
d5354e8b1d
feat(ui): add syntax highlighting to finding groups remediation code ( #10698 )
2026-04-15 12:58:35 +02:00
Rubén De la Torre Vico
a96e5890dc
docs: replace Excalidraw diagrams with Mermaid and fix architecture connections ( #10697 )
2026-04-15 12:51:29 +02:00
Pepe Fagoaga
bb81c5dd2d
docs: add contextual menu for copy and issue/feat ( #10699 )
2026-04-15 12:50:29 +02:00
Daniel Barranquero
c3acb818d9
fix(vercel): handle team-scoped firewall config responses ( #10695 )
2026-04-15 11:59:20 +02:00
Andoni Alonso and Pepe Fagoaga
e6fc59267b
docs: add Finding Groups documentation page ( #10696 )
...
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2026-04-15 11:58:39 +02:00
Josema Camacho
62f114f5d0
refactor(api): remove dead cleanup_findings no-op from attack-paths module ( #10684 )
2026-04-15 09:16:38 +02:00
Pepe Fagoaga and Josema Camacho
392ffd5a60
fix(beat): make it dependant from API service ( #10603 )
...
Co-authored-by: Josema Camacho <josema@prowler.com >
2026-04-14 18:35:26 +02:00
Alejandro Bailo
507b0882d5
fix(ui): fix findings group resource filters and mute modal migration ( #10662 )
2026-04-14 18:01:45 +02:00
Alejandro Bailo
89d72cf8fd
feat(ui): new resources side drawer with redesigned detail panel ( #10673 )
2026-04-14 17:20:19 +02:00
Rubén De la Torre Vico
f3a042933f
chore(deps): replace pre-commit and husky with prek ( #10601 )
2026-04-14 16:34:54 +02:00
stepsecurity-app[bot] and Pepe Fagoaga
96e7d6cb3a
feat(security): security best practices from StepSecurity ( #10682 )
...
Signed-off-by: StepSecurity Bot <bot@stepsecurity.io >
Co-authored-by: stepsecurity-app[bot] <188008098+stepsecurity-app[bot]@users.noreply.github.com>
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2026-04-14 15:13:12 +02:00
Hugo Pereira Brito and Hugo P.Brito
a82eaa885d
refactor(m365): normalize CA platforms at model level ( #10635 )
...
Co-authored-by: Hugo P.Brito <hugopbrito@Mac.home >
2026-04-14 15:00:23 +02:00
Hugo Pereira Brito and Hugo P.Brito
90a619a8b4
feat(m365): add entra_conditional_access_policy_block_unknown_device_platforms security check ( #10615 )
...
Co-authored-by: Hugo P.Brito <hugopbrito@Mac.home >
2026-04-14 14:32:37 +02:00
Hugo Pereira Brito and Hugo P.Brito
638bf62d76
feat(entra): directory sync account exclusion ( #10620 )
...
Co-authored-by: Hugo P.Brito <hugopbrito@Mac.home >
2026-04-14 14:16:32 +02:00
962615ca1f
chore(ui): bump serialize-javascript override from 7.0.3 to 7.0.5 ( #10653 )
...
Co-authored-by: Pablo F.G <pablo.fernandez@prowler.com >
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-14 14:11:59 +02:00