Тут Даниэль Стенберг (автор cURL) сгорел от дурачков, которые посылают ему отчёты об "уязвимостях" полученные при помощи ИИ
https://www.linkedin.com/posts/danielstenberg_hackerone-curl-activity-7324820893862363136-glb1
И я его понимаю, потому что наблюдал за этими отчётами в реальном времени, так сказатб.
Просто оцените, какое говно ему шлют
- В этом "отчёте" указаны несуществующие функции для патча
Penetration Testing Report: HTTP/3 Stream Dependency Cycle Exploit
https://hackerone.com/reports/3125832
- Какой-то "исследователь" прислал отчёт что используется в libcurl симметричный DES, а это типа плохо. То что DES нужен для NTLM это автора не интересует. Даниэль там прямо не говорит про использование AI, но я лично уверен, что этот "отчёт" получен с помощью ИИ
Use of a Broken or Risky Cryptographic Algorithm (CWE-327) in libcurl
https://hackerone.com/reports/3116935
- Какая-то шляпа, которая неприменима в реальности. Автор записал видео, которое непонятно что демонстрирует
Double Free Vulnerability in
https://hackerone.com/reports/3117697
That's it. I've had it. I'm putting my foot down on this craziness.
1. Every reporter submitting security reports on #Hackerone for #curl now needs to answer this question:
"Did you use an AI to find the problem or generate this submission?"
(and if they do select it, they can expect a stream of proof of actual intelligence follow-up questions)
2. We now ban every reporter INSTANTLY who submits reports we deem AI slop. A threshold has been reached. We are effectively being DDoSed. If we could, we would charge them for this waste of our time.
We still have not seen a single valid security report done with AI help.
https://www.linkedin.com/posts/danielstenberg_hackerone-curl-activity-7324820893862363136-glb1
И я его понимаю, потому что наблюдал за этими отчётами в реальном времени, так сказатб.
Просто оцените, какое говно ему шлют
- В этом "отчёте" указаны несуществующие функции для патча
Penetration Testing Report: HTTP/3 Stream Dependency Cycle Exploit
https://hackerone.com/reports/3125832
- Какой-то "исследователь" прислал отчёт что используется в libcurl симметричный DES, а это типа плохо. То что DES нужен для NTLM это автора не интересует. Даниэль там прямо не говорит про использование AI, но я лично уверен, что этот "отчёт" получен с помощью ИИ
Use of a Broken or Risky Cryptographic Algorithm (CWE-327) in libcurl
https://hackerone.com/reports/3116935
- Какая-то шляпа, которая неприменима в реальности. Автор записал видео, которое непонятно что демонстрирует
Double Free Vulnerability in
libcurl Cookie Management (cookie.c)https://hackerone.com/reports/3117697
😁39👏5😱3😭3🖕2🔥1
В РФ сейчас достаточно популярна тема со SBOM и вообще контролем зависимостей, потому что много каких зависимостей из open source оказывали и могут оказать деструктивное влияние так сказатб 🌝
Но тут случилось ВНЕЗАПНОЕ1!11!. Hunted Labs озаботились зависимостями, которые тянутся в проекты и обнаружили российский след (полный PDF-отчёт скину в комменты). Более того, как они пишут, отказаться от этой зависимости сложно. Речь о easyjson (https://github.com/mailru/easyjson)
The Russian Open Source Project That We Can’t Live Without
https://huntedlabs.com/the-russian-open-source-project-that-we-cant-live-without/
По ссылке подробно расписано как и зачем они занимались исследованием зависимостей и к чему пришли
Мне понравилась заключительная фраза в статье
> Oh, and we haven’t even talked about China…yet.
Сколько же их ещё открытий ждёт 🌝
Но тут случилось ВНЕЗАПНОЕ1!11!. Hunted Labs озаботились зависимостями, которые тянутся в проекты и обнаружили российский след (полный PDF-отчёт скину в комменты). Более того, как они пишут, отказаться от этой зависимости сложно. Речь о easyjson (https://github.com/mailru/easyjson)
What is easyjson?
Easyjson is a Go package designed to optimize JSON serialization and deserialization processes by generating Go code for JSON encoding and decoding. Widely adopted across cloud-native ecosystems, it is a critical dependency for numerous open source and enterprise projects. This includes high-performance JSON handling in distributed systems, real-time data serialization for financial and analytics platforms, and optimization of cloud-native applications.
Who maintains easyjson?
A group of developers from VK, an entity with leadership that is under active U.S. and E.U. sanctions and has connections to Russian security services.
Who is impacted?
Cornerstones of the modern software supply chain and cloud-native tools have dependencies on easyjson, and all applications that pull in these dependencies could potentially be impacted, including, but not limited to:
- Helm
- Istio
- Kubernetes
How could this be weaponized or exploited?
Russia doesn’t need to attack directly. By influencing state-sponsored hackers to embed a seemingly innocuous OSS project deep in the American tech stack, they can wait, watch, and pull strings when it counts.
The Russian Open Source Project That We Can’t Live Without
https://huntedlabs.com/the-russian-open-source-project-that-we-cant-live-without/
По ссылке подробно расписано как и зачем они занимались исследованием зависимостей и к чему пришли
Hunted Labs has provided exhaustive evidence regarding this advisory to the U.S. government and relevant stakeholders. So, what’s next?
The widespread use of easyjson makes finding a solution challenging. However, we cannot continue to blindly rely on this package due to the state of the current threats to our increasingly fragile software supply chain.
Мне понравилась заключительная фраза в статье
> Oh, and we haven’t even talked about China…yet.
Сколько же их ещё открытий ждёт 🌝
😁87💊22👍4💯4🌭2🐳1🖕1
Технологический Болт Генона
Дата почтенная, так что всех причастных с праздником! Сегодня отмечается Всемирный День Радиолюбителя - World Amateur Radio Day, WARD. 18 апреля 1925 года в Париже был основан Международный союз радиолюбителей (англ. International Amateur Radio Union, IARU)
Александр Попов во время демонстрации прибора Российскому физико-химическому обществуДата хорошая, 130 лет всё же.
7 мая 1895 года в Петербурге Александр Попов представил изобретение, ставшее прототипом радио.
С праздником всех причастных!
73
🔥51❤13👍6👎1🥴1
В марте команда NodeJS получила репорт на h1, который был связан с их CI
(Update 23-April-2025) Node.js Test CI Security Incident – Full Disclosure
https://nodejs.org/en/blog/vulnerability/march-2025-ci-incident
В блоге у NodeJS достаточно сухо расписано что да как, но в блоге у Praetorian рассказ более подробный с описаниями и скриншотами. В общем рекомендую почитать тем кто интересуется как оно бывает
Agent of Chaos: Hijacking NodeJS’s Jenkins Agents
https://www.praetorian.com/blog/agent-of-chaos-hijacking-nodejss-jenkins-agents/
According to the HackerOne report, the exploit proceeded as follows:
- Submit a valid pull request to nodejs/node.
- Wait for a maintainer to add the request-ci label (this label is added to every pull request with non-documentation changes).
- After approval, update the pull request using an outdated Git commit timestamp.
- When Jenkins pipelines trigger, they fetch and execute code from the forked pull request.
- Attain code execution on Node.js Jenkins agents.
Upon review, we identified that the request-ci label step simplifies but is not required to carry out the attack. A similar attack could be used against the commit-queue label, thus potentially allowing an attacker to land an unauthorized code change.
(Update 23-April-2025) Node.js Test CI Security Incident – Full Disclosure
https://nodejs.org/en/blog/vulnerability/march-2025-ci-incident
В блоге у NodeJS достаточно сухо расписано что да как, но в блоге у Praetorian рассказ более подробный с описаниями и скриншотами. В общем рекомендую почитать тем кто интересуется как оно бывает
Agent of Chaos: Hijacking NodeJS’s Jenkins Agents
https://www.praetorian.com/blog/agent-of-chaos-hijacking-nodejss-jenkins-agents/
👍7❤1
Тут в Ubuntu решили затащить аналог
Вообще это знаковый момент, потому что
1. Аналог будет включен в поставку популярного дистрибутива
2. Это первый шаг популяризации новой генерации утилит, которые могут заменить старые с "историческими проблемами"
Я лично не перехожу ни на какие модные "💥blazing💪fast🚀" утилиты пока они не появляются в репозиториях дистрибутивов, которые я использую. Так что будем посмотреть.
В Ubuntu 25.10 решено задействовать аналог sudo, написанный на Rust
https://www.opennet.ru/opennews/art.shtml?num=63197
Правильное использование Rust позволит закрыть часть проблем. Вот примеры CVE относящиеся к
- CVE-2019-18634 - получение root через переполнение (https://github.com/saleemrashid/sudo-cve-2019-18634/)
- CVE-2021-3156 - получение root через переполнение (https://github.com/worawit/CVE-2021-3156)
Но
http://cve.org/CVERecord?id=CVE-2023-42456
GitHub проекта
https://github.com/trifectatechfoundation/sudo-rs
sudo, который на Rust написанВообще это знаковый момент, потому что
1. Аналог будет включен в поставку популярного дистрибутива
2. Это первый шаг популяризации новой генерации утилит, которые могут заменить старые с "историческими проблемами"
Я лично не перехожу ни на какие модные "💥blazing💪fast🚀" утилиты пока они не появляются в репозиториях дистрибутивов, которые я использую. Так что будем посмотреть.
Компания Canonical намерена в осеннем выпуске Ubuntu 25.10 задействовать по умолчанию аналог утилиты sudo, развиваемый проектом sudo-rs и написанный на языке Rust. В марте аналогичное решение было принято в отношении замены утилит GNU Coreutils на инструментарий uutils. На стадии рассмотрения находятся инициативы по замене zlib и ntpd на zlib-rs и ntpd-rs, а также задействованию Sequoia вместо GnuPG в пакетном менеджере APT.
В sudo-rs по возможности обеспечена совместимость с классическими утилитами sudo и su, позволяющая использовать sudo-rs в качестве прозрачной замены sudo в большинстве сценариев использования. Для пользователей, не желающих переходить на uutils и sudo-rs, в Ubuntu 25.10 будет предоставлена опция для отката на классические варианты системных утилит coreutils и sudo.
. . .
Замена системных компонентов производится в рамках инициативы по повышения качества системного окружения через поставку программ, изначально разрабатываемых с оглядкой на безопасность, надёжность и корректность. Поставка утилит, написанных на языке Rust, даст возможность снизить риск появления ошибок при работе с памятью, таких как обращение к области памяти после её освобождения и выход за границы буфера. Если эксперимент будет признан удачным, то утилиты на Rust будут задействованы по умолчанию в LTS-ветке Ubuntu 26.04.
В Ubuntu 25.10 решено задействовать аналог sudo, написанный на Rust
https://www.opennet.ru/opennews/art.shtml?num=63197
Правильное использование Rust позволит закрыть часть проблем. Вот примеры CVE относящиеся к
sudo- CVE-2019-18634 - получение root через переполнение (https://github.com/saleemrashid/sudo-cve-2019-18634/)
- CVE-2021-3156 - получение root через переполнение (https://github.com/worawit/CVE-2021-3156)
Но
sudo-rs точно предстоит ещё много работы, что бы "обкататься" с логикой работы. Вот, например, CVE-2023-42456For example we could add a user to the system containing the username `../../../../bin/cp`. When logged in as a user with that name, that user could run `sudo -K` to clear their session record file. The session code then constructs the path to the session file by concatenating the username to the session file storage directory, resulting in a resolved path of `/bin/cp`. The code then clears that file, resulting in the `cp` binary effectively being removed from the system. An attacker needs to be able to login as a user with a constructed username. Given that such a username is unlikely to exist on an existing system, they will also need to be able to create the users with the constructed usernames...The `sudo -K` and `sudo -k` commands can run, even if a user has no sudo access.
http://cve.org/CVERecord?id=CVE-2023-42456
GitHub проекта
https://github.com/trifectatechfoundation/sudo-rs
🔥17💊10🤔4👾4👍3
Если вам зачем-то надо будет развернуть Kubernetes на ноуте с OpenBSD, то вот гайд 🌝
Running a Kubernetes Cluster with OpenBSD VMM
https://www.h-i-r.net/2023/02/running-kubernetes-cluster-with-openbsd.html
Kubernetes relies on Linux containers and cgroups, so you can't run Kubernetes or even docker containers directly on OpenBSD, but Alpine Linux runs great under OpenBSD's VMM hypervisor. Alpine shares a lot of the same ideologies as OpenBSD, and it has become a favorite in the Linux container ecosystem.
. . .
This is not a good project for someone who’s never used OpenBSD before. I make some assumptions that you’re generally familiar with OpenBSD and performing routine system administration and housekeeping tasks.
This is not a supported configuration. I’ve been running kubernetes on OpenBSD’s VMM hypervisor in my home lab for about 7 months as of the time of writing. I wanted to play with Kubernetes at home, and at the time, my Dell PowerEdge R410 running OpenBSD was the only thing I had available, so I decided to try this out. Occasionally, the network or nodes lag a little, but it’s been pretty stable for the most part.
There are a few limitations to this setup. VMM currently has no way to allocate more than one CPU core to a VM. This causes two problems for Kubernetes:
First is that Kubernetes’ master node minimum requirement is for 2 cores. We can override it, and it seems to run with just one core, but it’s not optimal.
Second is that some workloads may request more than 1 CPU worth of computing resources for a pod. The master node will be unable to find a node that can support that pod, because these worker nodes will only have one core, or 1000 milli-cores, of CPU capacity each. If you see errors like “Unschedulable” and “Insufficient cpu,” this is one potential reason.
Running a Kubernetes Cluster with OpenBSD VMM
https://www.h-i-r.net/2023/02/running-kubernetes-cluster-with-openbsd.html
💊61🗿15🔥7💅4👏3😁3😐3👍2👨💻1
В этом году 3 июня 2025 уже в третий раз мы (Luntry) будем проводить конференцию БЕКОН
В этот раз я без доклада, но буду помогать на площадке, так что можно будет встретиться и пообщаться оффлайн.
Цель мероприятия – помочь компаниям перейти на новый уровень понимания контейнерной безопасности и адаптировать современные подходы по ее обеспечению.
В этом году в программе
-
-
-
-
-
Посмотреть полную программу и приобрести билет можно тут.
Канал конференции тут
ЗЫ
Пользуясь случаем передаю всем спасибо, за то что мой доклад с БЕКОН 2024 стал самым популярным по просмотрам на YouTube и ВК ❤️
В этот раз я без доклада, но буду помогать на площадке, так что можно будет встретиться и пообщаться оффлайн.
Цель мероприятия – помочь компаниям перейти на новый уровень понимания контейнерной безопасности и адаптировать современные подходы по ее обеспечению.
В этом году в программе
-
Kyverno: Рецепты правильного приготовления / Евгений Берендяев, Avito-
Talos Linux в production: без SSH и с удовольствием / Дмитрий Рыбалка, Lamoda Tech-
Как соответствовать требованиям ФСТЭК, если у вас контейнеры и кластеры / Андрей Слепых, НТЦ «Фобос-НТ»-
Как спрятать Control Plane Kubernetes от любопытных глаз / Каиржан Аубекеров, МТС Web Services-
Чеклист безопасности ML-кластеров / Николай Панченко, ТбанкПосмотреть полную программу и приобрести билет можно тут.
Канал конференции тут
ЗЫ
Пользуясь случаем передаю всем спасибо, за то что мой доклад с БЕКОН 2024 стал самым популярным по просмотрам на YouTube и ВК ❤️
❤19👍9🥱8👎3🏆3❤🔥1🗿1
The head of the US Copyright Office has reportedly been fired, the day after agency concluded that builders of AI models use of copyrighted material went beyond existing doctrines of fair use.
The office’s opinion on fair use came in a draft of the third part of its report on copyright and artificial intelligence. The first part considered digital replicas and the second tackled whether it is possible to copyright the output of generative AI.
The office published the draft [PDF] of Part 3, which addresses the use of copyrighted works in the development of generative AI systems, on May 9th.
The draft notes that generative AI systems “draw on massive troves of data, including copyrighted works” and asks: “Do any of the acts involved require the copyright owners’ consent or compensation?”
. . .
Tech law professor Blake. E Reid described the report as “very bad news for the AI companies in litigation” and “A straight-ticket loss for the AI companies”.
Among the AI companies currently in litigation on copyright matters are Google, Meta, OpenAI, and Microsoft. All four made donations to Donald Trump’s inauguration fund.
US Copyright Office found AI companies sometimes breach copyright. Next day its boss was fired
https://www.theregister.com/2025/05/12/us_copyright_office_ai_copyright/
Бывает же такое СОВПАДЕНИЕ 🌝
> Reid looks prescient as the Trump administration reportedly fired the head of the Copyright Office, Shira Perlmutter, on Saturday.
В статье, конечно, куча политоты с набросами на Трампа, его администрацию и Маска в частности, но сама проблема с копирайтами и AI реально существует.
Сам PDF-отчёт в комменты закину
За наводку спасибо подписчику
👍9🔥3
Есть такое облако/платформа - fly.io. Сам я им не пользуюсь, но у меня в комментах я видел хорошие отзывы о нём.
Так вот я пока читал и разбирался чего и как там у них работает набрёл на прикольный пост о том как они у себя fly-proxy написанный на Rust чинили.
Если кратко, то на edge у них работает указанный выше fly-proxy, который роутит трафик в их сеть. И в какой-то момент они заметили, что он в какой-то момент резко начинает жрать ЦПУ.
Дальше начинаются разборки с дебагом и флейм графами.
В итоге выяснилось, что виновником оказалась работа со сторонним хранилищем: точнее совпадение по времени с их "типа" тестированием, а в зависимости был баг
Но выводы хорошие: знайте, понимайте и аккуратно обновляйте свои зависимости, иначе вам отстрелит ногу в самый неподходящий момент
Taming A Voracious Rust Proxy
https://fly.io/blog/taming-rust-proxy/
ЗЫ
Я когда увидел эту конструкцию заплакал 🌝
Так вот я пока читал и разбирался чего и как там у них работает набрёл на прикольный пост о том как они у себя fly-proxy написанный на Rust чинили.
Если кратко, то на edge у них работает указанный выше fly-proxy, который роутит трафик в их сеть. И в какой-то момент они заметили, что он в какой-то момент резко начинает жрать ЦПУ.
Дальше начинаются разборки с дебагом и флейм графами.
В итоге выяснилось, что виновником оказалась работа со сторонним хранилищем: точнее совпадение по времени с их "типа" тестированием, а в зависимости был баг
Our partners in object storage, Tigris Data, were conducting some kind of load testing exercise. Some aspect of their testing system triggered the TlsStream state machine bug, which locked up one or more TlsStreams in the edge proxy handling whatever corner-casey stream they were sending.
Tigris wasn’t generating a whole lot of traffic; tens of thousands of connections, tops. But all of them sent small HTTP bodies and then terminated early. We figured some of those connections errored out, and set up the “TLS CloseNotify happened before EOF” scenario.
Но выводы хорошие: знайте, понимайте и аккуратно обновляйте свои зависимости, иначе вам отстрелит ногу в самый неподходящий момент
Keep your dependencies updated. Unless you shouldn’t keep your dependencies updated. I mean, if there’s a vulnerability (and, technically, this was a DoS vulnerability), always update. And if there’s an important bugfix, update. But if there isn’t an important bugfix, updating for the hell of it might also destabilize your project? So update maybe? Most of the time?
Really, the truth of this is that keeping track of what needs to be updated is valuable work. The updates themselves are pretty fast and simple, but the process and testing infrastructure to confidently metabolize dependency updates is not.
Taming A Voracious Rust Proxy
https://fly.io/blog/taming-rust-proxy/
ЗЫ
Я когда увидел эту конструкцию заплакал 🌝
&mut fp_io::copy::Duplex<&mut fp_io::reusable_reader::ReusableReader<fp_tcp::peek::PeekableReader<tokio_rustls::server::TlsStream<fp_tcp_metered::MeteredIo<fp_tcp::peek::PeekableReader<fp_tcp::permitted::PermittedTcpStream>>>>>, connect::conn::Conn<tokio::net::tcp::stream::TcpStream>
😐16🤪14👍3🤔2🖕1🦄1
Давайте еще раз вспомним, что поможет нам убить хороший продукт.
- Не тестировать код
Тестирование — это для слабаков! Настоящие разработчики пишут код и надеются на лучшее
- Публиковать релизы в пятницу вечером
Никто не будет работать над исправлениями до понедельника, все хорошенько отдохнут! Суеверия для дураков
- Чрезмерная документация
Напишите столько документации, чтобы пользователи не поняли, зачем они пришли к вашему продукту, а тестировщики забыли что вообще нужно проверить
Пусть они потратят часы на чтение вместо проверки!
- Использовать устаревшие технологии
Зачем обновлять? Они работали когда-то, значит, будут работать и сейчас
- Игнорировать отзывы пользователей
Зачем слушать тех, кто использует продукт? Это ведь мы его сделали, значит знаем, что для них лучше
- Обвинять друг друга при любых проблемах на проекте
Потому что гораздо важнее найти крайнего, а не решить проблему
Методы убийства ИТ-продукта: мнение QA-инженера
https://habr.com/ru/companies/magnit/articles/908954/
Хороший пост, без откровений, в целом всё по делу, но глаз у меня зацепился за текст про Telegram
Например, Telegram — не лучшее решение для внутренней корпоративной коммуникации.
Существуют как очевидные проблемы:
- отсутствие SSO (логина через корпоративную учетку)
- слабые возможности по обеспечению безопасности
- невозможность централизованного поиска сотрудников по имени
Так и более тонкие, которые становятся заметны только с опытом:
- отсутствие поддержки внутренних ролей и тегов (команд, гильдий, лидов)
- невозможность задать единые стандарты наименования и организации чатов
- отсутствие глубоких интеграций с другими корпоративными сервисами
- слабая система прав доступа на создание и управление контентом
- неудобная работа с оргструктурой
- отсутствие из коробки набора полезных ботов и автоматизаций
Но, думаю, главный недостаток — невозможность эффективно доносить важную информацию до всей компании. В Telegram невозможно выстроить каналы массовой коммуникации так, чтобы они были одновременно централизованными, структурированными и не утопали в шуме. Универсальный чат на 100+ человек быстро становится бесполезным: уведомления сразу же отключают из-за флуда и хаоса. Результат — бесконечное размножение мелких групп, где каждый раз собирается новый состав и информация теряется. Какой выход? Только искать альтернативы привычному.
И это абсолютная правда. Что бы Телега стала реально рабочим инструментом её надо обмазывать корпоративными ботами, которые будут реализовывать
- Некое подобие SSO, когда бот контролирует кто и в каком чате имеет право находиться опираясь на БД сотрудников в какой-либо системе
- Интеграция с внутренними сервисами по нотификации, организации рабочих чатов, групп и т.д.
- Матчинг id-шников телеги на внутреннюю оргструктуру
- [тут идёт ещё много всякого]
Ввиду всего выше сказанного надо понимать, что боты в среднем под каждую организацию будут уникальные (если не самописные полностью, то форкнутые)
Видел сообщения по чатам, что в некоторых местах сотрудников заставляют использовать в Телеге не ники, а ФИО и ставить реальные фотографии на аватарки. Такое себе решение проблемы, конечно, но, видимо, ничего лучше не придумали.
Всё что я читал, слышал и видел про Телегу, как корпоративный мессенджер, нигде не работало без "изоленты" вокруг неё.
👍35💊5🖕2🤪1
Я неожиданно для себя открыл портал в ад шизу (как выяснилось в целом это имеет право на жизнь)
Люди, которые поближе к Rust/Python наверняка знают про PyO3 и ничего нового не узнают
PyO3 - Rust bindings for the Python interpreter
https://github.com/PyO3/pyo3
Я краем глаза видел упоминание этого проекта в чатах, но как-то не вникал что там происходит, а тут наткнулся на пост
Embedding Python in Rust (for tests)
https://www.enterprisedb.com/blog/embedding-python-rust-tests
Сразу говорю, что все примеры в посте уровня "Hello, world!"
Более серьёзный разбор с погружением как это всё работает
Mix in Rust with Python: PyO3
https://tweedegolf.nl/en/blog/133/mix-in-rust-with-python-pyo3
Так же есть хороший пост с решением реальной проблемы (хотя как по мне проблема была в изначальном выборе Python для "тяжёлых" расчётов, но всё же там занялись оптимизацией и разбором)
Making Python 100x faster with less than 100 lines of Rust
https://ohadravid.github.io/posts/2023-03-rusty-python/
Перевод - https://habr.com/ru/companies/ruvds/articles/732530/
Ну и ещё один в тему, вроде, неплохой который тоже с интересом прочитал
How I Design And Develop Real-World Python Extensions In Rust
https://medium.com/@kudryavtsev_ia/how-i-design-and-develop-real-world-python-extensions-in-rust-2abfe2377182
Перевод - https://habr.com/ru/articles/767254/
PyO3 - Rust bindings for the Python interpreter
https://github.com/PyO3/pyo3
Я краем глаза видел упоминание этого проекта в чатах, но как-то не вникал что там происходит, а тут наткнулся на пост
So in this post we'll build a little test runner written in Rust that exposes some Rust functions to tests written in Python. And we'll embed the Python interpreter itself in our Rust test runner.
Embedding Python in Rust (for tests)
https://www.enterprisedb.com/blog/embedding-python-rust-tests
Сразу говорю, что все примеры в посте уровня "Hello, world!"
Более серьёзный разбор с погружением как это всё работает
Mix in Rust with Python: PyO3
https://tweedegolf.nl/en/blog/133/mix-in-rust-with-python-pyo3
Так же есть хороший пост с решением реальной проблемы (хотя как по мне проблема была в изначальном выборе Python для "тяжёлых" расчётов, но всё же там занялись оптимизацией и разбором)
Making Python 100x faster with less than 100 lines of Rust
https://ohadravid.github.io/posts/2023-03-rusty-python/
Перевод - https://habr.com/ru/companies/ruvds/articles/732530/
Ну и ещё один в тему, вроде, неплохой который тоже с интересом прочитал
How I Design And Develop Real-World Python Extensions In Rust
https://medium.com/@kudryavtsev_ia/how-i-design-and-develop-real-world-python-extensions-in-rust-2abfe2377182
Перевод - https://habr.com/ru/articles/767254/
🔥11💊11👍3🗿1
Forwarded from IT Friday (Sabbath)
Пока собирал всякие интересные пазлеры и нетривиальные интересности для квиза по контейнер секурити для доклада на PHDays, наткнулся на такое в официальной доке Докера по бест практисам сборки образов: есть неразрезолвенный баг, связанный со sparse-файлами. При создании контейнера с пользователем с большим uid, получается такой файл и заполняет диск. Причем баг в гошном пакете по работе с архивами и ишью открыто с 2015) Вобщем, воспроизвести такое не удалось, ничего не переполняется и все ок, подозреваю, что все пофикшено, но явно тоже не нашел. Вобщем если у кого получится или гошники что знают об этом - пишите в коменты 😃 А вообще не гуд, что в официальной доке не стоит дата изменений, не понятна ее актуальность.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤1🔥1
Проект HardenedBSD, занимающийся улучшением механизмов защиты FreeBSD и выпускающий защищённые сборки FreeBSD, представил первые результаты работы по предоставлению возможности использования компонентов пространства пользователя FreeBSD, написанных на языке Rust. Разработка ведётся в отдельной ветке hardened/current/rust-in-base.
Для использования Rust был написан новый сборочный файл share/mk/bsd.rust.mk, позволяющий собирать приложения на языке Rust во время сборки окружения базовой системы (make buildworld). Компоненты пространства пользователя на языке Rust являются опциональными и размещены в дереве исходного кода FreeBSD в отдельном рабочем пространстве. При сборке Rust-приложений и зависимостей задействован пакетный менеджер Cargo. Все зависимости, необходимые для сборки Rust-компонентов базовой системы, размещаются в отдельном подкаталоге src/vendor/rust.
На момент написания отчёта заявлена поддержка только сборки и установки Rust-приложений, работающих в пространстве пользователя. Поддержка библиотечных crate-пакетов запланирована в будущем. Использование Rust в ядре пока не поддерживается, так подобная возможность требует большого объёма работы и выходит за рамки начального прототипа.
Изменения для поддержки Rust планируют предложить для включения в основной состав FreeBSD после проверки развиваемого набора патчей и реализации отмеченных в плане базовых возможностей. Среди начальных планов: поддержка crate-пакетов с библиотеками на языке Rust, возможность сборки нескольким Rust-приложений при помощи одного Makefile, создание руководств по импорту crate-пакетов и поддержка установки сопутствующих файлов и man-страниц.
Для FreeBSD развивают опциональную поддержку компонентов базовой системы на Rust
https://www.opennet.ru/opennews/art.shtml?num=63280
Оригинал
Optional Rust-In-FreeBSD Support May 2025 Status Report
https://hardenedbsd.org/article/shawn-webb/2025-05-20/optional-rust-freebsd-support-may-2025-status-report
👍7😢7😁2💊1
Я недавно игрался с проектом Garble (https://github.com/burrowers/garble), который позволяет обфусцировать Go-шные бинари
И пока ковырялся наткнулся на пост в котором описывалось как решают обратную задачу
GoResolver: Using Control-flow Graph Similarity to Deobfuscate Golang Binaries, Automatically
https://www.volexity.com/blog/2025/04/01/goresolver-using-control-flow-graph-similarity-to-deobfuscate-golang-binaries-automatically/
В статье сначала упоминается GoReSym (https://github.com/mandiant/GoReSym), который опирается на информацию из таблицы символов для того, что бы восстановить метаданные, типы и т.д.
volexity, авторы, решили пойти дальше и попробовать искать подобие через графы потока управления (CFG)
> By measuring the similarity between the control-flow graph of two functions in two different binaries, it is sometimes possible to assert if they result from the same algorithm
> Two graphs are compared, and the similarity between each set of two blocks in the graph is computed. In the illustration above, the red and blue blocks contain the exact same instructions but in a different order, and thus have a similarity of 1.0.
У меня тут не хватит символов всё расписать, но во второй части статьи производится анализ трояна (https://www.virustotal.com/gui/file/d46dae3b2de038ddc328af7133a0153cf5bfb5e01e5114844d6513bd37b0c9a3)
Сами утилиты для деобфускации, которые использовались
https://github.com/volexity/GoResolver
https://github.com/volexity/GoGrapher
https://github.com/volexity/GoStrap
https://github.com/volexity/GitToolFetcher
+ есть плагины для Ghidra и IDA
https://github.com/volexity/GoResolver/tree/main/Plugin/GoResolver
Ссылка на оригинальное исследование по CFG
AN APPROACH TO COMPARING CONTROL FLOW GRAPHS BASED ON BASIC BLOCK MATCHING
https://www.ijcse.com/docs/INDJCSE20-11-03-237.pdf
Так же оставлю ссылку на пост в котором разбирали малварь обфуцированную Garble
Невидимые связи: специалисты F6 обнаружили ранее неизвестный загрузчик PhantomDL и атрибутировали его группе PhantomCore
https://www.f6.ru/blog/phantomdl-loader/
The tool wraps calls to the Go compiler and linker to transform the Go build, in order to:
- Replace as many useful identifiers as possible with short base64 hashes
- Replace package paths with short base64 hashes
- Replace filenames and position information with short base64 hashes
- Remove all build and module information
- Strip debugging information and symbol tables via -ldflags="-w -s"
- Obfuscate literals, if the -literals flag is given
- Remove extra information, if the -tiny flag is given
И пока ковырялся наткнулся на пост в котором описывалось как решают обратную задачу
GoResolver: Using Control-flow Graph Similarity to Deobfuscate Golang Binaries, Automatically
https://www.volexity.com/blog/2025/04/01/goresolver-using-control-flow-graph-similarity-to-deobfuscate-golang-binaries-automatically/
В статье сначала упоминается GoReSym (https://github.com/mandiant/GoReSym), который опирается на информацию из таблицы символов для того, что бы восстановить метаданные, типы и т.д.
volexity, авторы, решили пойти дальше и попробовать искать подобие через графы потока управления (CFG)
> By measuring the similarity between the control-flow graph of two functions in two different binaries, it is sometimes possible to assert if they result from the same algorithm
> Two graphs are compared, and the similarity between each set of two blocks in the graph is computed. In the illustration above, the red and blue blocks contain the exact same instructions but in a different order, and thus have a similarity of 1.0.
У меня тут не хватит символов всё расписать, но во второй части статьи производится анализ трояна (https://www.virustotal.com/gui/file/d46dae3b2de038ddc328af7133a0153cf5bfb5e01e5114844d6513bd37b0c9a3)
Сами утилиты для деобфускации, которые использовались
https://github.com/volexity/GoResolver
https://github.com/volexity/GoGrapher
https://github.com/volexity/GoStrap
https://github.com/volexity/GitToolFetcher
+ есть плагины для Ghidra и IDA
https://github.com/volexity/GoResolver/tree/main/Plugin/GoResolver
Ссылка на оригинальное исследование по CFG
AN APPROACH TO COMPARING CONTROL FLOW GRAPHS BASED ON BASIC BLOCK MATCHING
https://www.ijcse.com/docs/INDJCSE20-11-03-237.pdf
Так же оставлю ссылку на пост в котором разбирали малварь обфуцированную Garble
Невидимые связи: специалисты F6 обнаружили ранее неизвестный загрузчик PhantomDL и атрибутировали его группе PhantomCore
https://www.f6.ru/blog/phantomdl-loader/
👍21🔥4🖕2
Forwarded from Опенград
Это. Просто. Восхитительно.
К слову, я и сам несколько раз сталкивался с тем, когдаClown GPT на ровном месте просто выдумывал параметры для какого-нибудь модуля Ansible. С Ansible, по моему личному мнению, у него в принципе дела не очень складываются. Если необходимо сделать что-то чуть сложнее простой роли, то он начинает знатно плыть, и там уже глаз да глаз за ним надо. Воистину, GPT никогда не сможет осилить модули Ansible, потому что обучается он на базе того, что есть в сети. А чего-то действительно сложного в сети нет. Одна молекула чего только стоит. Документация -- это вообще Кносский лабиринт. YAML > GPT.
Сарказм.
К слову, я и сам несколько раз сталкивался с тем, когда
Telegram
Make. Build. Break. Reflect.
#aws #vanta #ai #azure
На этом моём скриншоте прекрасно всё.
Добро пожаловать в 2025 год.
Vanta, компания, которая за огромные деньги позволяет проходить аудит от SOC2 до PCIDSS, при помощи AI генерирует рекомендации с несуществующими ресурсами терраформ.…
На этом моём скриншоте прекрасно всё.
Добро пожаловать в 2025 год.
Vanta, компания, которая за огромные деньги позволяет проходить аудит от SOC2 до PCIDSS, при помощи AI генерирует рекомендации с несуществующими ресурсами терраформ.…
❤10👍7🗿4