Blue (h/c)at Café
3.25K subscribers
403 photos
9 videos
4 files
147 links
Здесь живут истории о безопасности — искренние, местами хаотичные, с оттенком усталости и самоиронии, но всегда честные и технически точные. Юмор слегка непостижимый, а котики появляются по мере критической необходимости. Без них никак.
Download Telegram
😁212🤔2
Forwarded from Очерк
Котаны🌟

Немного обновили функционал на hackadvisor.io.

Избавились от сложной математики в рейтинге, теперь всё решает комьюнити. Просто оставляйте отзывы, и рейтинг формируется сам.

Комментарии публикуются сразу, можно писать сразу после регистрации.
Для овнеров программ обновили кабинет, теперь там видно все их программы и работать стало удобнее.

Появился лидерборд, но я там случайно оказался первым, потом исправлю, честно🫣

Покидайте комментов в программы, хороших или плохих. У меня как раз завалялся один лишний Flipper, отдам его тому, кто запилит топ адекватных отзывов. Остальные тоже не останутся без мерча от HackAdvisor ♥️✊🏻

Вообщем наверное стоит посмотреть самим https://hackadvisor.io/
Please open Telegram to view this post
VIEW IN TELEGRAM
8
😁212🤔1
Forwarded from HaHacking
✈️ #offense #mobile #события

Ваш бот принимает оплату звёздами? Этот пост – очередное напоминание вам и всем, почему нужно читать документацию и почему нужно вводить дополнительные проверки; Особенно когда дело касается денег! 💸

ℹ️ Ремарка о том, как работают платежи в Telegram ⬇️

🔗 core.telegram.org/bots/payments
🔗 core.telegram.org/bots/payments-stars


0️⃣ Пользователь запускает процесс оплаты
1️⃣ Telegram на клиентской стороне проверяет баланс пользователя:
▪️не хватает – говорит пополнить
▪️достаточно* – шлёт боту статус pre_checkout_query
2️⃣ Бот обязан ответить на pre_checkout_query в течение 10 секунд, если он готов предоставить товар / услугу, иначе – отмена
3️⃣ Производится оплата
4️⃣ Telegram шлёт боту чек со статусом successful_payment


*Что такое достаточно? Это либо "хватает звёзд", либо "платит картой" (но на этом этапе неизвестно, есть ли деньги на карте)


Есть такой неофициальный Telegram клиент – exteraGram – и он предоставляет пользователям возможность дополнять свою функциональность кастомными плагинами, написанными на Python;

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


💻 Небольшая выдержка из исходного кода одного из таких плагинов:
...
from org.telegram.tgnet.tl import TL_stars
...
StarsController = find_class("org.telegram.ui.Stars.StarsController").getClass()
...
class Plugin(BasePlugin):
DEFAULT_BALANCE = 999999
SETTINGS_INFINITE = "infinite_mode"
...
def _handle_payment(self, response, error):
...
# Create fake success response
TL_payments_paymentResult = find_class("org.telegram.tgnet.TLRPC$TL_payments_paymentResult")
TL_updates = find_class("org.telegram.tgnet.TLRPC$TL_updates")
...
return HookResult(strategy=HookStrategy.MODIFY_FINAL, response=fake_result)
...
...
class _GetBalanceHook(MethodReplacement):
...
def replace_hooked_method(self, param):
...
# Return fake balance
return self._create_stars_amount(self.plugin.balance)

def _create_stars_amount(amount):
# Create StarsAmount object
try:
return TL_stars.StarsAmount.ofStars(int(amount))
...
...


Естественно, нарисованные звёзды не могут быть использованы для успешной оплаты товаров и услуг. Они нужны, чтобы хвастаться перед друзьями, если им не всё равно😊


➡️Но, как это часто бывает, оказалось, что некоторые боты (даже с десятками тысяч пользователей) не ждут статус successful_payment, а отдают товар / услугу уже на этапе pre_checkout_query, несмотря на официальную документацию. Ну а просто действительно, чего мы ждём, если оплата только в звёздах, да и звёзды уже лежат на столе?

Те, кто подсуетились – зачистили магазины и накупили подписок, набрали себе аккаунтов, авторегов и всего подряд на миллионы (!) звёзд, а учитывая, что многие услуги подразумевают также денежные затраты со стороны продавца (например, те же API вызовы к LLM) – на много чужих денег; Благо разработчики ботов тоже подсуетились и многих перебанили.


➡️В конечном итоге эти плагины стали публиковать, чтобы в стресс-формате обратить внимание разработчиков на дыры в их творениях, если кто не докрутил проверки ⚡️


   @HaHacking  🐇
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥83
💎 LLM против уязвимостей, я против шизы

Лирическое отступление:

С праздником всех причастных!



ПРОПАГАНДА LLM 🍌

В классическом AppSec всё просто. у тебя есть код, правила и детектор, который считает совпадения.

Но как только появляется LLM, эта парадигма рушится.

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

SAST размечает текст, LLM проверяет гипотезу. Разные задачи, разные единицы измерения, кто бы мог подумать (ну вы поняли коламбур - "LLM - подумать"... не смешно? Вот и мне чет не смешно 😵‍💫)

Понятно, что можно просто вогнать репозиторий в агент и попросить его найти баги, он найдет... но не все 👀


🥳 Что реально делает LLM - пишет рецепт мяса с маслом

1️⃣ Контекст уровня репозитория, не файла.

LLM не ограничивается функцией - он восстанавливает цепочку input -> обёртки -> санитайзеры -> sink -> 🗿

То, что статанализ режет границами файла, модель собирает через вызовы, импорт, конфиги и тесты. Именно поэтому простые бенчмарки больше ничего не показывают - реальная сила LLM раскрывается в межпроцедурном анализе, где нужны связи между коммитами и файлами.

2️⃣ Нейро-символический подход.

На практике работает гибридно:
🔵 LLM формирует предположения о потоках данных
🔵 статанализ подтверждает путь
🔵 автотест или PoC доказывает эксплуатируемость

Такой конвейер (по типу IRIS) позволяет вылавливать то, что статике недоступно - уязвимости, скрытые на стыках модулей.

3️⃣ Агентный анализ.

Модель с ReAct-петлёй делает то, что SAST не умеет: строит гипотезу и проверяет её тестом (взял отсюда - ТЫК).

Если тест падает до фикса и проходит после - это не FP, это факт. Без такой верификации всё остальное - просто красивая эвристика.


Почему метрики SAST больше не работают

🔵 У SAST - “сработало правило”. У LLM - "построена и подтверждена гипотеза". Это не предупреждение, а артефакт с доказательством - тест, PoC или патч - ТЫК

🔵 SAST живёт на уровне функции, LLM работает на уровне репозитория и цепочек данных. Метрики “на файле” теряют смысл, если дефект живёт на границе микросервиса

🔵 Золотые наборы устаревают. LLM сталкивается с живыми багами и часто находит те, что отсутствуют в датасете

🔵 В безопасности важнее минимизировать FN, чем "косметически улучшать precision", как дизайнерский ремонт в халупе с тараканами. FP можно фильтровать, а вот пропущенные RCE - нет

🔵 Рост вайб-кодеров пораждает говно код, который в парадигме хуже, чем у мидла


🔍 Exploit-Backed Evaluation (EBE)

Вместо "сработало правило"
➡️
"доказано исполнением"


EBE оценивает не совпадение, а факт, что дефект можно подтвердить и безопасно устранить.

Ключевые метрики:
- EVP (Exploit-Validated Precision) - доля находок с воспроизводимым тестом или PoC
- AVR (Attack-surface Validated Recall) - доля найденных и подтверждённых уязвимостей из тестируемого набора
- PVR (Patch Verification Rate) - тесты падают до фикса, проходят после
- EBC (Evidence Bundle Completeness) - полнота доказательной цепочки
- TCI (Triage Cost Index) - сколько шагов нужно, чтобы воспроизвести баг


Ограничения

🟣 EBE требует инфраструктуры
🟣 Ценник 💲
🟣 Не всё можно автоматизировать (особенно сложные инпуты и API)
🟣 Но PoC-подтверждение сокращает стоимость триажа на порядок - ложных алертов почти не остаётся


📕 Итог

LLM не заменяет SAST - он поднимает уровень анализа

Попробовать - ТЫК

Exploit-Backed Evaluation превращает уязвимость из абстрактного предупреждения в проверенный факт. И если у вас всё ещё измеряют качество “количеством алертов”, - значит, вы всё ещё живёте в мире статических правил, а не исполняемых доказательств.
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥3🤔1
Для важных задач
😁20🤔2
🔥9😁7🤔5
😁21
18😁5
Forwarded from ZeroNights
Мерч ZeroNights — уже на сайте!

Посмотреть можно в нашей карусели или на странице сайта. А купить — в день конференции в Маркете 💸

До конференции 🟩 всего 2 дня🟩
Приобрести билеты онлайн ➡️ тут
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7
Разговоры о важном

Всем привет, я опять ненадолго пропал с постами и ресерчами. На это было достаточно много причин: и понимание, что делаю что-то бесполезное, и объём работы, и синдром самозванца (да, такое тоже бывает), и LLM уже всех конкретно заебал, хотя он действительно может упростить жизнь. Ну ладно, можно перестать ныть, ведь у меня сегодня мини-праздник - День Рождения🥳

Тут бы стоило поделиться ресерчами или чем-то интересным, но мне прям грустно вести канал, который нужен, кажется, только второму админу (где мемы, Лебовски?!)

Я хочу показать вам мою частичку души и отдушину от работы. То, что помогает мне сосредоточиться, отвлечься или просто хорошо провести время. Музыка. Да, именно музыка следует за мной всю мою сознательную жизнь и всегда сопровождает меня в любых ситуациях (возможно, не во всех, но вы меня поняли) И вот, давно было интернет-радио 44.wave, которое дарило мне эмоции, но по стечению обстоятельств было закрыто...

Поэтому я немного отойду от формата и представлю свой мааааленький пет-проект - интернет-радио. Да, радио, где нельзя переключать песни, которые не нравятся, где нет рекомендательных технологий и прочего ИИ-шлака (кроме UI, каюсь, навайбкодил херню, но это было моей мечтой, и вы не в праве судить меня!). Я придерживаюсь концепции, что практически каждая песня достойна внимания, какой херовой она бы ни была для большинства. Если бы не подобный подход, мы, может, никогда не услышали бы Tardigrade Inferno, Lead Horizon, Lida и подобные группы.


Ссылка на частичку моей души — ТЫК


Прочитать о проекте и стать частью — ТЫК


Да, в нём будут баги, проблемы, перезапуски, но я старался, наверно, как никогда за свои годики.


Проблемы, о которых я знаю:

🔵 Переключение качества вызывает проблемы (из-за особенностей Icecast и фронта)

🔵 FLAC не воспроизводится на мобильных с iOS (проблема с айфонами; узнаю, как решить проблему - решу)

🔵 FLAC урезается HTML5, так что пока только часть песен в данном формате

🔵 Долгая загрузка потока (китайские боты и отсутствие распределенных CDN вызывают проблемки)

🔵Некоторые песни не попадают в тематику плейлистов и время относительно (бывают задержки 2-6 минут перед переходом в некст тематику)


Мне правда приятно, что есть 300–400 человек, которые читают мои посты. Пожалуйста, пришлите в комментариях вашу любимую или самую запоминающуюся песню, или ту, которая вызывает больше всего эмоций - соберу для вас отдельный плейлист

В заключение хочется сказать вам спасибо, что читаете и поддерживаете ❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
3628🔥7🤔1