You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(security): IDOR, SSRF, space scoping, rate limiting for competitor differentiation
- IDOR: Add space ownership checks to CompetitorController (crawl, alerts, destroyAlert),
CompetitorSourceController (index, store, show, update, destroy),
DifferentiationController (index, show, summary), and GraphQL mutations
(TriggerCompetitorCrawl, DeleteCompetitorSource, DeleteCompetitorAlert, UpdateCompetitorSource)
- SSRF: Add ExternalUrl rule to url/feed_url in StoreCompetitorSourceRequest and
UpdateCompetitorSourceRequest; add ExternalUrl rule to slack_webhook/webhook_url
in StoreCompetitorAlertRequest
- Space scoping: Verify space_id access on all collection endpoints
- Rate limiting: Add throttle:5,1 middleware to crawl trigger route
- Quota: Enforce max 50 competitor sources per space in store()
- Pre-existing: Remove duplicate match arm and duplicate extractFromBrief() method
in ContentFingerprintService (caused phpstan errors)
0 commit comments