Alan Buscaglia
1bf13bf567
fix(ui): code quality improvements for findings grouped view
...
- Replace `any` with `unknown` + type guards in finding-groups and
findings-by-resource adapters (4 adapter functions hardened)
- Add unmount cleanup for AbortController in use-resource-detail-drawer
to prevent memory leaks on mid-flight unmount
- Add try/catch/finally error handling for onBeforeOpen in floating mute
button to prevent permanent spinner state on network errors
- Replace hardcoded colors (border-gray-300, bg-white, text-slate-950)
with semantic tokens (border-default-200, bg-background, text-foreground)
for dark mode compatibility
- Change non-accessible `<p onClick>` to `<button>` with w-full and
type=button in column-finding-groups for keyboard accessibility
- Fix region flag mapping: asia-east1 (Taiwan) now correctly shows flag_tw
instead of flag_hk by adding specific rule before Hong Kong regex
- Fix import type usage in adapter files (value imports preserved for
runtime constants like FINDINGS_ROW_TYPE)
- Restore pageRef.current = 1 in refresh() for error path safety
43 new tests across 7 test files. 50 total tests passing.
TypeScript: 0 errors. ESLint: 0 errors.
Judgment Day: 2 rounds, 0 discrepancies remaining.
2026-03-30 15:45:01 +02:00
Alan Buscaglia
9c1dba9295
fix(ui): security and crash fixes for findings grouped view
...
- Fix SSRF path traversal: encode checkId with encodeURIComponent in
getFindingGroupResources and getLatestFindingGroupResources URL paths
- Fix SSR crash: add isMounted guard for createPortal(document.body) in
InlineResourceContainer to prevent document access during server render
- Fix invalid Tailwind: replace mt-[-10] (no unit) with -mt-2.5 scale token
- Fix unbounded page[size]: cap at 500 via Math.min in URL builder as
defense-in-depth alongside existing chunking
- Fix pageRef race condition: move page counter increment inside fetchPage
after successful non-aborted response, remove redundant pre-set from
refresh() to prevent permanent page skip on concurrent abort
26 tests across 4 test suites (2 new, 2 extended). All passing.
TypeScript: 0 errors in changed files. ESLint: 0 errors.
Claude Code validation: PASSED.
Pre-existing healthcheck failures (.next/types, @codemirror) unrelated.
2026-03-30 15:10:04 +02:00
Alan Buscaglia
a7f18ec41f
chore: init feature branch for findings groups improvements
2026-03-30 14:20:31 +02:00
50556df713
feat(ui): add findings grouped view ( #10425 )
...
Co-authored-by: Adrián Jesús Peña Rodríguez <adrianjpr@gmail.com >
Co-authored-by: Alan Buscaglia <gentlemanprogramming@gmail.com >
2026-03-30 14:17:36 +02:00
3b875484b0
feat(m365): add device registration MFA and harden Intune enrollment CA check ( #10222 )
...
Co-authored-by: Hugo Brito <hugopbrito@users.noreply.github.com >
Co-authored-by: Daniel Barranquero <danielbo2001@gmail.com >
2026-03-30 13:36:05 +02:00
lydiavilchez and pedrooot
442b379777
feat(google-workspace): add CIS Foundations Benchmark v1.3.0 compliance ( #10462 )
...
Co-authored-by: pedrooot <pedromarting3@gmail.com >
2026-03-30 12:57:12 +02:00
Adrián Peña
2a8b6261e1
fix(api): false 404 and sorting on finding group resources endpoints ( #10510 )
2026-03-30 12:47:16 +02:00
Alan Buscaglia
6df74529d6
refactor(ui): remove "Clear all" button from filter pills strip ( #10481 )
2026-03-30 12:26:01 +02:00
César Arroba
6f6d62f51f
fix(ci): remove DOCKER_HUB_REPOSITORY secret and add toniblyx mirror push ( #10512 )
2026-03-30 11:53:04 +02:00
Hugo Pereira Brito and Daniel Barranquero
7148086410
feat(m365): add entra_conditional_access_policy_block_o365_elevated_insider_risk security check ( #10232 )
...
Co-authored-by: Daniel Barranquero <danielbo2001@gmail.com >
2026-03-30 11:49:29 +02:00
Alan Buscaglia
4ef0b1bf2c
fix(ui): fix pre-commit hook skipping lint, tests, and build ( #10494 )
2026-03-30 10:44:59 +02:00
César Arroba
de492a770c
fix(ci): remove DOCKER_HUB_REPOSITORY secret from sdk container workflow ( #10509 )
2026-03-30 10:20:38 +02:00
César Arroba
e9009f783b
fix(ci): remove setup-buildx-action from create-manifest jobs ( #10508 )
2026-03-30 10:01:32 +02:00
Raajhesh Kannaa Chidambaram and Raajhesh Kannaa Chidambaram
db1edf5ca7
feat(aws): add internet-exposed category to 13 checks ( #10502 )
...
Co-authored-by: Raajhesh Kannaa Chidambaram <495042+raajheshkannaa@users.noreply.github.com >
2026-03-30 08:59:29 +02:00
82d3ccec18
fix(oci): Add multi region filtering argument support ( #10473 )
...
Co-authored-by: Ronan Chota <ronan.chota@saic.com >
Co-authored-by: Daniel Barranquero <danielbo2001@gmail.com >
2026-03-30 08:45:16 +02:00
rchotacode and Ronan Chota
ff46281f64
fix(oci): Fix service region support ( #10472 )
...
Co-authored-by: Ronan Chota <ronan.chota@saic.com >
2026-03-30 08:19:32 +02:00
Josema Camacho
94e234cefb
fix(api): use raw FK ids in membership post_delete signal to avoid cascade lookup failures ( #10497 )
2026-03-27 16:16:28 +01:00
Pepe Fagoaga
8267fc4813
fix(step_security): keep notify in audit mode ( #10496 )
2026-03-27 16:01:24 +01:00
Josema Camacho
8bfeee238b
feat(api): replace _provider_id property with label-based isolation and regex injection for custom queries ( #10402 )
2026-03-27 14:31:56 +01:00
Josema Camacho
cc197ea901
feat(api): add periodic cleanup of stale Attack Paths scans with dead-worker detection ( #10387 )
2026-03-27 14:17:22 +01:00
Pepe Fagoaga and Copilot
2b5d015e09
feat(security): add missing endpoints to allowlist ( #10495 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-03-27 13:53:52 +01:00
Adrián Peña
73e0ac6892
chore: update dependencies ( #10492 )
2026-03-27 13:13:47 +01:00
Adrián Peña
700b51ddad
chore: update Python version references from 3.9 to 3.10 ( #10493 )
2026-03-27 13:13:36 +01:00
Pepe Fagoaga
417be55604
feat(security): block mode for hardened runners ( #10482 )
2026-03-27 13:08:59 +01:00
Hugo Pereira Brito
f75ce7b4dd
feat(ui): add OpenCypher query editor ( #10445 )
2026-03-27 10:58:48 +00:00
Hugo Pereira Brito and Daniel Barranquero
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
Apoorv Darshan and Pepe Fagoaga
7b0ce7842b
fix: remove return statements from finally blocks ( #10102 )
...
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2026-03-27 09:23:15 +01:00
Terry Franklin and Pepe Fagoaga
0a11ca4a68
feat(celery): VALKEY_SCHEME environment variable ( #10420 )
...
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2026-03-27 09:22:35 +01:00
Adrián Peña
c953fa7e67
fix(api): resolve check_title filter to check_id for consistent finding-group counts ( #10486 )
2026-03-27 09:05:02 +01:00
Pepe Fagoaga
73907db856
fix(trivy-scan): don't comment if PR from fork ( #10490 )
2026-03-27 08:37:19 +01:00
041f95b3df
feat(ec2): add check for SG ingress from public IPs to any port ( #10335 )
...
Co-authored-by: Raajhesh Kannaa Chidambaram <495042+raajheshkannaa@users.noreply.github.com >
Co-authored-by: Daniel Barranquero <danielbo2001@gmail.com >
2026-03-26 17:21:16 +01:00
stepsecurity-app[bot] and Pepe Fagoaga
716c130140
feat(security): security best practices from StepSecurity ( #10480 )
...
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-03-26 13:58:19 +01:00
Hugo Pereira Brito and Daniel Barranquero
c651f60e3a
feat(m365): add entra_conditional_access_policy_mdm_compliant_device_required check ( #10220 )
...
Co-authored-by: Daniel Barranquero <danielbo2001@gmail.com >
2026-03-26 11:36:30 +01:00
Adrián Peña
dd00d71a07
fix(api): fix finding groups muted filter, counters and reaggregation ( #10477 )
2026-03-26 10:35:21 +01:00
Sandiyo Christan and Daniel Barranquero
834d1bca49
feat(awslambda): enrich Function model with inventory fields and add 3 security checks ( #10381 )
...
Co-authored-by: Daniel Barranquero <danielbo2001@gmail.com >
2026-03-26 10:33:39 +01:00
Davidm4r
2cf45c72b6
fix(api): remove MANAGE_ACCOUNT permission requirement for listing or create a tenant ( #10468 )
2026-03-26 09:41:16 +01:00
Pepe Fagoaga
213e18724d
fix: Prowler's changelog ( #10475 )
2026-03-25 16:07:45 +01:00
Pepe Fagoaga
571141f57c
fix(aws): set partition's region for global services ( #10458 )
2026-03-25 15:47:51 +01:00
Adrián Peña
45f0909c3e
chore(api): pin all unpinned dependencies to exact versions ( #10469 )
2026-03-25 13:27:04 +01:00
Alan Buscaglia
b01fcc6cb2
fix(ui): refine filter clear and undo behavior in Findings page ( #10446 )
2026-03-25 13:20:10 +01:00
Adrián Peña
2ddd5b3091
chore: bump minimum Python to 3.10 and pin SDK dependencies ( #10464 )
2026-03-25 12:32:28 +01:00
6100932c60
feat(glue): add check for plaintext secrets in ETL job arguments ( #10368 )
...
Co-authored-by: Raajhesh Kannaa Chidambaram <495042+raajheshkannaa@users.noreply.github.com >
Co-authored-by: Daniel Barranquero <danielbo2001@gmail.com >
2026-03-25 12:25:36 +01:00
lydiavilchez
1c2b146e6e
fix(docs): replace Google Workspace customer ID image with English version ( #10467 )
2026-03-25 11:49:30 +01:00
McRolly NWANGWU and Pepe Fagoaga
833f3779ef
feat(cloudfront): detect Standard Logging v2 via CloudWatch Log Delivery ( #10090 )
...
Co-authored-by: Pepe Fagoaga <pepe@prowler.com >
2026-03-25 10:09:21 +00:00
Daniel Barranquero
c752811666
fix(oci): false positive for kms key rotation check ( #10450 )
2026-03-25 11:09:02 +01:00
Daniel Barranquero
4d1f7626f9
fix(oci): false positive for password policies ( #10453 )
2026-03-25 10:52:31 +01:00
Davidm4r
9bf2a13177
fix: resolve 403 error for admin users listing tenants ( #10460 )
2026-03-25 10:13:54 +01:00
Josema Camacho
d15e67e2e5
fix(api): filter neo4j.io defunct connection logs in Sentry before_send ( #10452 )
2026-03-25 09:55:12 +01:00
Pepe Fagoaga
20cf5562b8
chore: update org members ( #10461 )
2026-03-25 09:36:10 +01:00
Pepe Fagoaga
36279f694c
chore(gha): ignore zizmor rules and fix version comment ( #10459 )
2026-03-25 09:09:36 +01:00