security(ocr): log warning on startup when running as root
All checks were successful
CI / Unit & Component Tests (pull_request) Successful in 3m3s
CI / OCR Service Tests (pull_request) Successful in 18s
CI / Backend Unit Tests (pull_request) Successful in 3m10s
CI / fail2ban Regex (pull_request) Successful in 42s
CI / Semgrep Security Scan (pull_request) Successful in 19s
CI / Compose Bucket Idempotency (pull_request) Successful in 59s
All checks were successful
CI / Unit & Component Tests (pull_request) Successful in 3m3s
CI / OCR Service Tests (pull_request) Successful in 18s
CI / Backend Unit Tests (pull_request) Successful in 3m10s
CI / fail2ban Regex (pull_request) Successful in 42s
CI / Semgrep Security Scan (pull_request) Successful in 19s
CI / Compose Bucket Idempotency (pull_request) Successful in 59s
Adds a canary log line if os.getuid() == 0. Produces an observable signal in container logs if the USER directive is ever removed from the Dockerfile, without requiring an external audit tool. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -56,6 +56,8 @@ async def lifespan(app: FastAPI):
|
|||||||
"""Load lightweight models at startup. Surya loads lazily on first request."""
|
"""Load lightweight models at startup. Surya loads lazily on first request."""
|
||||||
global _models_ready
|
global _models_ready
|
||||||
|
|
||||||
|
if os.getuid() == 0:
|
||||||
|
logger.warning("Running as root — CIS Docker §4.1 violation")
|
||||||
logger.info("Loading Kraken model at startup (Surya loads lazily on first OCR request)...")
|
logger.info("Loading Kraken model at startup (Surya loads lazily on first OCR request)...")
|
||||||
kraken_engine.load_models()
|
kraken_engine.load_models()
|
||||||
load_spell_checker()
|
load_spell_checker()
|
||||||
|
|||||||
Reference in New Issue
Block a user