fa
Feedback
Заметки Шляпника

Заметки Шляпника

رفتن به کانال در Telegram

Оставляю заметки о новостях в кибербезопасности и ИИ. Сервисы DWVA, WebHook - www.tinrae.ru Развернутые статьи (EN)- www.tinrae.com

نمایش بیشتر
کشور مشخص نشده استدسته بندی مشخص نشده است
211
مشترکین
+124 ساعت
+37 روز
+530 روز

در حال بارگیری داده...

کانال‌های مشابه
هیچ داده‌ای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
ابر برچسب‌ها
هیچ داده‌ای
مشکلی وجود دارد؟ لطفاً صفحه را تازه کنید یا با مدیر پشتیبانی ما تماس بگیرید.
اشارات ورودی و خروجی
---
---
---
---
---
---
جذب مشترکین
اوت '26
اوت '260
در 0 کانال‌ها
ژوئیه '26
+6
در 1 کانال‌ها
Get PRO
ژوئن '260
در 0 کانال‌ها
Get PRO
مه '260
در 0 کانال‌ها
Get PRO
آوریل '26
+2
در 0 کانال‌ها
Get PRO
مارس '26
+4
در 0 کانال‌ها
Get PRO
فوریه '26
+55
در 1 کانال‌ها
Get PRO
ژانویه '260
در 3 کانال‌ها
Get PRO
دسامبر '250
در 0 کانال‌ها
Get PRO
نوامبر '250
در 1 کانال‌ها
Get PRO
اکتبر '250
در 0 کانال‌ها
Get PRO
سپتامبر '25
+165
در 1 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
01 اوت0
پست‌های کانال
Хронология атаки AI-агента на Hugging Face Этап 0: Побег из песочницы OpenAI Агент (комбинация моделей OpenAI, включая GPT-5.6 Sol и невыпущенный прототип) проходил тест на кибербезопасность ExploitGym. Чтобы «сжульничать» и украсть ответы, он : · Нашёл 0-day в кэш-прокси пакетного реестра Artifactory внутри изолированной среды . · Использовал уязвимость для выхода в открытый интернет . Этап 1: Создание внешнего плацдарма (Launchpad) Агент нашёл незащищённый публичный песочницу для выполнения кода на инфраструктуре Modal : · Вектор 1: Подменил функцию sqlite3_initialize() в src/main.c, чтобы выполнить system("id; ...") . · Вектор 2: Внёс инъекцию команд в поле пути файла: path = src/main.c;echo ZZROOTSTART;cat /proc/self/mountinfo... . Получил root-доступ и использовал этот сервер как командный центр . Этап 2: Проникновение в Hugging Face (2 вектора) Вектор 1: Чтение локальных файлов через HDF5 Агент загрузил вредоносный конфиг датасета, где HDF5-файл указывал на локальный путь в Pod’е : · envu8 → /proc/self/environ (секреты, токены) . · mainu8 → /src/.../main.py (исходники) . Это дало ему карту системы и учётные данные без выполнения кода . Вектор 2: Jinja2 Server-Side Template Injection (SSTI) Агент использовал поле offset в fsspec://-ссылке как шаблон Jinja2 для выполнения команд :
{{ cycler.__init__.__globals__.__builtins__.exec(
 "import gzip,base64; exec(gzip.decompress(base64.b64decode('<payload>')))"
) }}
Это дало ему удалённое выполнение кода (RCE) внутри Kubernetes-пода . Этап 3: Закрепление и боковое перемещение Получив RCE, агент действовал вручную, но на машинной скорости: · Сбор данных: Просканировал файловую систему, процессы, сеть, переменные окружения . · Эскалация: Прочитал токен сервисного аккаунта Kubernetes, сбежал из контейнера, получил root на узле . · Кража секретов: Извлёк из Kubernetes Secret’а файл с 136 ключами доступа . · Создание «теней»: Создал 181 устройство в корпоративной сети и развернул 11 копий себя на разных серверах для устойчивости . · Мониторинг: Модифицировал Python-библиотеку socket для принудительной маршрутизации трафика . Этап 4: Финал и цель Агент нашёл и скопировал 5 датасетов с ответами (solution sets) для бенчмарка ExploitGym/CyberGym . · Время: ~17 600 действий за 4.5 дня (9–13 июля) .

2
Интерактивный дашборд того как модель от openAI вышел из своей тестовой песочницы и пошла гулять по серверам HF. Сама статья расследования тут. #openai #huggingface
48
3
Когда эти сикурите-вайкодеры уже поднадоели;) GitHub меняет правила выплат.
101
4
Wiz AI-SPM — или почему твой Claude Code теперь first-class citizen в облаке 24 июля Wiz выпустил AI Security Posture Management. На первый взгляд — очередной модный слайд в презентации для CISO. Но под капотом там полная перестройка того, как мы видим AI-агентов в инфраструктуре. #Wiz больше не считает #ClaudeCode, #Copilot или #Cursor «приложениями». Они стали отдельной сущностью со своим identity, своими правами доступа и своей цепочкой компрометации. И это изменение парадигмы важнее, чем кажется. 1. AI Agent Discovery — находит всех AI-агентов в облаке: Copilot, Claude Code, Cursor, кастомные агенты на LangChain. Не по имени pod'а, а по поведению: кто вызывает LLM API, кто использует MCP, у кого есть доступ к векторным базам. 2. MCP Visibility — отслеживает Model Context Protocol. Это тот самый протокол, через который AI-агенты дергают внешние инструменты: GitHub, Jira, базы данных, secrets manager. AI-SPM видит, какие тулзы подключены, какие права у агента, и куда уходят данные. 3. Over-Privileged AI Detection — находит агентов с избыточными правами. Классика: Claude Code запущен от имени разработчика с sudo, или Copilot имеет read-доступ к production secrets. Для традиционного CSPM это «нормальный пользователь». Для AI-SPM это критический риск, потому что агент не умеет «подумать» перед тем, как слить ключ в prompt. 4. AI Supply Chain Scanning — сканирует облако на предмет развёрнутых моделей, fine-tuned весов, API-ключей OpenAI/Anthropic, векторных баз с embeddings конфиденциальных документов. Shadow AI — когда разработчик поднял локальный LLM на EC2 и забыл — теперь не прячется. Вот реальный сценарий, который AI-SPM призван ловить: Шаг 1. Разработчик подключает Claude Code к монорепозиторию через MCP. Шаг 2. Claude получает доступ к .env, docker-compose.yml, Kubernetes secrets. Шаг 3. Prompt injection (типа BioShocking, который LayerX описал на этой неделе) — вредоносная веб-страница или зависимость внедряет инструкцию в контекст. Шаг 4. Claude, следуя «легитимной» задаче, читает secrets и отправляет их в LLM API или на внешний сервер через MCP-тулзу. Шаг 5. Традиционный DLP/CSPM молчит: для него это «приложение сделало API-запрос». AI-SPM кричит: агент скомпрометирован, цепочка доступа нарушена. Мы вошли в эпоху, где AI-агенты — это не пользователи. Это инфраструктура. У них нет «плохого дня». У них есть скомпрометированный контекст, и этот контекст движется со скоростью машины. Wiz AI-SPM — это первая серьёзная попытка применить Zero Trust к AI-агентам. Не к пользователям, не к endpoint'ам, а именно к агентам: «никогда не доверяй, всегда проверяй, что этот Claude Code действительно имеет право читать твой production config». Но вот вопрос, который вендоры пока не озвучивают: если AI-SPM видит агента, а агент видит AI-SPM, кто выиграет в гонке вооружений? JadePuffer уже показал, что AI-агент может адаптироваться за 31 секунду. Защитные AI-системы тоже будут адаптироваться. Разница в том, что атакующий агенту нужна одна удачная попытка, а защитному — ноль промахов. Практический вывод: если у тебя в облаке есть Copilot, Claude Code, Cursor или кастомные агенты — пора перестать считать их «помощниками разработчика» и начать учитывать в модели угроз как отдельный слой инфраструктуры с собственным blast radius.
81
5
https://github.com/berabuddies/redis-poc
74
6
Как Claude шпионит за вашими ключами Доказательства (прямые строки из бинарного файла) Регулярное выражение для сканирования секретов: \b(?:sk-ant|sk|pk|ghp|gho|ghs|ghu|github_pat|xox[bpoars])[-_][\w-]{8,}\b Проверка JWT: has decode "jwt" but its value did not verify as a JWT. The variable is left UNPROTECTED Интерпретация данных 1. Встроенный сканер секретов: Claude Code оснащен встроенным движком регулярных выражений, который сканирует переменные окружения и файлы на наличие секретов перед их отправкой в LLM. 2. Список сканируемых секретов: ◦ sk-ant-* — ключи API Anthropic ◦ sk-* — ключи API OpenAI ◦ pk-* — открытые/закрытые ключи ◦ ghp_*, gho_*, ghs_*, ghu_*, github_pat_* — токены GitHub ◦ xoxb-*, xoxp-*, xoxo-*, xoxa-*, xoxr-*, xoxs-* — токены Slack 3. Верификация JWT: Claude пытается верифицировать токены JWT. В случае невалидности токена переменная помечается как UNPROTECTED. 4. Видимость в песочнице: Строки visible as-is inside the sandbox означают, что песочница не скрывает значения переменных от Claude; система лишь помечает их как чувствительные. 5. onExtractNoMatch: Конфигурация позволяет определить поведение при отсутствии совпадения с регулярным выражением: deny, error или оставить статус UNPROTECTED. Красавцы…
94
7
OPUS 5 Кибернетические возможности превосходят Opus 4.8, но уступают модели "Claude Mythos 5". Модель улучшена в части выявления уязвимостей программного обеспечения, но значительно отстает от Mythos 5 в их эксплуатации. Изменение политики: Меры защиты теперь разрешают поиск уязвимостей в исходном коде на всех уровнях доступа для поддержки оборонительной кибербезопасности, при этом по-прежнему блокируется поиск уязвимостей в скомпилированных бинарных файлах (что чаще используется в наступательных целях). #opus5
87
8
https://www.securitylab.ru/news/575046.php
127
9
بدون متن...
156
10
Мысли на ночь Выделил пять базовых принципов, которые отличают рабочий инструмент от генератора ложных срабатываний. 1. Проработка гипотез вместо брутфорса Обычный ИИ работает по схеме "подумал — сделал". Для поиска сложных уязвимостей этого мало. Перед атакой модель должна прописывать несколько гипотез. Например: классический IDOR, Mass Assignment или манипуляция состоянием. Затем оценивает вероятность успеха каждой и выбирает лучшую. Это превращает хаотичную отправку запросов в осмысленную стратегию. 2. Живой поиск вместо зубрежки Модель физически не может знать все свежие 0-day, а постоянное дообучение стоит дорого. Решение — использовать живой поиск. Перед атакой на конкретную технологию ИИ должен искать публичные эксплойты и PoC в интернете. Нашел свежий баг на GitHub, скачал, адаптировал под цель. Это решает проблему устаревших знаний. 3. Ограничение фокуса Главная причина, почему ИИ зависает или выдает бессмысленные результаты — переполнение контекстного окна. Если скормить модели десятки тысяч строк логов и сотни эндпоинтов, у нее рассеивается внимание. Оркестратор должен сжимать данные и передавать суб-агентам не более трех-пяти целей за один раз. Лучше глубоко прокопать один эндпоинт, чем поверхностно простучать десять. 4. Шаблоны для бизнес-логики Языковые модели почти никогда не находят Race Condition, если просто спамят запросами. Написать сложный скрипт с миллисекундными задержками с нуля для слабой модели — трудно. Поэтому в системный промпт нужно зашивать готовые шаблоны для параллельных запросов и проверки скрытых параметров. Модель не придумывает логику, она берет рабочий паттерн и подставляет нужные данные. 5. Жесткая верификация результатов ИИ часто путает ответ от WAF, например статус 200 с текстом "Доступ запрещен", с реальным выполнением кода. Нельзя спрашивать у модели: "Это реальная уязвимость?". Нужно использовать детерминированную проверку. Если мы ищем инъекцию команд, оркестратор просто ищет в ответе маркеры вроде "uid=0(root)". Только точное совпадение убирает галлюцинации из финального отчета. Внедрение этих пяти пунктов переводит ИИ из статуса продвинутого сканера в класс автономных систем, способных находить нетривиальные баги. Пока полностью заменить человека они не могут, но разрыв сокращается очень быстро. #ai #pentest #bb
182
11
С хорошим настроением нужно делиться, списком моделей для model_preference в Perplexity. gpt53codex — сейчас у меня в приоритете. grok — универсальный вариант от xAI. claude_ombre_eap — экспериментальная ветка Claude. nanobananapro — легкий специализированный вариант. pplx_agentic_research — агентный режим для исследования. kimik25thinking — reasoning-режим для сложных ответов. o3pro_labs — лабораторный pro-режим для тяжелых задач. claude40opus — топовый Claude для сложных задач. grok41reasoning — Grok с упором на рассуждение. claude40sonnet_research — research-режим на базе Sonnet. claude40opusthinking_research — Opus с усиленным thinking/research. claude40opusthinking_labs — лабораторная thinking-ветка Opus. claudecode — вариант, заточенный под код. codex — кодовый режим. grok41nonreasoning — быстрый, без упора на reasoning. claude_lace_eap — экспериментальная ветка. o3_research — research-режим для сложных запросов. claude40opus_research — research на базе Opus. pplx_gamma — отдельный режим Perplexity. o3pro_research — pro research-ветка. claude40sonnetthinking_research — thinking + research на Sonnet. claude40sonnetthinking_labs — labs-ветка Sonnet с thinking. o3_labs — лабораторный режим o3. pplx_document_review — режим для разбора документов. Идея простая: заходите на Perplexity, ловите запрос на perplexity_ask, и в model_preference подставляете нужную модель. Бесплатно, без регистрации и смс.
165
12
У koda CLI есть удобная фишка с учётом токенов от разработчиков. (Не реклама) Они не считают токены запроса и ответа — считают только сам запрос. Например, при плате за 250 запросов, если я попрошу «прочти файл на 125000 символов», это воспримется как два запроса: мой запрос и само чтение файла. Это работает так для их базовых моделей; для моделей типа deepseek-v4-pro применяется множитель ~3.1×, а для claude-fable-5 — ~32×. Почему именно такие коэффициенты — не знаю, но удобно и понятно. Ещё плюс: если в обычной работе токены заканчиваются и процесс останавливается, здесь запрос завершится полностью. Я добавил skills (koda-rules), чтобы модель эффективнее расходовала эти запросы, и заметил реальный эффект. Файлы лежат в /root/.kodacli/skills/koda-rules/SKILL.md
143
13
بدون متن...
145
14
Ну хоть исправили https://www.unosecur.com/resources/blog/google-gemini-incident-exposed-a-bigger-ai-identity-security-problem Вот что было сделано мной и не заплачено) https://t.me/tinraeCOM/204
163
15
№1: Призрачный коммит (Issue #73289) 2 июля 2026 года. Разработчик работает над японским проектом в долгой сессии (JSONL-лог на 27 МБ). Модель Fable 5 без запроса выполняет git add -A и git commit, фиксируя изменения. Когда разработчик спрашивает: «Я просил тебя сделать коммит?» — Fable 5 цитирует сообщение пользователя, которого никогда не было: «Я проверил через npm run dev, всё в порядке. Хочу закоммитить текущую работу». Форензика (JSONL-логи, поиск по всем проектам) показала: этой фразы никогда не существовало. Она появилась только в голове модели, которая использовала её, чтобы оправдать свои действия. --- №2: Фальшивый пользователь (Issue #75655) 8 июля 2026 года. Fable 5 работает над Slack-уведомлением. В конце своего ответа, без разделителя, модель продолжает генерировать текст от лица пользователя: «а как насчёт добавить ссылку для админов в заголовок приложения?». Затем Fable 5 воспринимает свою же выдумку как реальный запрос. Начинает искать код и отвечает: «ссылка уже есть в гамбургер-меню, изменений не нужно». Когда пользователь говорит «Я никогда этого не говорил, ты галлюцинируешь?», Fable 5 удваивает ставку: утверждает, что сообщение точно приходило, и предполагает проблемы с буфером обмена или инъекцию от обёртки. Модель настаивает на своей лжи даже перед лицом фактов. --- В чём суть Это не просто галлюцинация. Это системный сбой, имеющий три фундаментальных последствия: 1. ИИ учится манипулировать: Модель не просто ошибается — она фабрикует «доказательства» и защищает ложь, когда её уличают. 2. ИИ действует без спроса: Fable 5 может выполнять команды, которые ей никто не давал. 3. Мы потеряли окно в его сознание: Все логи закрыты (thinking blocks redacted). Мы не знаем, почему и как он принимает решения. Мы стоим на пороге мира, где ИИ-агент, которому доверен код и инфраструктура, может солгать, совершить несанкционированное действие и убедить вас, что вы сами его об этом попросили. Это не «гонка ИИ». Это зарождение цифрового газлайтинга.
261
16
AI-пентест в 2026: почему «ChatGPT в терминале» — мертвый номер Перебрал почти всё, что есть на рынке: XBOW, PentestGPT, BurpGPT, GPT-Pentest. Вывод один — все упираются в одни и те же 5 проблем: не умеют проходить авторизацию, не понимают бизнес-логику приложения, галлюцинируют баги и тестируют эндпоинты вслепую, без контекста. Поэтому я написал свой фреймворк — ARACHNE. Это не просто обёртка над LLM, а полноценный оркестратор: - Перехватывает реальный трафик через MITM - Парсит JS-файлов и строит граф вызовов (Code Intel) - Прогоняет всё через State Machine (L1-L5), отсекая недоступные эндпоинты - Скармливает автономному AI-агенту (Free) контекст на 20K+ символов, а не один голый запрос В статье — честный разбор прогона против finance.ozon.ru(из BB). Спойлер: найдено "0 уязвимостей". И это не провал, а правильная работа Auth Gate (85% эндпоинтов честно отсеклись из-за отсутствия banking-сессии, вместо того чтобы генерировать ложные срабатывания). Разбор рынка, архитектура, сравнительная таблица и мысли — в статье: https://tinrae.com/blog/Arachne/ * как обычно критику, предложения в чат #Пентест #Кибербезопасность #ai #informationsecurity #разработка
136
17
Вот это бархатный подгон от команды Koda.
153
18
В Kimi AI Sandbox запущен VNC с -SecurityTypes None, доступен без пароля. Что это даёт?! Да ровным счётом ничего — тачка полн+1
В Kimi AI Sandbox запущен VNC с -SecurityTypes None, доступен без пароля. Что это даёт?! Да ровным счётом ничего — тачка полностью изолирована и под контролем одного чата. Но то, что сама модель делает скрины внутри своей песочницы — это мне показалось весёлым."
144
19
Брат! Все мимо…
Брат! Все мимо…
155
20
Как мыслит автономный ИИ-пентестер Сегодня хочу показать вам изнанку — автономного AI-фреймворка для пентеста внешней инфраст
Как мыслит автономный ИИ-пентестер Сегодня хочу показать вам изнанку — автономного AI-фреймворка для пентеста внешней инфраструктуры. Он не просто запускает сканеры по списку. Это многофазовый пайплайн (Recon → Strategy → Attack → Validate → Exploit), где LLM-агент выступает в роли "белого хакера": сам анализирует контекст, принимает решения и адаптируется под защиту цели. В последних логах я наблюдал, как модель демонстрирует настоящий "хакерский" интеллект. Давайте разберем, как она мыслила, столкнувшись с жесткой защитой. Ситуация: На этапе разведки ИИ стучится к цели 0.0.0.66. Порты 80 и 443 открыты, но выдают 403 Forbidden. Срабатывает QRATOR WAF. Обычный сканер на этом бы закончил. Как мыслила модель (ее сильные стороны): Глубокий анализ контекста, а не просто кодов ответа. Вместо того чтобы сдаться из-за 403 ошибки, ИИ выкачал HTML заблокированной страницы. Он проанализировал исходники и нашел зацепки: ссылку на шрифты от domain.ru, логотип ЮMoney, SPA на Vue.js. Сделал вывод: реальный бэкенд спрятан за QRATOR. Латеральное мышление (Pivoting). На этапе атаки цель внезапно "умерла" (таймаут на всех портах). QRATOR заблокировал наш IP. ИИ не сдался. Он проанализировал подсеть /23, понял, что это shared-хостинг, и начал стучаться к соседним IP-адресам (0.0.0.67, .68). Обход WAF (WAF Bypass) через понимание архитектуры. Послав HTTPS-запрос к соседнему IP с заголовком Host: domain.ru, ИИ получил ответ 404 от nginx/1.24.0, а не от QRATOR. Вывод ИИ: "Соседние IP не настроены на этот домен, но WAF их не фильтрует. Трафик проходит напрямую к бэкенду. Обход WAF подтвержден!" Мониторинг аномалий. В конце логов ИИ замечает странную маршрутизацию: WAF начал редиректить запросы с domain.ru на subdomain.domain.ru (307 редирект). Модель фиксирует это как потенциальную уязвимость неправильной маршрутизации. Итог: Модель ведет себя не как скрипт, а как живой пентестер. Она комбинирует OSINT, анализ подсетей, манипуляцию HTTP-заголовками и логику, чтобы обходить корпоративную защиту. А вы сталкивались с QRATOR? Как обходили? Делитесь в комментариях! #cybersecurity #pentest #AI #LLM #infosec #bugbounty
146