Угроза открытости

Автор: Евгений Питолин

Какие риски стоит учесть, если вы активно используете open source в своей работе

Аналитика от мировых исследователей кибербезопасности показывает то, что мы видим сейчас и на казахстанском рынке, – увеличение числа всевозможных стартапов, резкая нехватка разработчиков, а главное, необходимость выпускать продукты все быстрее, дабы опережать соперников. Это приводит к росту числа компаний-разработчиков, полагающихся модули на open source.

Open source – золотая жила для разработчиков, но невозможно не учитывать проблемы среды, где более 80% кода в новых приложениях может поступать из существующих репозиториев. Например, платформа Apache Log4j используется в 58% всех организаций и приложений в мире. Когда эксплойт был обнаружен, фиксировали более 1000 попыток его использования в секунду. Уязвимость Log4Shell – очевидное доказательство того, что модель контроля «многих глаз», предлагаемая open source, не соответствует цели.

Какие риски стоит учесть, если вы активно используете open source в своей работе?

Известные и задокументированные уязвимости.
Компоненты с открытым исходным кодом могут содержать уязвимости, добавленные разработчиками еще до исправления. Далее уязвимость в модуле попадает в конечное ПО – и вуаля: конфиденциальность, целостность или доступность системы и данных пользователей под угрозой.

Компрометация легитимных пакетов ПО.
Злоумышленники атакуют всю цепочку поставки «опенсорсного» ПО, включая инфраструктуру распространения, чтобы внедрить вредоносный код в компонент. Если захватить учетные записи разработчиков или службы поддержки модуля open source, вы всегда будете получать зараженное ПО с вредоносным кодом под видом легитимных пакетов.

Имена модулей как часть обмана.
Злоумышленники могут создавать компоненты с именами, похожими на имена легитимных компонентов с открытым исходным кодом или системных компонентов. Используя опечатки, названия с орфографической ошибкой в имени исходного компонента, но от имени легитимного автора (чья «учетка» уже захвачена), злоумышленник добивается того, чтобы пользователи загружали и использовали вредоносные компоненты, которые они считают легитимными, пока автор не в курсе.

Устаревшее или неподдерживаемое ПО.
Зачастую для этого нет разумных причин, но тем не менее разработчики часто используют устаревшую версию кода при наличии обновленных. Это может привести к тому, что будут упущены важные патчи безопасности и, как следствие, останутся эксплуатируемые преступниками уязвимости.

Что же делать, если ваши R&D/CTO не готовы отказаться полностью от модулей open source или снизить их применение кардинально?

1. Регулярно сканируйте код для обнаружения скомпрометированных пакетов. Предотвращение появления скомпрометированных пакетов кода в репозиториях – сложная проблема, поскольку не существует универсального решения. Специалисты помогут выбрать приоритеты мер безопасности, исходя из текущих рисков.

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

3. Поддерживайте актуальность кода и его легитимность перед использованием. Один из способов поддерживать актуальность – использовать инструменты анализа обновлений. Кроме того, обращайте внимание на лицензионный фактор – используйте компоненты в соответствии с условиями лицензии с открытым исходным кодом, не создавайте на пустом месте, помимо рисков безопасности, еще и юридические риски. 

: Если вы обнаружили ошибку или опечатку, выделите фрагмент текста с ошибкой и нажмите CTRL+Enter
69926 просмотров
Поделиться этой публикацией в соцсетях:
Forbes Video

Как управлять 280 аптеками, развивать супермаркеты, строить новые рестораны и открывать гостиницы

Обсуждаемые в Соцсетях
Самые Читаемые

Орфографическая ошибка в тексте:

Отмена Отправить
163.61msRequest Duration7MBMemory UsageGET blogs/blogsid_{blogID}RouteAuth status
    • Booting (29.77ms)
    • Application (138.32ms)
      21 templates were rendered
      • blogs-inner (resources/views/blogs-inner.blade.php)3blade
        Params
        0
        article
        1
        mlt_articles
        2
        keywords
      • banners.B (resources/views/banners/B.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
      • partials.social-bid (resources/views/partials/social-bid.blade.php)7blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
      • banners.C (resources/views/banners/C.blade.php)11blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
        7
        __currentLoopData
        8
        item
        9
        key
        10
        loop
      • banners.F (resources/views/banners/F.blade.php)11blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
        7
        __currentLoopData
        8
        item
        9
        key
        10
        loop
      • partials.sidebar (resources/views/partials/sidebar.blade.php)11blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
        7
        __currentLoopData
        8
        item
        9
        key
        10
        loop
      • banners.D (resources/views/banners/D.blade.php)11blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
        7
        __currentLoopData
        8
        item
        9
        key
        10
        loop
      • widgets.CorpBlogs (resources/views/widgets/CorpBlogs.blade.php)1blade
        Params
        0
        corp_blogs
      • widgets.Anounce (resources/views/widgets/Anounce.blade.php)1blade
        Params
        0
        anounce
      • widgets.BirthdaysToday (resources/views/widgets/BirthdaysToday.blade.php)1blade
        Params
        0
        birthdays
      • widgets.EditorChoise (resources/views/widgets/EditorChoise.blade.php)1blade
        Params
        0
        editor_choise
      • banners.E (resources/views/banners/E.blade.php)11blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
        7
        __currentLoopData
        8
        item
        9
        key
        10
        loop
      • widgets.RandProjectVideo (resources/views/widgets/RandProjectVideo.blade.php)1blade
        Params
        0
        video
      • widgets.MostShared (resources/views/widgets/MostShared.blade.php)1blade
        Params
        0
        most_shared
      • partials.most-shared (resources/views/partials/most-shared.blade.php)5blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        most_shared
      • widgets.MostViews (resources/views/widgets/MostViews.blade.php)1blade
        Params
        0
        most_views
      • partials.most-views (resources/views/partials/most-views.blade.php)5blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        most_views
      • banners.tds.4 (resources/views/banners/tds/4.blade.php)11blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
        7
        __currentLoopData
        8
        item
        9
        key
        10
        loop
      • layout (resources/views/layout.blade.php)11blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
        7
        __currentLoopData
        8
        item
        9
        key
        10
        loop
      • banners.tds.1 (resources/views/banners/tds/1.blade.php)11blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
        7
        __currentLoopData
        8
        item
        9
        key
        10
        loop
      • banners.G (resources/views/banners/G.blade.php)11blade
        Params
        0
        obLevel
        1
        __env
        2
        app
        3
        errors
        4
        article
        5
        mlt_articles
        6
        keywords
        7
        __currentLoopData
        8
        item
        9
        key
        10
        loop
      uri
      GET blogs/blogsid_{blogID}
      middleware
      web
      as
      blog
      controller
      App\Http\Controllers\BlogsController@displayBlog
      namespace
      App\Http\Controllers
      prefix
      null
      where
      file
      app/Http/Controllers/BlogsController.php:35-61
      27 statements were executed78.12ms
      • select * from `forbes_data` where `Date` <= '2025-04-21 07:45:38' and `finished` = '1' and `DataID` = '303934' limit 11.28ms/app/Models/Data.php:101forbes_base
        Metadata
        Bindings
        • 0. 2025-04-21 07:45:38
        • 1. 1
        • 2. 303934
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 13. /app/Models/Data.php:101
        • 14. /app/Http/Controllers/BlogsController.php:37
        • 64. /public/index.php:54
      • select * from `forbes_data_data` where `forbes_data_data`.`DataID` in ('303934')940μs/app/Models/Data.php:101forbes_base
        Metadata
        Bindings
        • 0. 303934
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 20. /app/Models/Data.php:101
        • 21. /app/Http/Controllers/BlogsController.php:37
        • 71. /public/index.php:54
      • select * from `forbes_data_images` where `forbes_data_images`.`ImageID` in ('')870μs/app/Models/Data.php:101forbes_base
        Metadata
        Bindings
        • 0. 
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 27. /app/Models/Data.php:101
        • 28. /app/Http/Controllers/BlogsController.php:37
        • 78. /public/index.php:54
      • SELECT * FROM forbes_mlt_index WHERE datatype=1 AND unxtime>=1713667538 AND id<>303934 AND MATCH('Угроза | открытости | Какие | риски | стоит | учесть | вы | активно | используете | source | своей | работе') LIMIT 6 OPTION ranker = sph04,max_matches=6;51.34ms/app/Models/Search.php:56
        Metadata
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 8. /app/Models/Search.php:56
        • 9. /app/Http/Controllers/BlogsController.php:40
        • 59. /public/index.php:54
      • select `ImagePath` from `forbes_images` where `ImageID` = '160257' limit 1880μs/app/Models/Images.php:22forbes_base
        Metadata
        Bindings
        • 0. 160257
        Hints
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 13. /app/Models/Images.php:22
        • 14. /app/Http/Controllers/BlogsController.php:43
        • 64. /public/index.php:54
      • select `ImagePath` from `forbes_images` where `ImageID` = '160550' limit 1630μs/app/Models/Images.php:22forbes_base
        Metadata
        Bindings
        • 0. 160550
        Hints
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 13. /app/Models/Images.php:22
        • 14. /app/Http/Controllers/BlogsController.php:43
        • 64. /public/index.php:54
      • select `ImagePath` from `forbes_images` where `ImageID` = '160575' limit 1540μs/app/Models/Images.php:22forbes_base
        Metadata
        Bindings
        • 0. 160575
        Hints
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 13. /app/Models/Images.php:22
        • 14. /app/Http/Controllers/BlogsController.php:43
        • 64. /public/index.php:54
      • select `ImagePath` from `forbes_images` where `ImageID` = '160647' limit 1570μs/app/Models/Images.php:22forbes_base
        Metadata
        Bindings
        • 0. 160647
        Hints
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 13. /app/Models/Images.php:22
        • 14. /app/Http/Controllers/BlogsController.php:43
        • 64. /public/index.php:54
      • select `ImagePath` from `forbes_images` where `ImageID` = '160823' limit 1520μs/app/Models/Images.php:22forbes_base
        Metadata
        Bindings
        • 0. 160823
        Hints
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 13. /app/Models/Images.php:22
        • 14. /app/Http/Controllers/BlogsController.php:43
        • 64. /public/index.php:54
      • select `ImagePath` from `forbes_images` where `ImageID` = '159705' limit 1680μs/app/Models/Images.php:22forbes_base
        Metadata
        Bindings
        • 0. 159705
        Hints
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 13. /app/Models/Images.php:22
        • 14. /app/Http/Controllers/BlogsController.php:43
        • 64. /public/index.php:54
      • update `forbes_data_data` set `Views` = `Views` + 1 where `DataID` = '303934'2.08ms/app/Http/Controllers/BlogsController.php:50forbes_base
        Metadata
        Bindings
        • 0. 303934
        Backtrace
        • 15. /app/Http/Controllers/BlogsController.php:50
        • 16. /app/Http/Controllers/BlogsController.php:50
        • 66. /public/index.php:54
      • select * from `forbes_data_authors` where `forbes_data_authors`.`DataID` = '303934' limit 1760μsview::blogs-inner:9forbes_base
        Metadata
        Bindings
        • 0. 303934
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 18. view::blogs-inner:9
        • 25. /vendor/symfony/http-foundation/Response.php:200
        • 71. /public/index.php:54
      • select * from `forbes_authors` where `forbes_authors`.`AuthorID` = '846' limit 11.55msview::blogs-inner:9forbes_base
        Metadata
        Bindings
        • 0. 846
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 18. view::blogs-inner:9
        • 25. /vendor/symfony/http-foundation/Response.php:200
        • 71. /public/index.php:54
      • select * from `forbes_images` where `forbes_images`.`ImageID` = '48935' limit 1680μsview::blogs-inner:64forbes_base
        Metadata
        Bindings
        • 0. 48935
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 18. view::blogs-inner:64
        • 25. /vendor/symfony/http-foundation/Response.php:200
        • 71. /public/index.php:54
      • select * from `forbes_data_social_stats2` where `forbes_data_social_stats2`.`DataID` = '303934' limit 11.56msview::blogs-inner:99forbes_base
        Metadata
        Bindings
        • 0. 303934
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 18. view::blogs-inner:99
        • 25. /vendor/symfony/http-foundation/Response.php:200
        • 71. /public/index.php:54
      • select * from `forbes_prteaser_group` where `url` not in ('sap') and `validfrom` <= '2025-04-21 07:45:38' and `validtill` >= '2025-04-21 07:45:38' limit 53.5ms/app/Models/TeaserGroups.php:30forbes_base
        Metadata
        Bindings
        • 0. sap
        • 1. 2025-04-21 07:45:38
        • 2. 2025-04-21 07:45:38
        Hints
        • Use SELECT * only if you need all columns from table
        • LIMIT without ORDER BY causes non-deterministic results, depending on the query execution plan
        Backtrace
        • 12. /app/Models/TeaserGroups.php:30
        • 13. /app/Widgets/CorpBlogs.php:22
        • 19. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 20. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 21. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 22. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 27. view::partials.sidebar:10
        • 28. view::partials.sidebar:10
        • 34. view::blogs-inner:231
        • 41. /vendor/symfony/http-foundation/Response.php:200
        • 87. /public/index.php:54
      • select * from `forbes_anounces` order by `AnounceID` desc limit 1890μs/app/Models/Anounces.php:38forbes_base
        Metadata
        Hints
        • Use SELECT * only if you need all columns from table
        • The SELECT statement has no WHERE clause and could examine many more rows than intended
        Backtrace
        • 13. /app/Models/Anounces.php:38
        • 14. /app/Widgets/Anounce.php:20
        • 20. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 21. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 22. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 23. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 28. view::partials.sidebar:13
        • 29. view::partials.sidebar:13
        • 35. view::blogs-inner:231
        • 42. /vendor/symfony/http-foundation/Response.php:200
        • 88. /public/index.php:54
      • select * from `forbes_images` where `forbes_images`.`ImageID` in ('160604')620μs/app/Models/Anounces.php:38forbes_base
        Metadata
        Bindings
        • 0. 160604
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 20. /app/Models/Anounces.php:38
        • 21. /app/Widgets/Anounce.php:20
        • 27. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 28. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 29. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 30. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 35. view::partials.sidebar:13
        • 36. view::partials.sidebar:13
        • 42. view::blogs-inner:231
        • 49. /vendor/symfony/http-foundation/Response.php:200
        • 95. /public/index.php:54
      • select * from `forbes_bdays` where month(`Bday`) = '4' and day(`Bday`) = '21' order by `Bday` desc660μs/app/Models/Birthdays.php:29forbes_base
        Metadata
        Bindings
        • 0. 4
        • 1. 21
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 12. /app/Models/Birthdays.php:29
        • 13. /app/Widgets/BirthdaysToday.php:20
        • 19. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 20. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 21. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 22. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 27. view::partials.sidebar:16
        • 28. view::partials.sidebar:16
        • 34. view::blogs-inner:231
        • 41. /vendor/symfony/http-foundation/Response.php:200
        • 87. /public/index.php:54
      • select `forbes_data_tops`.`DataID`, `forbes_data`.`Date` from `forbes_data_tops` inner join `forbes_data` on `forbes_data_tops`.`DataID` = `forbes_data`.`DataID` and `forbes_data`.`finished` = '1' where `forbes_data_tops`.`StructureID` = '66' and `forbes_data`.`Date` <= '2025-04-21 07:45:38' order by `forbes_data_tops`.`Position` asc limit 1 offset 0750μs/app/Models/DataTops.php:103forbes_base
        Metadata
        Bindings
        • 0. 1
        • 1. 66
        • 2. 2025-04-21 07:45:38
        Backtrace
        • 12. /app/Models/DataTops.php:103
        • 13. /app/Widgets/EditorChoise.php:20
        • 19. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 20. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 21. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 22. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 27. view::partials.sidebar:19
        • 28. view::partials.sidebar:19
        • 34. view::blogs-inner:231
        • 41. /vendor/symfony/http-foundation/Response.php:200
        • 87. /public/index.php:54
      • select * from `forbes_data_data` where `forbes_data_data`.`DataID` in ('320937')1.58ms/app/Models/DataTops.php:103forbes_base
        Metadata
        Bindings
        • 0. 320937
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 19. /app/Models/DataTops.php:103
        • 20. /app/Widgets/EditorChoise.php:20
        • 26. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 27. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 28. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 29. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 34. view::partials.sidebar:19
        • 35. view::partials.sidebar:19
        • 41. view::blogs-inner:231
        • 48. /vendor/symfony/http-foundation/Response.php:200
        • 94. /public/index.php:54
      • select * from `forbes_data_images` where `forbes_data_images`.`ImageID` in ('160257')620μs/app/Models/DataTops.php:103forbes_base
        Metadata
        Bindings
        • 0. 160257
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 26. /app/Models/DataTops.php:103
        • 27. /app/Widgets/EditorChoise.php:20
        • 33. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 34. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 35. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 36. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 41. view::partials.sidebar:19
        • 42. view::partials.sidebar:19
        • 48. view::blogs-inner:231
        • 55. /vendor/symfony/http-foundation/Response.php:200
        • 101. /public/index.php:54
      • select * from `forbes_images` where `forbes_images`.`ImageID` in ('160257')710μs/app/Models/DataTops.php:103forbes_base
        Metadata
        Bindings
        • 0. 160257
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 33. /app/Models/DataTops.php:103
        • 34. /app/Widgets/EditorChoise.php:20
        • 40. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 41. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 42. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 43. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 48. view::partials.sidebar:19
        • 49. view::partials.sidebar:19
        • 55. view::blogs-inner:231
        • 62. /vendor/symfony/http-foundation/Response.php:200
        • 108. /public/index.php:54
      • select * from `forbes_video` where `isShow` = '1' and `project` = 'qna' order by RAND() limit 11.94ms/app/Models/Video.php:42forbes_base
        Metadata
        Bindings
        • 0. 1
        • 1. qna
        Hints
        • Use SELECT * only if you need all columns from table
        • ORDER BY RAND() is slow, try to avoid if you can. You can read this or this
        Backtrace
        • 12. /app/Models/Video.php:42
        • 13. /app/Widgets/RandProjectVideo.php:24
        • 19. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 20. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 21. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 22. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 27. view::partials.sidebar:28
        • 28. view::partials.sidebar:28
        • 34. view::blogs-inner:231
        • 41. /vendor/symfony/http-foundation/Response.php:200
        • 87. /public/index.php:54
      • select * from `forbes_data` inner join `forbes_data_social_stats2` on `forbes_data_social_stats2`.`DataID` = `forbes_data`.`DataID` where `Date` >= '2025-04-20 07:45:38' and `AnounceID` is null and `finished` = '1' order by `forbes_data_social_stats2`.`facebook` desc limit 7660μs/app/Models/Data.php:544forbes_base
        Metadata
        Bindings
        • 0. 2025-04-20 07:45:38
        • 1. 1
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 12. /app/Models/Data.php:544
        • 13. /app/Widgets/MostShared.php:21
        • 19. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 20. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 21. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 22. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 27. view::partials.sidebar:36
        • 28. view::partials.sidebar:36
        • 34. view::blogs-inner:231
        • 41. /vendor/symfony/http-foundation/Response.php:200
        • 87. /public/index.php:54
      • select * from `forbes_data` inner join `forbes_data_data` on `forbes_data`.`DataID` = `forbes_data_data`.`DataID` where `Date` <= '2025-04-21 07:45:38' and `finished` = '1' and `DataType` = 'articles' and `Date` >= '2025-04-20 07:45:38' order by `forbes_data_data`.`Views` desc limit 7690μs/app/Models/Data.php:560forbes_base
        Metadata
        Bindings
        • 0. 2025-04-21 07:45:38
        • 1. 1
        • 2. articles
        • 3. 2025-04-20 07:45:38
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 12. /app/Models/Data.php:560
        • 13. /app/Widgets/MostViews.php:20
        • 19. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 20. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 21. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 22. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 27. view::partials.sidebar:46
        • 28. view::partials.sidebar:46
        • 34. view::blogs-inner:231
        • 41. /vendor/symfony/http-foundation/Response.php:200
        • 87. /public/index.php:54
      • select * from `forbes_video` where `isShow` = '1' and `addDate` >= '2025-04-20 07:45:38' order by `addDate` desc limit 1620μs/app/Models/Video.php:71forbes_base
        Metadata
        Bindings
        • 0. 1
        • 1. 2025-04-20 07:45:38
        Hints
        • Use SELECT * only if you need all columns from table
        Backtrace
        • 13. /app/Models/Video.php:71
        • 14. /app/Widgets/BoostVideo.php:21
        • 20. /vendor/arrilot/laravel-widgets/src/Misc/LaravelApplicationWrapper.php:48
        • 21. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:54
        • 22. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:75
        • 23. /vendor/arrilot/laravel-widgets/src/Factories/WidgetFactory.php:17
        • 28. view::layout:602
        • 29. view::layout:602
        • 35. view::blogs-inner:265
        • 42. /vendor/symfony/http-foundation/Response.php:200
        • 88. /public/index.php:54
        web
        array:2 [ "name" => "Guest" "user" => array:1 [ "guest" => true ] ]
        api
        array:2 [ "name" => "Guest" "user" => array:1 [ "guest" => true ] ]
          _token
          QQGbNMWv1n34YUmNzd1t0v0kMnZM7Es390yU5wL7
          _previous
          array:1 [ "url" => "https://test.forbes.kz/blogs/blogsid_303934" ]
          PHPDEBUGBAR_STACK_DATA
          []
          format
          html
          content_type
          text/html; charset=UTF-8
          status_text
          OK
          status_code
          200
          request_query
          []
          request_request
          []
          request_headers
          array:25 [ "content-type" => array:1 [ 0 => "" ] "content-length" => array:1 [ 0 => ""...
          request_server
          array:52 [ "TEMP" => "/srv/www/forbes.kz/tmp" "TMPDIR" => "/srv/www/forbes.kz/tmp" "TMP" => "/...
          request_cookies
          []
          response_headers
          array:5 [ "cache-control" => array:1 [ 0 => "no-cache, private" ] "date" => array:1 [ ...
          path_info
          /blogs/blogsid_303934
          session_attributes
          array:3 [ "_token" => "QQGbNMWv1n34YUmNzd1t0v0kMnZM7Es390yU5wL7" "_previous" => array:1 [ "u...