Задача
Заменить hardcoded API token в /root/slf-server/server.py на чтение из переменной окружения systemd-сервиса.
Контекст
Сейчас токен хранится прямо в коде сервера:
Это рабочее, но небезопасное решение: токен уже попадал в терминал/чат и может попасть в shell history. API защищён авторизацией, но с токеном доступны не только GET-запросы, но и POST /api/<collection>, то есть можно перезаписать данные.
Целевое состояние
В server.py:
SECRET_TOKEN = os.environ.get("SLF_API_TOKEN", "")
В slf-server.service:
Environment="SLF_API_TOKEN=<new-token>"
Старый токен должен быть заменён новым.
Scope
- Сервер:
/root/slf-server/server.py
- systemd service:
slf-server.service
- API auth behavior
Acceptance checks
server.py больше не содержит реальный токен строкой.
systemctl restart slf-server.service проходит успешно.
GET /api/analysis с новым Bearer token работает.
GET /api/forum_faq с новым Bearer token возвращает source=forum_faq и count=6.
- Запрос без токена по-прежнему возвращает
{"error":"Unauthorized"}.
Risk
Medium. Ошибка в environment/systemd может временно сломать API-доступ. Перед изменением сделать backup server.py и посмотреть текущий systemctl cat slf-server.service.
Responsible agent
SLF Core Release Agent / Server/API maintenance.
PM planning
- Complexity: S
- Risk: Medium
- Type: Security / Server maintenance
- Recommended order: after current forum_faq verification is complete
Задача
Заменить hardcoded API token в
/root/slf-server/server.pyна чтение из переменной окружения systemd-сервиса.Контекст
Сейчас токен хранится прямо в коде сервера:
Это рабочее, но небезопасное решение: токен уже попадал в терминал/чат и может попасть в shell history. API защищён авторизацией, но с токеном доступны не только GET-запросы, но и POST
/api/<collection>, то есть можно перезаписать данные.Целевое состояние
В
server.py:В
slf-server.service:Старый токен должен быть заменён новым.
Scope
/root/slf-server/server.pyslf-server.serviceAcceptance checks
server.pyбольше не содержит реальный токен строкой.systemctl restart slf-server.serviceпроходит успешно.GET /api/analysisс новым Bearer token работает.GET /api/forum_faqс новым Bearer token возвращаетsource=forum_faqиcount=6.{"error":"Unauthorized"}.Risk
Medium. Ошибка в environment/systemd может временно сломать API-доступ. Перед изменением сделать backup
server.pyи посмотреть текущийsystemctl cat slf-server.service.Responsible agent
SLF Core Release Agent / Server/API maintenance.
PM planning