Исповедь разраба | OtezVikentiy.tech
75 subscribers
145 photos
2 videos
1 file
57 links
Исповедь разраба. Откарываю глаза во славу Одина, пишу во мгле за чашкой кофе, раскрываю бездну создания it-продуктов.

https://otezvikentiy.tech
Download Telegram
🔐 Обнаружен новый фишинговый сайт

Компания «Солар» выявила фишинговый сайт «Цифровой щит», маскирующийся под образовательный ресурс по кибербезопасности. Злоумышленники предлагают проверить надёжность паролей, но на самом деле стремятся заполучить действующие пароли доступа пользователей. Это подчёркивает важность регулярного обучения сотрудников основам ИБ и использования менеджеров паролей.

Источник: https://d-russia.ru/obnaruzhen-sayt-dlya-seryoznoy-proverki-ib-gramotnosti.html
👍2
Сравнение работы с контекстом в Codex и Claude Code

Статья анализирует механизмы сжатия контекста в AI-инструментах Codex и Claude Code. Автор исследует, как эти системы обрабатывают большие объёмы данных и какие методы используют для оптимизации работы с контекстом.

В статье описывается, что Codex CLI работает в двух режимах сжатия контекста: локально для не-codex моделей и через API-метод compact() для codex моделей. Для последних CLI вызывает метод, который возвращает зашифрованный blob. В Claude Code автор сталкивается с проблемой потери эффективности модели при достижении большого количества токенов в одной сессии.

Anthropic предоставляет публичную бета-версию серверной компакции compact_20260112 для Opus 4.7 / 4.6, Sonnet 4.6 и Mythos Preview. В статье отмечается, что промпты для сжатия контекста в Claude Code и Codex CLI практически идентичны, несмотря на различия в подходах к сжатию.

Автор статьи приходит к выводу, что в Codex сжатие контекста происходит более эффективно и своевременно по сравнению с Claude Code.

Источник
Идентификация владельцев доменов через ЕСИА с 1 сентября 2026 года

Статья на Habr от команды Рег.ру посвящена изменениям, которые вносит Федеральный закон № 569-ФЗ в управление доменами в зонах .ru, .рф и .su.

С 1 сентября 2026 года все ключевые операции с доменом (регистрация, продление, смена администратора, смена регистратора, делегирование и изменение NS) будут возможны только при условии, что администратор подтверждён через «Госуслуги». Закон направлен на борьбу с анонимностью владельцев доменов, которая используется для фишинга и мошеннических схем.

Для работы с доменом после 1 сентября нужна именно подтверждённая учётная запись на «Госуслугах». Не подойдёт ни упрощённая, ни стандартная. Подтвердить учётную запись можно онлайн через банк, в центре обслуживания, через «Почту России» или с помощью электронной подписи.

По итогам 2025 года Координационный центр .RU/.РФ заблокировал 60 788 вредоносных доменов в национальных зонах. Фишинг остаётся ведущей угрозой: его доля в обращениях к регистраторам снизилась с 82,6% в 2024 году до 67,9% в 2025-м, но в абсолютных числах он по-прежнему даёт основной поток жалоб.

Источник
Symfony 8.1: динамические атрибуты контроллеров

Статья описывает ключевые нововведения в Symfony 8.1, сосредоточенные на улучшении работы с атрибутами контроллеров.

В Symfony 8.1 представлены изменения, которые делают атрибуты контроллеров более динамичными и удобными для переопределения, использования в слушателях событий и расширения с помощью пользовательских функций на основе атрибутов. Атрибуты теперь хранятся в новом атрибуте запроса _controller_attributes, что позволяет слушателям переопределять их для конкретного запроса. Также упрощено представление атрибутов контроллеров: теперь они могут быть представлены в виде плоского списка в порядке их объявления.

Главные нововведения:
• Атрибуты контроллеров теперь хранятся в новом атрибуте запроса _controller_attributes.
• Слушатели могут переопределять атрибуты для конкретного запроса.
• Метод getAttributes() принимает новый аргумент '*' для возврата плоского списка атрибутов.
• ResponseEvent теперь имеет публичное свойство $controllerArgumentsEvent для чтения атрибутов контроллера.

Источник
Блин... Пенсионеры у нас вообще офигевшие... так хорошо живут и всё жалуются и жалуются... и инженеры и преподаватели... всем прям так круто!... Миллионами переводы переводят мошейникам.... Не каждый it-шник так живет как пенсионер/инженер/учитель....

Видимо что-то не так я делаю... пора на пенсию... вот там разбогатею....
🚀 OtezVikentiy JSON-RPC API Bundle 4.1 — релиз

Symfony-бандл для JSON-RPC 2.0 API получил две крупные итерации.

──────────────────────────────
🔒 4.0 — Security hardening
──────────────────────────────
• ErrorSanitizer: любые неожиданные исключения заменяются на дженерик «Internal error.» (-32603), деталь уходит
в PSR-3 логгер. Внутренние трейсы больше не утекают клиенту.
• DoS-лимиты с безопасными дефолтами:
– max_payload_bytes (1 MiB) — размер сырого тела
– max_json_depth (64) — глубина JSON
– max_batch_size (50) — RPC-вызовов в батче
– max_dto_depth (10) — рекурсия гидрации DTO
– max_array_param_size (1000) — элементов в array-параметре
expose_internal_errors: false по умолчанию.

📝 Гайд по миграции: docs/upgrade-4.0.md

──────────────────────────────
📋 4.1 — Request/Response Logging
──────────────────────────────
• Опциональное логирование каждого RPC-вызова через стандартный Symfony PSR-3 logger. Выключено по умолчанию —
нулевые накладные расходы.
• Дефолтный формат:
Request: [method] {body} context_id: <uuid>
Response: [method] {body} context_id: <uuid>
• Парность Request/Response по context_id. В батче из N вызовов — N разных context_id.
• Маскировка sensitive-полей по PCRE-регексам на имена ключей JSON (рекурсивно на любой глубине).
• 3 точки расширения через DI: кастомный формат, кастомный masker, кастомный генератор context_id.
• 91% test coverage / 370 PHPUnit-тестов.

📝 Подробности: docs/logging.md

──────────────────────────────
• 3 точки расширения через DI: кастомный формат, кастомный masker, кастомный генератор context_id.
• 91% test coverage / 370 PHPUnit-тестов.

📝 Подробности: docs/logging.md

──────────────────────────────
🐘 PHP 8.2+ / Symfony 6.4+ / 7.x · MIT

GitHub: https://github.com/OtezVikentiy/symfony-jsonrpc-api-bundle
Packagist: composer require otezvikentiy/json-rpc-api
Как опыт Яндекса доказывает важность поиска для внедрения LLM

В статье Дима Кирпа, разработчик из команды ML Laboratory в Yandex Infrastructure, делится опытом внедрения LLM в корпоративный интранет Яндекса. Он рассказывает о процессе создания внутреннего поиска и построения на его базе генеративной Q&A‑системы AI Chat.

Автор отмечает, что без качественного инструмента поиска рушится цепочка работы со знаниями: у людей умирает мотивация писать документацию, а отсутствие хорошей документации и поиска приводит к тому, что люди тратят много времени на поиск информации. Проблемы со знаниями в компании нельзя решить только с помощью LLM, если нет качественной базы данных.

Дима Кирпа считает, что поиск должен быть основой для внедрения LLM и других генеративных технологий. Он приводит аргументы в пользу этого подхода, основанные на опыте Яндекса.

Источник
1) Бумага тоньше человеческого волоса, а жопу прикрывает лучше бронированного листа
2) Устные указания имеют рекомендательный характер

Не благодарите. ))))
💯4🔥2
Symfony 8.1: улучшения компонента Messenger

Статья описывает обновления компонента Messenger в новой версии Symfony 8.1. В ней рассматриваются изменения в выполнении рабочих процессов, поведении транспорта, сериализации и обработке сбоев.

Ключевые улучшения включают возможность пакетной выборки сообщений, настройку интервала сброса сервисов и определение пользовательского имени типа для сериализованных сообщений. Также добавлена поддержка приоритизации сообщений в AMQP.

Конкретные изменения:
• Добавлена опция --fetch-size для команды messenger:consume, позволяющая рабочим процессам запрашивать несколько сообщений за один вызов.
• Введен параметр --no-reset с возможностью указания интервала сброса сервисов после обработки N сообщений.
• Реализовано пользовательское имя типа для сериализованных сообщений через аргумент serializedTypeName атрибута #[AsMessage].
• Внедрена поддержка приоритизации сообщений в AMQP через новый AmqpPriorityStamp.

Источник
Статический анализ с ИИ: как LLM помогают искать уязвимости

Денис Макрушин из команды SourceCraft обсуждает применение искусственного интеллекта в области кибербезопасности. В статье рассматривается, как LLM (языковые модели) могут помочь в поиске и исправлении уязвимостей в коде, а также их ограничения.

Классические SAST-инструменты генерируют много ложных срабатываний, что приводит к потере времени на ручной разбор. Релиз Claude Code Security от Anthropic изменил ситуацию на рынке кибербезопасности. LLM могут улучшить семантический анализ и помочь в интерпретации результатов, формируя новую категорию — AI SAST.

Основные проблемы классических SAST включают сигнатурные ложные срабатывания, дубликаты, алерты без контекста и неэксплуатируемые находки. LLM могут помочь в триаже алертов, оценке реального риска эксплойта и объяснении разработчикам актуальности проблем. Однако LLM работают на вероятностях и не могут заменить формальную верификацию и классические анализаторы.

В статье упоминаются конкретные цифры: до 91% предупреждений в опенсорс-проектах на GitHub оказываются ложными, а в Python-приложениях на Flask — до 99,5%.

Источник
Обновление по безопасности Composer и Packagist

Статья посвящена мерам по повышению безопасности в экосистеме PHP, особенно в контексте атак на цепочки поставок программного обеспечения. Основное внимание уделяется работе над усилением защиты в Composer и Packagist.org.

В статье описаны текущие и планируемые меры безопасности: интеграция обнаружения вредоносного ПО Aikido, введение политики управления зависимостями в Composer 2.10, обеспечение неизменности стабильных версий на Packagist.org и внедрение многофакторной аутентификации (MFA). Также обсуждаются долгосрочные направления, включая обязательное использование MFA и строгие требования на уровне организаций.

Конкретные шаги включают запуск Composer 2.10 с новой политикой зависимостей, обеспечение неизменности версий на Packagist.org и введение новых функций безопасности в Private Packagist. Подчёркивается важность включения MFA для всех, кто поддерживает пакеты на Packagist.org.

Источник
1
Anthropic выпустила Claude Opus 4.8

Статья рассказывает о выходе новой версии модели искусственного интеллекта Claude Opus 4.8 от компании Anthropic. Автор статьи — Simon Willison — отмечает, что обновление представляет собой незначительное, но ощутимое улучшение по сравнению с предыдущей версией.

Ключевые тезисы:
• Модель стала честнее и реже делает необоснованные заявления.
• Claude Opus 4.8 лучше справляется с выявлением неопределённостей в своей работе.
• По оценкам, модель в четыре раза реже пропускает ошибки в написанном коде по сравнению с предшественником.
• Модель демонстрирует снижение количества фактических галлюцинаций.

Конкретика:
• Цена осталась прежней: $5 за миллион входных данных и $25 за миллион выходных.
• «Быстрый режим» стоит вдвое дороже обычного, что является значительным снижением по сравнению с предыдущими моделями.
• Ограничения контекста и объёма данных остались на уровне 1 000 000 токенов для контекста и 128 000 токенов для вывода.
• Новая функция: поддержка системных сообщений в середине разговора.
• Увеличено количество кэшируемых токенов до 1 024, что меньше, чем у предыдущей версии (4 096 токенов).

Источник
Symfony 8.1: улучшения RateLimiter

Статья посвящена новым функциям в Symfony 8.1, которые упрощают работу с ограничением частоты запросов. Автор рассказывает о нововведениях, которые позволяют более гибко настраивать лимиты и упрощают процесс разработки.

В Symfony 8.1 добавлено новое декларативное свойство #[RateLimit]. Оно позволяет автоматически возвращать ответ «429 Too Many Requests» при превышении лимита запросов, настроенного в framework.rate_limiter. Атрибут можно применять многократно, накладывая несколько ограничений на одно действие, а также применять ко всему классу контроллера.

Кроме того, в Symfony 8.1 появилась опция anchor_at для политики fixed_window. Она позволяет синхронизировать окна лимитирования с календарём, что полезно для циклов биллинга, финансовых годов или еженедельных перезагрузок. Параметр anchor_at принимает любую строку, которую может обработать DateTimeImmutable.

Источник
Symfony 8.1: улучшения для компонента HttpClient

Статья посвящена релизу Symfony 8.1, в котором представлены улучшения для компонента HttpClient. В обновлении затронуты такие аспекты, как производительность, совместимость, безопасность и тестирование.

Ключевые тезисы:
• В Symfony 8.1 представлены улучшения для компонента HttpClient.
• Добавлена поддержка persistent cURL соединений, что позволяет повторно использовать данные DNS, SSL сессий и соединения между запросами.
• Реализована возможность использования Symfony HttpClient в качестве обработчика для Guzzle, что позволяет использовать его в SDK, построенных на Guzzle.
• В NoPrivateNetworkHttpClient добавлена возможность исключения определённых хостов из списка запрещённых частных сетей.
• По умолчанию для кэшированных ответов используется более безопасный режим.

Конкретика:
• Для использования persistent cURL соединений в Symfony 8.1 необходимо включить опцию extra.use_persistent_connections в CurlHttpClient.
• Для использования Symfony HttpClient в качестве обработчика для Guzzle необходимо создать экземпляр GuzzleHttpHandler.
• В NoPrivateNetworkHttpClient добавлен третий аргумент $allowList, который позволяет исключить определённые хосты из списка запрещённых частных сетей.

Источник
Проблемы внедрения Claude Code в энтерпрайз-разработке

Инженер компании Циан Андрей рассказывает о сложностях, с которыми команда столкнулась при внедрении AI-помощника Claude Code в процесс разработки.

Ключевые проблемы включают хранение артефактов AI-помощников в репозиториях, распространение конфигурации, работу с операционной системой Windows и расширение функционала субагентов. Для решения некоторых из них предлагаются различные подходы, например, использование плагинов для распространения общей конфигурации или предоставление Claude Code доступа к информации о компонентах на внутреннем портале.

Также упоминается, что поддержка Windows появилась в Claude Code сравнительно недавно, и возникают сложности с работой инструментария на этой операционной системе. В связи с этим рассматривается возможность перехода на WSL (Windows Subsystem for Linux) или отказа от Windows на машинах разработчиков.

В статье отмечается увеличение максимального контекста в моделях Claude Code с 200 тысяч до миллиона токенов, но указывается на проблемы с компакцией контекста и необходимость использования субагентов для разных задач.

Источник
👍1
Разграничение доступа в приложениях: как работает правильный RBAC

Статья на Habr рассказывает о том, как правильно реализовать концепцию RBAC (Role-Based Access Control) в реальных продуктах. Автор описывает проблемы, с которыми сталкиваются разработчики при использовании классической модели «роль → право», и предлагает решение в виде системы из четырёх независимых осей доступа.

В статье отмечается, что классический RBAC отвечает только на вопросы, связанные с доступом к таблице целиком. Реальные требования же живут на четырёх уровнях: таблица → строка → поле → значение. Для решения этой проблемы автор предлагает использовать четыре оси доступа: ACL (Access Control List), RAC (Record Access Control), FAC (Field Access Control) и VAC (Value Access Control). Каждая из осей решает свою задачу и ничего не знает о других.

ACL — это базовый слой, который определяет, пустят ли пользователя в здание (таблицу) вообще. RAC отвечает за доступ в комнаты (строки), FAC — за то, что в комнате разрешено трогать (поля), а VAC — за действия, которые допустимы с этими объектами.

В FARA CRM права описываются декларативно, прямо в модуле, через миксин. Это позволяет централизованно управлять доступом и избежать уязвимостей, связанных с самоназначением ролей.

Источник
PHP 8.6: дата релиза и новые возможности

В статье обсуждается предстоящий релиз PHP 8.6, который ожидается в конце ноября 2026 года. Описываются основные нововведения и изменения, которые будут включены в эту версию.

Ключевые нововведения PHP 8.6 включают частичное применение функций (PFA, v2) и нативную функцию clamp(). Частичное применение функций позволяет использовать синтаксис на основе плейсхолдеров для частичного применения аргументов к любому вызываемому объекту. Функция clamp() удерживает значение в диапазоне min/max.

Также рассматривается RFC для функции func_get_args_by_name(), которая возвращает аргументы текущей функции, сохраняя имена параметров в качестве ключей массива.

Ожидается, что первой российской IDE, поддержавшей все нововведения PHP 8.6, станет OpenIDE.

Ссылки на RFC:
• Частичное применение функций: https://wiki.php.net/rfc/partial_function_application_v2
• Функция clamp(): https://wiki.php.net/rfc/clamp_v2
• Функция func_get_args_by_name(): https://wiki.php.net/rfc/func_get_args_by_name

Источник