Обновить
4K+
10

Пользователь

2,8
Рейтинг
11
Подписчики
Отправить сообщение

Агентная проверка безопасности для Rust

Сделал свой микро-Mythos на основе Anthropic's defending-code-reference-harness но для нормального языка.

Веселитесь:
https://github.com/scadastrangelove/rust-in-peace

Автономный цикл разведки → обнаружения → оценки → обнаружения → фаззинга → отчета → исправления для реальных ошибок, которые действительно затрагивают Rust: безопасность памяти в unsafe/FFI, DoS-атака из-за паники, вызванная недоверенными входными данными, доверие к десериализации (проверка целостности не является проверкой границ) и надежность Send/Sync + безопасность при панике.
Статический анализ управляет динамическим этапом — модель угроз определяет, какой санитайзер, порог фаззинга и бюджет голосования получит каждая обнаруженная ошибка.

Детекторы: Miri (неопределенное поведение), AddressSanitizer, panic/abort, hang-timeout и cargo-fuzz для динамического воспроизведения ошибок.

Если на сцене висит ружьё то не удержался и я - запустил Rust In Peace по десятку популярных ржавых ящиков. Из тех, что в топе и парсят внешние данные, чтобы с поверхностью атаки.

На удивление балалайка не только пожужжала и съела токены, но реально нашла забавное, наделала PoC-ов и фиксов — часть уже смёржена мейнтейнерами.

По состоянию на 24.07.2026 было зарегистрировано 51 сообщение об уязвимостях в 17 независимых проектах на Rust: 12 уже исправлены и в влиты в main (включая lopdf, x509-parser, quick-xml, ntex), еще 9 приняты или находятся на рассмотрении в качестве GSHA безопасности (gitoxide, quinn-proto, rustls, ciborium, h2, hyperium).

Трекер тут: https://github.com/scadastrangelove/rust-in-peace/blob/main/DISCLOSURES-PUBLIC.md

Из интересного:

Методически правильный подход через «модель угроз» работает иногда так же хорошо, как просто бахнуть бессистемно. Просто они находят разные баги. На одном таргете: threat-model-first взял глубину и логические баги, слепой прогон взял пачку генериков, которые модель угроз недооценила, поскольку слишком умная, но фаззинг подтвердил. Ничья, точнее дабл страйк.

Старая пословица «баги ходят косяками» работает. «Поищи ещё такие же», «в этой функции был такой-то баг — проверь остальные» — приёмы из репертуара Google Project Zero живее всех живых. RUSTSEC-патч закрыл что-то в парсере, но не тронул еще четыре точки входа — те же дырки. Добавил как третий срез.

Статика и фаззинг — это хорошо, но только PoC — мерило истины. Очевидно, но забывается. В половине случаев когда и агент-копатели, и «более умный» ревьюер независимо согласились, что путь достижим — оба ошибались, поймала это только реальная сборка и прогон против настоящего апстрима.

Слепой фаззинг хорошо но уже есть у большинства проектов, инструментированный cargo-fuzz еще лучше, а если на вход скормить находки анентской статики, то вообще бомба.

Всегда стоит почитать issues и проверить ветки перед тем как бахать репорт и репортить бахи. Вполне может приключится, что твоя находка уже закрыта. Просто не релизнута ещё. В табличке это отдельная строка «refound». Особенно обидно, было когда три баги все разом закрылись одним ещё не выпущенным архитектурным рефакторингом. А робото жужжал и хлопал в ладоши, эх.

Разглашение в open source не сильно отличается от «responsible disclosure» в закрытом софте: кто-то вливает фикс за час, кто-то говорит спасибо, кто-то наоборот - «это всё неправда». Как и в коммерции, отказ это не последняя инстанция: поставил себе таймер вернуться через месяц и перепроверить на сайлент-фиксы.

Ну и да, часть человеков роботов не любят и ругаются на «нейрослоп», несмотря на приложенный PoC и рабочий фикс. Ну штош, не привыкать. Неолуддизм и прочий подсчет букв ё, это святое

Если честно, сам не ожидал такого результата — штука реально работает, хоть токенов жрёт изрядно.

Теги:
+5
Комментарии0

Два Claude Desktop на одном Mac в одну кнопку

Sergey Gordeychik

Обычно я пишу всякое сложное — про кибербез, кризис воспроизводства профессий и прочий АйАй-ужас. Сегодня коротко и практично: как удобно работать с двумя Claude на одном macOS — под разными аккаунтами, одновременно, чтобы личное и рабочее не смешивалось.

Проблема

Claude Desktop хранит сессию в одном фиксированном профиле (~/Library/Application Support/Claude). Второе окно — тот же аккаунт. Даже open -n не помогает: профиль общий. А держать личный и рабочий аккаунт хочется рядом, не разлогиниваясь по десять раз в день.

Идея

Оказывается, приложение умеет запускаться с другим профилем — но не через флаг командной строки, а через переменную окружения. В коде main-процесса (Electron) буквально:

if (process.env.CLAUDE_USER_DATA_DIR) {
  app.setPath("userData", process.env.CLAUDE_USER_DATA_DIR)
}

Значит, можно обернуть тот же самый подписанный бинарник в маленький .app-лаунчер, который выставляет CLAUDE_USER_DATA_DIR в отдельную папку. Никакой второй закачки и копии на 400 МБ — просто другой профиль. Блокировка «один экземпляр» у Claude привязана к профилю, поэтому два разных профиля — это два полноценных инстанса рядом.

Две засады

1. Ловушка Rosetta. Бинарник универсальный (x86_64 + arm64). При «наивном» запуске второй экземпляр стартовал под Rosetta как транслируемый x86_64 — и Chromium начинал жечь ядро под 100%, всё дико тормозило.

sample "Claude Work" 1 | grep 'Code Type'
# Code Type: X86-64 (translated)   ← вот она, беда

Лечится форсом arm64 в лаунчере (exec /usr/bin/arch -arm64 …) плюс LSArchitecturePriority/LSRequiresNativeExecution в Info.plist. После этого — Code Type: ARM64, CPU в норме.

2. Сессии Claude Code. Транскрипты лежат глобально в ~/.claude/projects и общие для всех. Но десктоп ведёт свой индекс сессий по каждому профилю и аккаунту (claude-code-sessions/<account>/<org>/…). Новый профиль этот индекс не видит — список пустой, хотя транскрипты на месте. Достаточно скопировать папку нужного аккаунта — и сессии возвращаются.

Как поставить

Я собрал это в маленький репозиторий claude-clone с деплоем в одну команду:

git clone https://github.com/<you>/claude-clone && cd claude-clone
chmod +x install.sh sync-sessions.sh
./install.sh -n "Claude Work" -b W --copy-settings --copy-sessions

Скрипт создаёт .app-обёртку, изолированный профиль и отдельную иконку (перекрашенный фон + буква-бейдж в углу), чтобы два Claude не путались в Доке. Флаг --copy-sessions подтянет существующие сессии Claude Code (а если их нет — просто начнёт с чистого листа). Дальше — запускаешь «Claude Work», логинишься вторым аккаунтом, и всё.

Что осознанно не копируется: токены логина, куки, локальное хранилище — весь смысл в другом аккаунте. Системный прокси, если он у вас есть, оба инстанса подхватывают сами (Chromium читает системные настройки).

Итог

Пять минут работы — и два независимых Claude живут рядом: личный и рабочий, каждый со своей историей, своей иконкой и нормальной нативной скоростью.

Репозиторий со скриптами: https://github.com/scadastrangelove/claude-clone

P.S. Это неофициальный трюк на основе поведения приложения (переменная окружения CLAUDE_USER_DATA_DIR) — в будущих версиях может измениться. На момент написания работает на Apple Silicon, Claude Desktop 1.17.x.

Теги:
Всего голосов 4: ↑4 и ↓0+6
Комментарии2

Awesome AI Security Tools

В ходе обсуждений автотриажа Nuclei и других средств анализа защищенности родилась идея собрать в кучу все интересное про AI Cybersecurity. Сказанно #ёПРСТ - сделано!

https://github.com/scadastrangelove/awesome-ai-security-tools

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

PS. Набор ключевых слов

  • Autotriage of Security Findings

  • AI Agent & Coding-Agent Security

  • Scanners & Auditors

  • Frameworks, Rule Standards & Benchmarks

  • Runtime Protection & Enforcement

  • AI/ML Supply Chain & Model Security

  • Pentest & Red-Team Agents

  • AI-Powered SAST & Secure Code Review

  • LLM-Driven Fuzzing

  • Harness / target generation

  • Fuzzing the LLM

  • Threat Intelligence

  • Log Analysis / SIEM / SOC Triage

  • Reverse Engineering

  • LLM Red-Teaming & Guardrails

  • Scanners, Evals & Guardrails

  • Prompt-Injection Classifier Models

  • LLM Honeypots & Deception

  • CTF / Exploit / Bug-Bounty Agents & Benchmarks

  • Cloud / IaC / DFIR / OSINT / Phishing

Теги:
Всего голосов 3: ↑2 и ↓1+3
Комментарии0

Cisco IOS/IOS XE CVE-2025-20352 — открытый SNMP ≠ «всё ок»

СКИПА фиксирует >30 000 устройств с SNMP v1/v2c в Рунете. Из них ≈1 700 выглядят потенциально уязвимыми к CVE-2025-20352.

Об уязвимости

CVE-2025-20352 — переполнение стека в подсистеме SNMP Cisco IOS/IOS XE. Нужны валидные SNMP-учётные данные:

  • при низких правах возможен DoS (перезагрузка);

  • на IOS XE при повышенных правах — RCE через специально сформированные SNMP-пакеты.

  • уязвимость 0-day, т.е. уже используется злоумышленниками.

Что это значит по данным СКИПА

  • Много устройств всё ещё отвечают по v1/v2c и/или на дефолтные сообщества public/private.

  • ≈1 700 — версии и платформы, требующие проверки в Cisco Software Checker; наличие фикса зависит от релизной ветки (train) и конкретной платформы.

Признаки в логах/метриках

  • Всплески SNMP auth failure, noSuchName, аномально частые запросы.

  • Падение sysUpTime, повторные перезагрузки, записи в crashinfo.

  • Нетипичные источники трафика UDP/161.

Рекомендации

  1. Ограничить SNMP по ACL/CoPP (только менеджмент-хосты).

  2. По возможности отключить v1/v2c, перейти на SNMPv3 (authPriv); сменить сообщества, если вынуждены оставить v1/2.

  3. Обновить IOS/IOS XE до исправленных билдов по результатам Cisco Software Checker.

  4. Мониторить sysDescr/sysUpTime и аномалии по UDP/161.

Быстрый самоаудит

Эксперты СайберОК опубликовали скрипт для экспресс-проверки.

О скрипте: быстрая и безопасная оценка экспозиции устройств Cisco IOS/IOS XE, связанная с CVE-2025-20352 (подсистема SNMP).

Сканируем подсети на SNMP через onesixtyone с дефолтными сообществами. Парсим баннеры sysDescr.0 Python-скриптом: помечаем Cisco IOS/IOS XE и проставляем статус Fixed (если в белом списке) или Potentially Vulnerable (проверить в Cisco Software Checker).

Проект не эксплуатирует уязвимость. Он лишь определяет устройства, отвечающие на дефолтные SNMP-сообщества, и извлекает версию из sysDescr.0.

Теги:
Всего голосов 7: ↑7 и ↓0+7
Комментарии2

Информация

В рейтинге
1 677-й
Зарегистрирован
Активность

Специализация

Технический директор, Пентестер
Ведущий
От 1 500 000 ₽