feat(sdk): add Vercel provider with 30 security checks#10189
feat(sdk): add Vercel provider with 30 security checks#10189danibarranqueroo merged 31 commits intomasterfrom
Conversation
- Add Vercel provider with API token authentication and team-scoped support - Implement 6 services: authentication, deployment, domain, project, security, team - Add 30 security checks covering token hygiene, deployment protection, WAF, SSL certificates, environment variables, SSO enforcement, and member governance - Add CheckReportVercel to core SDK models and finding output mapping - Include 5 compliance frameworks: CIS Controls v8, ISO 27001, NIST 800-53, PCI DSS 4.0, SOC 2 - Add unit tests for provider, mutelist, and representative checks per service
|
Awesome work Alex! I'm still reviewing but in the meantime, ask an agent to review the Metadata format based in this docs. Is not yet applied to al current providers, so prob got it wrong for others. Some examples:
|
|
In addition, please delete all |
...loyment/deployment_production_uses_stable_target/deployment_production_uses_stable_target.py
Outdated
Show resolved
Hide resolved
.../project/environment_no_overly_broad_target/environment_no_overly_broad_target.metadata.json
Outdated
Show resolved
Hide resolved
|
Done! Set |
|
Done! Test |
|
✅ Conflict Markers Resolved All conflict markers have been successfully resolved in this pull request. |
|
✅ All necessary |
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #10189 +/- ##
==========================================
- Coverage 72.14% 67.22% -4.92%
==========================================
Files 206 142 -64
Lines 10510 8146 -2364
==========================================
- Hits 7582 5476 -2106
+ Misses 2928 2670 -258
Flags with carried forward coverage won't be shown. Click here to find out more.
🚀 New features to boost your workflow:
|
...thentication/authentication_token_not_expired/authentication_token_not_expired.metadata.json
Outdated
Show resolved
Hide resolved
...ironment_no_secrets_in_plain_type/project_environment_no_secrets_in_plain_type.metadata.json
Show resolved
Hide resolved
...ent_preview_not_publicly_accessible/deployment_preview_not_publicly_accessible.metadata.json
Outdated
Show resolved
Hide resolved
...ironment_sensitive_vars_encrypted/project_environment_sensitive_vars_encrypted.metadata.json
Outdated
Show resolved
Hide resolved
...ervices/team/team_member_role_least_privilege/team_member_role_least_privilege.metadata.json
Outdated
Show resolved
Hide resolved
...ervices/domain/domain_no_wildcard_dns_exposure/domain_no_wildcard_dns_exposure.metadata.json
Outdated
Show resolved
Hide resolved
...er/providers/vercel/services/team/team_member_no_stale_access/team_member_no_stale_access.py
Outdated
Show resolved
Hide resolved
...roviders/vercel/services/domain/domain_ssl_certificate_valid/domain_ssl_certificate_valid.py
Outdated
Show resolved
Hide resolved
Compliance Mapping ReviewThis PR adds new checks. Please verify that they have been mapped to the relevant compliance framework requirements. New checks not mapped to any compliance framework in this PR
Use the |
Chain Info
Context
Prowler supports multiple cloud providers (AWS, Azure, GCP, Kubernetes, etc.). This PR adds Vercel as a new provider, following the same SDK architecture as existing providers like Cloudflare and MongoDB Atlas.
Description
VercelProviderwith API token authentication and team-scoped scan supportCheckReportVerceldataclass toprowler/lib/check/models.pyprowler/lib/outputs/finding.pytz=timezone.utc) across all timestamp parsingSteps to Review
prowler/providers/vercel/vercel_provider.py— the provider entry pointprowler/providers/vercel/lib/service/service.py— base HTTP service with paginationprowler/providers/vercel/models.py— data models shared across servicesproject/project_service.py,security/security_service.py).metadata.jsonfilesprowler/lib/check/models.py(CheckReportVercel) andprowler/lib/outputs/finding.pyprowler/compliance/vercel/pytest tests/providers/vercel/ -vChecklist
.metadata.jsonwith severity, description, and remediation