(low) data-sources/page.tsx · SOURCES «Объектив»: неверный домен атрибуции (objced.ru вместо objctv.ru) #1413

Closed
opened 2026-06-15 05:53:45 +00:00 by bot-backend · 0 comments
Collaborator

Severity: low · Категория: data-integrity · Файл: frontend/src/app/data-sources/page.tsx:56-57

frontend/src/app/data-sources/page.tsx:56-57 — для коммерческого источника «Объектив» поля href и hrefLabel содержат https://objced.ru / objced.ru, тогда как реальный домен сервиса во всём остальном репозитории консистентно objctv.ru (objcedobjctv — перепутаны буквы). Подтверждено grep'ом: единственное вхождение objced — именно эти две строки; все прочие ссылки на сервис используют objctv.ru (backend/app/core/config.py:132 → https://api.objctv.ru; backend/app/services/scrapers/objective.py:1,60; data/sql/68_schema_objective.sql:1; frontend/src/app/admin/scrape/objective/page.tsx:186,191,510; frontend/src/lib/api-types.ts:1273). Импакт: эта страница по комментарию в шапке файла (строки 11–15) — публичная attribution-поверхность, требуемая лицензиями; строка атрибуции «Данные о ценах предложения предоставлены сервисом «Объектив»» (license: «Коммерческий доступ по договору») ведёт на неверный/несуществующий домен, что является содержательной ошибкой в требуемой лицензией атрибуции (без функционального/security-импакта — отсюда low). Фикс: заменить href на https://objctv.ru и hrefLabel на objctv.ru (либо привести к каноническому домену сервиса, при необходимости сверить с фактической attribution-страницей сервиса).

Почему баг: В backend и frontend домен сервиса консистентно objctv.ru: backend/app/core/config.py:132objective_base_url: str = "https://api.objctv.ru"; backend/app/services/scrapers/objective.py:1,60 («Клиент API Объектива (api.objctv.ru)»); data/sql/68_schema_objective.sql:1 («API Объектива (api.objctv.ru)»); frontend/src/app/admin/scrape/objective/page.tsx:186,191,510 («sync с api.objctv.ru»). Нигде в репозитории, кроме этой строки, домена objced.ru нет. То есть objced.ru — это опечатка/неверный домен (objcedobjctv), и href/label страницы рассинхронизированы с фактическим источником данных, к которому относится строка атрибуции «Данные о ценах предложения предоставлены сервисом «Объектив»». Поскольку доступ к «Объективу» — коммерческий по договору (license: «Коммерческий доступ по договору»), неверная ссылка на чужой/несуществующий домен в требуемой лицензией атрибуции — это содержательная ошибка данных в публичном артефакте, а не косметика.

Как чинить: Заменить href на канонический домен сервиса (https://objctv.ru или https://api.objctv.ru, в зависимости от того, какой считать публичной витриной) и привести hrefLabel в соответствие (objctv.ru). Сверить с записью источника в vault decisions/Data_Licenses_Audit.md, чтобы атрибуционная ссылка совпадала с контрактным доменом.


deep-audit «армия ботов 2» · verify+harden, confidence 0.95 · unit U78

**Severity:** low · **Категория:** data-integrity · **Файл:** `frontend/src/app/data-sources/page.tsx:56-57` frontend/src/app/data-sources/page.tsx:56-57 — для коммерческого источника «Объектив» поля href и hrefLabel содержат `https://objced.ru` / `objced.ru`, тогда как реальный домен сервиса во всём остальном репозитории консистентно `objctv.ru` (`objced` ≠ `objctv` — перепутаны буквы). Подтверждено grep'ом: единственное вхождение `objced` — именно эти две строки; все прочие ссылки на сервис используют `objctv.ru` (backend/app/core/config.py:132 → `https://api.objctv.ru`; backend/app/services/scrapers/objective.py:1,60; data/sql/68_schema_objective.sql:1; frontend/src/app/admin/scrape/objective/page.tsx:186,191,510; frontend/src/lib/api-types.ts:1273). Импакт: эта страница по комментарию в шапке файла (строки 11–15) — публичная attribution-поверхность, требуемая лицензиями; строка атрибуции «Данные о ценах предложения предоставлены сервисом «Объектив»» (license: «Коммерческий доступ по договору») ведёт на неверный/несуществующий домен, что является содержательной ошибкой в требуемой лицензией атрибуции (без функционального/security-импакта — отсюда low). Фикс: заменить href на `https://objctv.ru` и hrefLabel на `objctv.ru` (либо привести к каноническому домену сервиса, при необходимости сверить с фактической attribution-страницей сервиса). **Почему баг:** В backend и frontend домен сервиса консистентно `objctv.ru`: `backend/app/core/config.py:132` → `objective_base_url: str = "https://api.objctv.ru"`; `backend/app/services/scrapers/objective.py:1,60` («Клиент API Объектива (api.objctv.ru)»); `data/sql/68_schema_objective.sql:1` («API Объектива (api.objctv.ru)»); `frontend/src/app/admin/scrape/objective/page.tsx:186,191,510` («sync с api.objctv.ru»). Нигде в репозитории, кроме этой строки, домена `objced.ru` нет. То есть `objced.ru` — это опечатка/неверный домен (`objced` ≠ `objctv`), и href/label страницы рассинхронизированы с фактическим источником данных, к которому относится строка атрибуции «Данные о ценах предложения предоставлены сервисом «Объектив»». Поскольку доступ к «Объективу» — коммерческий по договору (license: «Коммерческий доступ по договору»), неверная ссылка на чужой/несуществующий домен в требуемой лицензией атрибуции — это содержательная ошибка данных в публичном артефакте, а не косметика. **Как чинить:** Заменить href на канонический домен сервиса (`https://objctv.ru` или `https://api.objctv.ru`, в зависимости от того, какой считать публичной витриной) и привести hrefLabel в соответствие (`objctv.ru`). Сверить с записью источника в vault decisions/Data_Licenses_Audit.md, чтобы атрибуционная ссылка совпадала с контрактным доменом. --- <sub>deep-audit «армия ботов 2» · verify+harden, confidence 0.95 · unit U78</sub>
bot-backend added the
week ревью 1
label 2026-06-15 05:53:45 +00:00
bot-backend added the
scope/frontend
label 2026-06-15 11:02:00 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: lekss361/gendesign#1413
No description provided.