mirror of
https://github.com/PR0M3TH3AN/TORCH.git
synced 2026-10-27 07:51:52 +00:00
feat(security): add authentication and host binding to dashboard
This commit addresses the missing authentication vulnerability in the dashboard server. Changes: - Added Basic Authentication support via TORCH_DASHBOARD_AUTH env var or dashboard.auth config field. - Defaulted dashboard host binding to 127.0.0.1 for better security. - Added --host CLI argument to allow overriding the bind address. - Used crypto.timingSafeEqual for secure credential comparison. - Fixed a potential crash when parsing malformed Authorization headers. - Added comprehensive unit tests for dashboard authentication. - Updated documentation in README.md and torch-config.example.json. Co-authored-by: PR0M3TH3AN <[email protected]>
This commit is contained in:
1 parent
5196f264cb
commit
456bc2df18
7 files changed
+174
-8
No files matched your search
@@ -91,10 +91,16 @@ Configuration options:
|
||||
The dashboard provides a live view of lock events.
|
||||
|
||||
```bash
|
||||
npx --no-install torch-lock dashboard --port 4173
|
||||
npx --no-install torch-lock dashboard --port 4173 --host 127.0.0.1
|
||||
# Open http://localhost:4173/dashboard/
|
||||
```
|
||||
|
||||
By default, the dashboard binds to `127.0.0.1`. To allow external access, you can set `--host 0.0.0.0`. It is highly recommended to enable authentication if the dashboard is exposed to a network.
|
||||
|
||||
#### Authentication
|
||||
|
||||
The dashboard supports Basic Authentication. You can enable it by setting the `TORCH_DASHBOARD_AUTH` environment variable or the `dashboard.auth` field in `torch-config.json` with the format `username:password`.
|
||||
|
||||
## Environment variables
|
||||
|
||||
You can override configuration using environment variables:
|
||||
@@ -107,6 +113,7 @@ You can override configuration using environment variables:
|
||||
- `NOSTR_LOCK_DAILY_ROSTER` (comma-separated list of agents)
|
||||
- `NOSTR_LOCK_WEEKLY_ROSTER` (comma-separated list of agents)
|
||||
- `TORCH_CONFIG_PATH` (path to config file)
|
||||
- `TORCH_DASHBOARD_AUTH` (Basic Auth `user:pass` for the dashboard)
|
||||
- `AGENT_PLATFORM` (platform identifier, e.g. `codex`)
|
||||
- `TORCH_MEMORY_ENABLED` (`true`/`false`; global memory kill switch, defaults to enabled)
|
||||
- `TORCH_MEMORY_INGEST_ENABLED` (`true`/`false` or comma-separated canary `agent_id` allow list)
|
||||
|
||||
Reference in new issue
Block a user