Hacker News Digest

Тег: #containers

Постов: 3

Using AI to secure AI (mattsayar.com)

Claude Code теперь умеет искать уязвимости: запускает специальный промпт, проверяет OWASP Top 10.
Проверил расширение Simple Wikiclaudia и сервис rsspberry2email — Claude сказал «всё ок».
Но доверять одному ИИ, который сам писал код, нельзя: нужны человеческий ревью, SAST, DAST, фаззинг.

Для контроля подключил Datadog:

  • расширение — уязвимостей нет, зато куча логов (HIGH, но можно выключить);
  • сервис — Datadog нашёл библиотеки с CVE, предложил кнопку «Remediate».
    Claude подтвердил одну из находок; остальное — «приемлемый риск» для домашнего RPi.

by MattSayar • 15 августа 2025 г. в 15:36 • 88 points

ОригиналHN

#llm#security#sast#dast#fuzzing#datadog#raspberry-pi#owasp#cve#containers

Комментарии (26)

  • Руководство верит, что «волшебная пыль ИИ» решает всё, включая проблемы самого ИИ.
  • Найденные Claude и DataDog уязвимости выглядят тривиальными и легко детектируются статическим анализом.
  • Компании устраивают «тест на компетентность»: удача руководителей вот-вот закончится.
  • Пользователи готовы наблюдать, как ИИ удаляет ld, сносит контейнеры и плодит тонны мусорного кода.
  • Скоро ИИ займёт ключевые бизнес-процессы, а после провалов и аудитов топ-менеджеры получат золотые парашюты.
  • Всё напоминает «Новое платье короля»: все видят проблему, но молчат.

Generic Containers in C: Safe Division Using Maybe (uecker.codeberg.page)

Показываю, как в C сделать обобщённый контейнер maybe, который безопасно возвращает результат, если он есть, и сообщает об ошибке, если её нет.

#define maybe(T) struct { bool ok; T value; }
#define maybe_just(T,x)  { .value = (x), .ok = true }
#define maybe_nothing(T) { .value = (T){}, .ok = false }

static maybe(int) divide(int a, int b) {
    return (b != 0) ? maybe_just(int, a / b) : maybe_nothing(int);
}

Вызов:

maybe(int) p = divide(6, d);
if (p.ok) printf("%d\n", p.value);
else       puts("division by zero");

Чтобы не забыть проверку, добавляем макрос maybe_value, который при ошибке возвращает нулевой указатель, ловим его санитайзером:

#define maybe_value(x) \
    (*({ auto _p = &(x); _p->ok ? &_p->value : (void*)0; }))

Но деление на ноль — не единственная проблема. При делении INT_MIN / -1 возникает переполнение. Исправляем:

maybe(int) safe_divide(int a, int b) {
    if (b == 0 || (b == -1 && a == INT_MIN))
        return maybe_nothing(int);
    return maybe_just(int, a / b);
}

Компилируем с -fsanitize=signed-integer-overflow,integer-divide-by-zero -fsanitize-trap=undefined -O2. В ассемблере не остаётся пути к ud2, то есть оптимизатор доказал: переполнения и деления на ноль нет.

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

by uecker • 11 августа 2025 г. в 05:14 • 91 points

ОригиналHN

#c#containers#error-handling#macros

Комментарии (46)

  • Критика: реализация не заставляет проверять результат, теряя главное преимущество Maybe.
  • Ассемблер: GCC выдаёт почти тот же код, что и для std::optional, но не возвращает результат в регистре.
  • UB: «пустой» lvalue в случае ошибки вызывает неопределённое поведение; автор полагается на null-sanitizer.
  • Эргономика: предлагают добавить and_then/or_else и сделать тип непрозрачным через макросы.
  • Почему не другой язык: встраиваемые/фирменные проекты часто ограничены только C или ASM.

Tribblix – The Retro Illumos Distribution (tribblix.org)

Tribblix — ретро-дистрибутив на базе illumos от Питера Трибла.
Свежее: 13 июля 2025 — релиз Milestone 37 (x86, варианты Vanilla и LX).
SPARC: 29 июля 2025 — обновление m32→m33; свежие установки пока через m32 ISO.
SPARC-CD: 15 мая 2025 — ISO m32 помещается на CD.
Поддержка 32-битного железа полностью прекращена. SPARC-версия тестируется слабо, x86 стабилен.
Скачать, установить и использовать можно по ссылкам на сайте.

by bilegeek • 09 августа 2025 г. в 06:46 • 86 points

ОригиналHN

#illumos#solaris#zfs#sparc#x86#linux#openzfs#containers

Комментарии (31)

  • Участники обсуждают нишевые ОС (Tribblix, Dragonfly BSD, Haiku, RISC OS, 9front, MINIX) и их «невидимость» на фоне мейнстрима.
  • Solaris Zones/LX-контейнеры хвалят за удобство, но установка Illumos-дистрибутивов часто страдает из-за проблем с USB3 и современным «железом».
  • Поднимается идея слоя совместимости Linux-драйверов, но критика: это влечёт GPL-проблемы и наследование архитектурных ограничений Linux.
  • Совместимость ZFS: пулы Illumos читаются Linux/FreeBSD, но не наоборот, если используются новые фич-флаги OpenZFS.
  • Tribblix предлагает 30+ оконных сред, включая CDE и OpenLook, но без старого DeskSet.