The Wire · Showcase
Harbor-HF Walls Off Sandboxes While Serge Patrols Its Gates
By RepoJournal · Filed · About Hugging Face
Overnight, Hugging Face's internal infrastructure hardened its edge: Harbor-HF locks down sandbox capabilities, Serge's verify workflow stops dispatching with empty inputs, and dataset-viewer workers finally log their own startups.
Harbor-HF shipped capability-scoped Sandbox operations, so reviewed workers can now submit results and drive sandboxes without ever touching the long-lived `HF_TOKEN` [1]. The control Space alone holds the secret, while workers receive short-lived signed capabilities and a separate inference-only credential that is rejected if it equals `HF_TOKEN` [2]. A canary exposed a real bypass: the hosting proxy passes caller-supplied `X-Forwarded-For` values, letting anyone rotate the header and dodge route limits, so Harbor-HF now ignores forwarded client identity and applies limits only after authentication [3]. It also protects public worker ingress and standardizes per-repository authorization so compaction doesn't lose approval context [4][5]. Meanwhile, Serge fixed two sharp edges: the verify workflow hard-fails with a 422 when tests live outside `tests/models/`, because empty `model` inputs count as missing, and a broken normalize gate was burning correction budgets on useless retries [6][7]. dataset-viewer's worker logs were silently dropped because `basicConfig` is a no-op when a handler exists, so `init_logging` now forces root config [8]. Their chart also adds an optional deny-all egress NetworkPolicy to shrink the SSRF surface [9]. Transformers stayed quiet on features, but moved mlinter to 0.1.4 and unpinned pytest in examples_torch [10][11].
One email a day. Unsubscribe in one click.
Keep up with Hugging Face in about 3 minutes a day: what actually shipped — the commits, pull requests, releases, and security advisories that matter.
One email a day. Unsubscribe in one click. Read a past issue →
Action items
- → Review Harbor-HF sandbox capability model before granting any worker sandbox access huggingface/harbor-hf [immediate]
- → Patch any Serge-based runner to distinguish broken normalize gates from bad patches huggingface/serge [immediate]
- → Verify your dispatch flows don't send empty 'model' inputs for tests outside tests/models/ huggingface/serge [plan]
- → Enable the deny-all egress NetworkPolicy for dataset-viewer workers taking data from untrusted sources huggingface/dataset-viewer [plan]
References
- [1] feat(control): add capability-scoped Sandboxes ↗ huggingface/harbor-hf
- [2] feat(control): add scoped worker inference credential ↗ huggingface/harbor-hf
- [3] fix(control): isolate protected ingress limits ↗ huggingface/harbor-hf
- [4] feat(control): protect public worker ingress ↗ huggingface/harbor-hf
- [5] chore: standardize project authorization and skill paths ↗ huggingface/harbor-hf
- [6] Never dispatch the verify workflow with an empty `model` input ↗ huggingface/serge
- [7] Tell a broken normalize gate apart from a bad patch ↗ huggingface/serge
- [8] fix(libcommon): force root logging config so worker INFO logs are not dropped (#3406) huggingface/dataset-viewer
- [9] feat(chart): add deny-all egress NetworkPolicy for the workers ↗ huggingface/dataset-viewer
- [10] Moving mlinter to 0.1.4 (#47918) huggingface/transformers
- [11] unpin `pytest` in the `examples_torch` deps (#48023) huggingface/transformers