E3SM-Project / E3SM-Project/simboard

[DevOps]: Restrict path-based ingestion to configured allowlisted directories

Open
#171 0 comments 0 reactions 0 assignees View on GitHub
type: devops
Dominant language
Python
Stars
1
Forks
2
Avg merge
24m
Merged PRs (30d)
15

Description

### Is your feature request related to a problem?

`/home/runner/work/simboard/simboard/backend/app/features/ingestion/api.py` currently permits arbitrary filesystem paths for path-based ingestion and includes a TODO to restrict this before broader exposure.

That creates avoidable risk for accidental or unsafe file access, even though the endpoint is currently limited to admin and service-account roles.

### Describe the solution you'd like

Add configuration-backed path allowlisting for path-based ingestion.

The endpoint should only accept archive paths that resolve within one or more approved base directories. Rejected paths should return a clear validation error, and the allowed directories should be documented in the backend env configuration.

### Describe alternatives you've considered

Relying only on role-based access is not enough if the endpoint remains available in trusted-but-broad environments.

### Additional context

Relevant code:
- `/home/runner/work/simboard/simboard/backend/app/features/ingestion/api.py`

This should be treated as pre-release hardening for the ingestion surface.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.