Фаззинг
Это вид тестирования, при котором в программу автоматически подаются много случайных, повреждённых или необычных входных данных, чтобы вызвать сбои, крэши или странное поведение.
Смысл: найти баги, о которых никто не подумал. Используют для поиска уязвимостей, переполнений, неправильных проверок входа и т.п.
Фаззинг делают для отдельных компонентов Linux — ядра, системных утилит, библиотек, драйверов, парсеров конфигураций, сетевых стеков и даже отдельных системных вызовов.
Фаззер не просто "генерит мусор". Современные фаззеры умные:
- анализируют покрытие кода
- умеют воспроизводить найденные сбои
- минимизируют крэши до маленьких тестов
- подстраивают ввод так, чтобы пройти новые ветки
Например, syzkaller специально создан для фаззинга ядра Linux. Он генерирует последовательности системных вызовов, которые приводят ядро в нестабильное состояние. Так находят race‑conditions, use‑after‑free, deadlocks.
По сути фаззинг — автоматизированный способ заставить код работать с непредусмотренными сценариями и увидеть, где он ломается или становится уязвимым.
Говоря другими словами: Современный фаззер сначала изучает, как программа реагирует на разные входы (через покрытие кода), затем автоматически подбирает и мутирует данные так, чтобы заходить в новые ветки выполнения, и на этой основе массово генерирует тесты, пытаясь добиться крэшей, зависаний или некорректного поведения.
#misc #theory
Это вид тестирования, при котором в программу автоматически подаются много случайных, повреждённых или необычных входных данных, чтобы вызвать сбои, крэши или странное поведение.
Смысл: найти баги, о которых никто не подумал. Используют для поиска уязвимостей, переполнений, неправильных проверок входа и т.п.
Фаззинг делают для отдельных компонентов Linux — ядра, системных утилит, библиотек, драйверов, парсеров конфигураций, сетевых стеков и даже отдельных системных вызовов.
Фаззер не просто "генерит мусор". Современные фаззеры умные:
- анализируют покрытие кода
- умеют воспроизводить найденные сбои
- минимизируют крэши до маленьких тестов
- подстраивают ввод так, чтобы пройти новые ветки
Например, syzkaller специально создан для фаззинга ядра Linux. Он генерирует последовательности системных вызовов, которые приводят ядро в нестабильное состояние. Так находят race‑conditions, use‑after‑free, deadlocks.
По сути фаззинг — автоматизированный способ заставить код работать с непредусмотренными сценариями и увидеть, где он ломается или становится уязвимым.
Говоря другими словами: Современный фаззер сначала изучает, как программа реагирует на разные входы (через покрытие кода), затем автоматически подбирает и мутирует данные так, чтобы заходить в новые ветки выполнения, и на этой основе массово генерирует тесты, пытаясь добиться крэшей, зависаний или некорректного поведения.
#misc #theory
Руководство_по_созданию_пакетов_Debian.pdf
460.9 KB
Анализ исправления ошибок в ядре Linux - в среднем ошибки замечают через 2 года
Новость: https://www.opennet.ru/opennews/art.shtml?num=64574
#kernel #news
Новость: https://www.opennet.ru/opennews/art.shtml?num=64574
#kernel #news
В Debian 14 намерены прекратить поставку GTK2
Новость: https://www.opennet.ru/opennews/art.shtml?num=64618
#debian #news
Новость: https://www.opennet.ru/opennews/art.shtml?num=64618
#debian #news
Сладкопопые и тут свой флаг впихнули! =) Ладно, на самом деле речь не про ЛГБТ.
В данном случае это не просто радужный флаг, а пиратский флаг в радужных цветах. Такой флаг иногда используется в IT‑сообществе, особенно среди сторонников свободного программного обеспечения (FOSS), как неформальный мем про "пиратство" в контексте борьбы за свободу информации, открытый код и против закрытых проприетарных технологий.
Пиратский флаг в радужных цветах — это именно внутренняя шутка или символ внутри FOSS‑культуры, а не официальный знак. Он сочетает в себе:
- Пиратскую символику (череп и кости) — как метафору борьбы за свободу информации.
- Радужные цвета — как символ открытости, разнообразия и дружелюбия, без привязки к ЛГБТ.
#debian #opensource
В данном случае это не просто радужный флаг, а пиратский флаг в радужных цветах. Такой флаг иногда используется в IT‑сообществе, особенно среди сторонников свободного программного обеспечения (FOSS), как неформальный мем про "пиратство" в контексте борьбы за свободу информации, открытый код и против закрытых проприетарных технологий.
Пиратский флаг в радужных цветах — это именно внутренняя шутка или символ внутри FOSS‑культуры, а не официальный знак. Он сочетает в себе:
- Пиратскую символику (череп и кости) — как метафору борьбы за свободу информации.
- Радужные цвета — как символ открытости, разнообразия и дружелюбия, без привязки к ЛГБТ.
#debian #opensource
Новые версии Debian 13.3 и 12.13 🥳
Новость: https://www.opennet.ru/opennews/art.shtml?num=64585
#debian #news
Новость: https://www.opennet.ru/opennews/art.shtml?num=64585
#debian #news
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub Pages
Это встроенный в GitHub хостинг статических сайтов, который автоматически публикует HTML, CSS и JavaScript прямо из репозитория. Он удобен для личных страниц, документации и простых проектов, не требует отдельного сервера и обновляется при каждом пуше.
Custom Domain позволяет привязать к сайту на GitHub Pages своё собственное доменное имя. Для этого нужно прописать нужные DNS‑записи у своего регистратора (обычно A или CNAME, указывающие на GitHub), затем указать домен в настройках Pages. GitHub автоматически выдаёт бесплатный HTTPS через Let's Encrypt.
Чтобы использовать GitHub Pages для персонального сайта, нужно создать репозиторий с именем
Я например использую GitHub Pages для своей сайт-визитки, очень простенький сайт и репозиторий для наглядности.
> Документация
#misc
Это встроенный в GitHub хостинг статических сайтов, который автоматически публикует HTML, CSS и JavaScript прямо из репозитория. Он удобен для личных страниц, документации и простых проектов, не требует отдельного сервера и обновляется при каждом пуше.
Custom Domain позволяет привязать к сайту на GitHub Pages своё собственное доменное имя. Для этого нужно прописать нужные DNS‑записи у своего регистратора (обычно A или CNAME, указывающие на GitHub), затем указать домен в настройках Pages. GitHub автоматически выдаёт бесплатный HTTPS через Let's Encrypt.
Чтобы использовать GitHub Pages для персонального сайта, нужно создать репозиторий с именем
user.github.io, где вместо user используется твой логин GitHub. Всё, что лежит в этом репозитории, автоматически становится доступным по адресу https://user.github.io Я например использую GitHub Pages для своей сайт-визитки, очень простенький сайт и репозиторий для наглядности.
> Документация
#misc
Какие ИИ я использую?
Мне очень нравится Mistral. Он отлично обрабатывает большие объёмы текста — можно кинуть довольной большой скрипт, и он спокойно выдаст общую картину. Например, веб-версия ChatGPT такие объёмы не принимает и жалуется, что сообщение слишком большое, приходится сокращать. Я использую платную версию Mistral (из РФ оплату не принимает).
В Telegram у меня подключена платная и самая мощная версия GPT — использую её для коротких и быстрых запросов: советы, обсуждения, жизнь, рекомендации, код, решения. Работает отлично, ошибается редко, полностью устраивает.
Иногда использую бесплатную веб‑версию ChatGPT — для простых вопросов.
Бывает, что рабочая задача настолько сложная, что я подключаю сразу три ИИ. Заставляю их спорить, анализировать и дополнять ответы друг друга. Это называется промпт‑инженеринг. И он тоже выматывает: вокруг тебя пролетают тонны информации, всё нужно учитывать, потому что ИИ может ошибаться и дезинформировать. На проверку результатов (тестирование) уходит много времени.
Часто я сам не знаю, чего хочу. И мне нравится, что ИИ всё равно меня понимает — несмотря на мою косноязычность, ошибки в грамматике и иногда полную белиберду. Я нередко составляю промпты в одном ИИ, потом передаю их другому — и он уже идеально понимает, что мне нужно, и выдаёт результат гораздо лучше.
И да, чтобы пользоваться искусственным интеллектом, нужно самому обладать интеллектом. Нужно уметь формулировать запросы, чётко объяснять, чего ты хочешь, желательно максимально подробно. Этому нужно учиться.
#misc
Мне очень нравится Mistral. Он отлично обрабатывает большие объёмы текста — можно кинуть довольной большой скрипт, и он спокойно выдаст общую картину. Например, веб-версия ChatGPT такие объёмы не принимает и жалуется, что сообщение слишком большое, приходится сокращать. Я использую платную версию Mistral (из РФ оплату не принимает).
В Telegram у меня подключена платная и самая мощная версия GPT — использую её для коротких и быстрых запросов: советы, обсуждения, жизнь, рекомендации, код, решения. Работает отлично, ошибается редко, полностью устраивает.
Иногда использую бесплатную веб‑версию ChatGPT — для простых вопросов.
Бывает, что рабочая задача настолько сложная, что я подключаю сразу три ИИ. Заставляю их спорить, анализировать и дополнять ответы друг друга. Это называется промпт‑инженеринг. И он тоже выматывает: вокруг тебя пролетают тонны информации, всё нужно учитывать, потому что ИИ может ошибаться и дезинформировать. На проверку результатов (тестирование) уходит много времени.
Часто я сам не знаю, чего хочу. И мне нравится, что ИИ всё равно меня понимает — несмотря на мою косноязычность, ошибки в грамматике и иногда полную белиберду. Я нередко составляю промпты в одном ИИ, потом передаю их другому — и он уже идеально понимает, что мне нужно, и выдаёт результат гораздо лучше.
И да, чтобы пользоваться искусственным интеллектом, нужно самому обладать интеллектом. Нужно уметь формулировать запросы, чётко объяснять, чего ты хочешь, желательно максимально подробно. Этому нужно учиться.
#misc
Что такое ИИ агенты?
AI‑агенты — это по сути автономные помощники, которые могут выполнять задачи без постоянного ручного контроля. Они умеют анализировать окружение, принимать решения, вызывать инструменты, писать код, запускать скрипты, общаться с API и доводить задачу до результата.
Где используются:
- автоматизация рутины у разработчиков и админов
- CI/CD и тестирование
- сопровождение инфраструктуры
- генерация и рефакторинг кода
- мониторинг и реакция на инциденты
- внутренняя автоматизация в компаниях
Заменяют ли они инженеров? Нет. Они пока что работают как умные ассистенты, которым всё равно нужен человек — поставить задачу, проверить, скорректировать. Это ускорение, а не замена.
Есть ли они на GitHub/GitLab? Да. Примеры: OpenAI, OpenDevin, AutoGPT, CrewAI, LangChain Agents, и десятки кастомных фреймворков. Их можно разворачивать локально, натравливать на свои проекты и подключать к CI.
В целом это просто новая ступень автоматизации, а не "конец профессии".
#misc
AI‑агенты — это по сути автономные помощники, которые могут выполнять задачи без постоянного ручного контроля. Они умеют анализировать окружение, принимать решения, вызывать инструменты, писать код, запускать скрипты, общаться с API и доводить задачу до результата.
Где используются:
- автоматизация рутины у разработчиков и админов
- CI/CD и тестирование
- сопровождение инфраструктуры
- генерация и рефакторинг кода
- мониторинг и реакция на инциденты
- внутренняя автоматизация в компаниях
Заменяют ли они инженеров? Нет. Они пока что работают как умные ассистенты, которым всё равно нужен человек — поставить задачу, проверить, скорректировать. Это ускорение, а не замена.
Есть ли они на GitHub/GitLab? Да. Примеры: OpenAI, OpenDevin, AutoGPT, CrewAI, LangChain Agents, и десятки кастомных фреймворков. Их можно разворачивать локально, натравливать на свои проекты и подключать к CI.
В целом это просто новая ступень автоматизации, а не "конец профессии".
#misc
Это я заглянул в коммиты сайта AppVeyor. С ветки support-ukraine чот в голос. Это же надо быть такой бестолочью, чтобы обмазывать этим крупные проекты.
Я придумал шутливые комментарии под эту ситуацию:
"Феодор ФРИЦнер сделал вклад"
"Как выглядят коммиты твоих коллег"
#fun
Я придумал шутливые комментарии под эту ситуацию:
"Феодор ФРИЦнер сделал вклад"
"Как выглядят коммиты твоих коллег"
#fun
Решил сделать небольшой перерыв в постах, вот вам пока что моя мис Флупи :)
Debian: Самый стабильный Linux и тёмная история создателя
Ссылка: https://www.youtube.com/watch?v=qx6Ejwsdj-U
#debian #opensource
Ссылка: https://www.youtube.com/watch?v=qx6Ejwsdj-U
#debian #opensource
Локализация
Набор переменных, который определяет язык приложений, консоли и другие локальные параметры системы.
Например, разбор en_US.UTF8:
en - язык.
US - региональная настройка.
UTF8 - кодировка.
Язык - тут думаю понятно.
Региональная настройка - это определенные параметры, такие как формат даты и времени, валюта,
числовой формат и другие локальные настройки, которые могут отличаться от других стран.
Кодировка - определяет соответствие между символами и числовыми значениями, которые используются
компьютером для их хранения и обработки.
Получить все доступные локализации:
Чтобы изменить локализацию можно задать:
Если при выводе выдаются ошибки типа: Cannot set LC_CTYPE to default locale: No such file or directory
То скорее всего задается локализация, которая не была сгенерирована. Для этого нужно подправить
Затем выполнить:
Появится новая локализация:
Можно запустить приложение с другим языком, например:
LANG - Локализация, установленная в этой переменной используется в качестве значения для всех остальных LC_* переменных.
LANGUAGE - Запасные локализации (нужно для вывода сообщений на разных языках).
#shell #utils
Набор переменных, который определяет язык приложений, консоли и другие локальные параметры системы.
Например, разбор en_US.UTF8:
en - язык.
US - региональная настройка.
UTF8 - кодировка.
Язык - тут думаю понятно.
Региональная настройка - это определенные параметры, такие как формат даты и времени, валюта,
числовой формат и другие локальные настройки, которые могут отличаться от других стран.
Кодировка - определяет соответствие между символами и числовыми значениями, которые используются
компьютером для их хранения и обработки.
Получить все доступные локализации:
$ locale -a
Чтобы изменить локализацию можно задать:
$ export LANG=en_US.UTF8
Если при выводе выдаются ошибки типа: Cannot set LC_CTYPE to default locale: No such file or directory
То скорее всего задается локализация, которая не была сгенерирована. Для этого нужно подправить
/etc/locale.gen файл. В этом файле нужно раскомментировать нужную локализацию, например en_US.UTF-8 UTF-8Затем выполнить:
$ locale-gen
Появится новая локализация:
$ locale -a
Можно запустить приложение с другим языком, например:
$ LANGUAGE=zh_TW vim
LANG - Локализация, установленная в этой переменной используется в качестве значения для всех остальных LC_* переменных.
LANGUAGE - Запасные локализации (нужно для вывода сообщений на разных языках).
#shell #utils
dotfiles-debian
В репозитории находятся различные конфигурации инструментов, которые я использую в окружении Xfce для Debian, это моё повседневное рабочее окружение: firefox, bash, vim, vifm, mc, tmux, gdb, git, newsboat, neomutt, dircolors, bash-completion, различные цветовые схемы для xfce4-terminal,
> GitHub
#shell #terminal #dotfiles #debian #info
В репозитории находятся различные конфигурации инструментов, которые я использую в окружении Xfce для Debian, это моё повседневное рабочее окружение: firefox, bash, vim, vifm, mc, tmux, gdb, git, newsboat, neomutt, dircolors, bash-completion, различные цветовые схемы для xfce4-terminal,
.bash_aliases, .bashrc, локальные скрипты, классические игры и многое, многое другое.> GitHub
#shell #terminal #dotfiles #debian #info