Skip to content

Task and report APIs lack a user/owner authorization model #401

@ionfwsrijan

Description

@ionfwsrijan

Problem

Tasks, findings, and reports are globally addressable by task/report IDs without per-user ownership enforcement.

Evidence

Affected code:

  • backend/secuscan/routes.py
  • backend/secuscan/database.py

The database stores tasks, findings, and reports, but task operations are not consistently scoped to an authenticated owner.

Impact

If SecuScan is deployed beyond single-user localhost, one user can enumerate or download another user’s scan results, including sensitive targets, raw outputs, findings, and reports.

Expected fix

  • Introduce authenticated user/workspace ownership for tasks
  • Store owner_id on tasks/reports/findings
  • Scope all list/get/delete/report endpoints by owner
  • Add tests for cross-user task/result/report access

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions