Даниела Михайлова и Дора Петкова – за служебните адреси, личните документи и порочните кръгове

Post Syndicated from Светла Енчева original https://www.toest.bg/daniela-mihaylova-i-dora-petkova-za-sluzhebnite-adresi-lichnite-dokumenti-i-porochnite-krugove/

Даниела Михайлова и Дора Петкова – за служебните адреси, личните документи и порочните кръгове

Адвокат Даниела Михайлова ръководи правната програма на сдружение „Инициатива за равни възможности“. Тя работи по стратегически дела, свързани с етническата дискриминация. През последните години фокусира професионалните си усилия върху жилищните права на ромите в България, правната помощ за деца от ромски произход в риск и техните семейства, както и върху речта на омразата. Работи и по законодателни приложения за привеждане на националното право в съответствие с европейското и международното.

Дора Петкова е завършила социология и работи в областта на политиките за социално включване, общностно развитие и развитие на гражданското общество. Тя е консултантка, изследователка и работи на терен по национални и международни програми и проекти, насочени към ромската общност. Членува в Етичната комисия на Сдружение „Национална мрежа на здравните медиатори“ и е програмна координаторка във Фондация „Тръст за социална алтернатива“.


Какво е служебен адрес и защо е важно да го има?

Даниела: Служебният адрес се въведе с изменения и допълнения в Закона за гражданската регистрация (ЗГР) от октомври 2024 г. и представлява адрес на имот, който е общинска собственост. Определя се от кмета на всяка община и на него служебно се извършва регистрация по постоянен и настоящ адрес за хора, които не отговарят на условията да бъдат адресно регистрирани по реда на чл. 92 от ЗГР. Важно е да го има, тъй като постоянният адрес е реквизит от личната карта. И ако човек няма такъв, съответно не може да сe издаде документ за самоличност.

Кои са хората, които срещат трудности с адресната регистрация?

Даниела: Непритежаващите документ, който легално ги свързва с адреса на имота, където желаят да извършат адресна регистрация, и документ за собственост или друг, даващ им правно основание да обитават имоти за жилищна нужда. Например договор за наем, ако обитават жилище, което не е тяхна собственост, или договор за ползване на социална или интегрирана здравно-социална услуга. Последното се въведе в ЗГР през 2019 г. с приемането на Закона за социалните услуги.

ЗГР позволява хората, които не могат да представят документ, свързващ ги с имота, да преминат през процедура с разглеждане на заявлението им от комисията по адресна регистрация. Тя, мисля, следва да направи посещение на място, за да установи обстоятелствата, описани в заявлението, и да даде становище за извършване на регистрация по постоянен или настоящ адрес.

Проблемът е, че до февруари тази година правомощията на комисиите по адресна регистрация, които се създават със заповед на кмета във всяка община, не бяха ясно регламентирани. Не беше разписано и какви документи следва да приеме комисията, за да даде становище за извършване на адресна регистрация. Поради тази причина процедурата по чл. 92, ал. 8 от ЗГР беше на практика неработеща.

Затова страшно много хора останаха без регистрация по постоянен адрес – понеже има изискване адресът, посочен в заявлението, да е част от Националния класификатор на настоящите и постоянните адреси на Република България. Той се поддържа от Главна дирекция ГРАО към Министерството на регионалното развитие и благоустройството и обединява в една база данни всички настоящи и постоянни адреси, подавани от кметовете на общините, защото те са тези, които решават на кои адреси в тяхната община може да бъде извършена адресна регистрация.

Наредбата, издадена от регионалния министър, уточнява на какви условия трябва да отговаря един адрес, за да бъде включен в Националния класификатор – на него трябва да има постройка, годна за обитаване.

Проблемът е, че в голямата си част кметовете на общините, така да се каже, самодопълват изискването на наредбата, като търсят на адреса да има законно изградена постройка – условие, което липсва и в ЗГР. Поради това доста адреси бяха заличени и извадени от Националния класификатор.

И ако едно лице живее на такъв адрес – в незаконна постройка, – то не може да бъде адресно регистрирано.

Що се отнася до хората без лични документи, направихме проучване по реда на Закона за достъп до обществена информация чрез заявления до МВР, първото от които подадохме през 2021 г. Отговорът на Вътрешното министерство беше, че по техни данни в България има около 122 000 души без валидна лична карта и други 120 000, на които никога не е издаван документ за самоличност, макар да са навършили възрастта за това.

В тази бройка, разбира се, влизат и дългогодишни емигранти, някои от които вече са граждани на други държави. Тоест много от тях може и да нямат интерес да притежават българска лична карта. Но се оказва, че малко повече от 75 000 български граждани, живеещи на територията на страната, нямат документ за самоличност, макар че са навършили възрастта за това. Става въпрос преди всичко за хора в уязвимо положение. Те или нямат документ за собственост на къщите, в които живеят, или изобщо по никакъв начин не могат да докажат връзка с адреса си.

Този проблем възникна през 2011 г., когато с промените в Изборния кодекс беше изменен и ЗГР – въведе се изискването да се представя документ, който сочи връзка с адреса. Преди това режимът за издаване на постоянен и настоящ адрес беше свободен – трябваше само да се подаде заявление, без да се изискват допълнителни документи.

Какво означава за един човек да няма документи за самоличност? И какво е да се родиш без документи?

Дора: Всъщност съвсем наскоро с Даниела имахме такъв случай. Работим заедно по проект на „Тръст за социална алтернатива“, който се нарича „Мрежа с грижа от 0 до 3. Превенция на разделяне на семействата“. Той включва мрежа от 11 неправителствени организации, които работят на терен с уязвими общности в цялата страна. Затова от години си сътрудничим по места с медиатори и с общностни работници. Тази мрежа има четири компонента. Единият е осигуряване на достъп до безплатни лекарства за деца от 0 до 7 години. Вторият е осигуряване на хранителна подкрепа под формата на ваучери за деца в уязвимо положение. Третият компонент включва въвеждането на нови стандарти и координационни подходи в работата по превенция на разделяне на семействата. Последният компонент е свързан с липсата на лични документи и адресни регистрации – неравенство за много граждани, което се опитваме да преодолеем чрез прилагането на новите изменения в закона.

Във всички населени места, в които работим, здравните медиатори и общностните работници се стремят да помогнат на хората без лични документи. И така в Ямбол открих група бивши обитатели на съборения блок 20, за който всички си спомняме.

Да, той е известен.

Дора: Очевидно е, че те не е имало къде да бъдат настанени, и са останали без дом. Не знам дали някой знае – или по-точно дали се интересува – какъв е техният брой, вероятно е между 30 и 50 души. Но по-голямата част от тях нямат адресна регистрация, нямат лични документи от 10 години. Срещнахме млада майка с дете на една година, която няма личен документ, съответно детето не притежава удостоверение за раждане, няма личен лекар, имунизации, достъп до здравни и социални грижи, до детска градина, по-нататък до училище и всичко останало, което би трябвало да се полага за пълноценното развитие на всяко дете. 

Даниела Михайлова и Дора Петкова – за служебните адреси, личните документи и порочните кръгове
Къща в Ямбол. Снимка: © Дора Петкова

Така че ето как, когато нямаш личен документ, ти си лишен от първия си ден от достъп до основни човешки грижи и права. Дано предотвратим това да се случи и с децата и техните семейства от „Захарна фабрика“, които съвсем скоро останаха без дом. Нали твърдим, че децата са най-ценни?

Такова дете ще може ли да тръгне на училище, майка му ще може ли да получава детски надбавки?

Дора: Има различни случаи, повечето от които много сложни. Понякога хората имат някаква регистрация, но тя е в друго населено място – примерно майката се е преместила. Но ако тя не може да се регистрира на новия си адрес, например защото той не е в Националния класификатор на адресите, трябва да остане с предишния си и детето няма как да бъде записано в детска градина. Когато родителите нямат личен документ, как едно дете да бъде записано в детска градина или в училище? Как и къде да работят родителите?

Здравните медиатори, разбира се, се опитват да помагат. Ние с Даниела се срещаме с отделите на МВР по места, с представителите на общините, на ГРАО, за което благодарим. Преди дни участвахме в такава среща в Казанлък. Там се бяха събрали представители на местни институции от съседни градове с подобни проблеми. Конкретно за Ямбол срещнахме подкрепа, но се оказа, че е необходимо хората, които от години живеят без лични документи, да бъдат идентифицирани, за което вече помагат отново медиатори и активни граждани от общността. Силно се надяваме заедно с местните институции този проблем да се разреши по-скоро.

Оказва се, че законът ненавсякъде се прилага по един и същи начин, затова е необходимо да се унифицира.

Така стигнахме до следващия ми въпрос: как се осъществява издаването на служебни адреси след промяната на закона и какви са основните проблеми? В началото изглеждаше, че всичко ще потече по мед и масло, но явно не е точно така.

Даниела: Има някои случаи, в които промяната в закона се оказва недостатъчна. Става въпрос преди всичко за хората, на които не е издаден документ за самоличност, когато са били между 14- и 18-годишна възраст. При издаването на първа лична карта непълнолетното лице се придружава и съответно се идентифицира от родителите си. Ако това не се направи в този период, после идентификацията трябва да се извърши от органите на МВР. Тоест те трябва да бъдат сигурни, че човекът, който подава заявлението, е същият, на когото ще бъде издадена личната карта. И тук вече настава известен хаос, защото по принцип полицаите извършват тази идентификация, като правят посещение на постоянния адрес и събират данни от съседите. Обаче лицето не е длъжно да живее там. Така че МВР не може да извърши идентификацията по постоянен адрес.

Тогава се забавят всякакви видове процедури, защото, когато полицаите откажат да извършат идентификацията, издаването на лични карти се „закучва“. Защото човек не може да промени адресната си регистрация, преди да има документ за самоличност, който да представи в общината. Та поради тази причина няма как да бъде издадена лична карта. Получава се нещо като параграф 22.

Истината е, че служителите на полицията могат да извършват тази идентификация и в районните управления по места, където се подава заявлението за издаване на лична карта. Днес минахме през такава процедура с една млада жена, на 24–25 години. Тя е в напреднала бременност, тоест издаването на личната карта беше спешно. От Дирекция „Български документи за самоличност“ на МВР ни казаха да отидем при тях, а не в РПУ-то. Изглежда, им се видя по-лесно директорите сами да си свършат работата, отколкото да обяснят на полицаите в РПУ-тата.

Само че това реши единствено конкретния въпрос: жената ще си получи личната карта във вторник. Но не решава генералния въпрос, понеже не е само тя – този случай е повторяем. Според мен е необходимо да се издаде някаква инструкция, защото не можем да водим всеки човек в такава ситуация в дирекцията. Трябва да има процедура.

Дора: Този казус продължи доста дълго, доколкото знам – няколко месеца.

Даниела: Ами да, продължи, докато в крайна сметка не се свързахме с Министерството и не им казахме: „Добре, разпоредете писмен отказ, за да можем да го обжалваме.“ Тогава те отговориха: „Не, елате в дирекцията.“

Дора: Всъщност всички много се плашат от писмените документи. Институциите – от писмени откази, а хората – от подаването на писмени заявления и жалби. А за да бъдат променени по-лесно юридическите практики, би трябвало и институциите, и гражданите да съдействат. Но нито гражданите, поне според моите наблюдения, нито администрацията разбират това. Струва ми се, все още нямаме гражданската култура и не осъзнаваме, че това са демократичните инструменти, които биха улеснили промяната на закони и други актове в полза на обществото. В България това все още не се случва.

Хората искат промяна, но със или без причина, се страхуват сами да я осъществяват.

Има още едно препятствие, по-скоро противоречие, което обсъдихме по време на срещата с институциите в Казанлък. Оказва се, че ако човек е регистриран на служебен адрес, то много трудно може да получи социална помощ.

Защо?

Дора: Защото от Агенцията за социално подпомагане трябва да отидат на този служебен адрес – по закон те трябва да посетят лицето и да видят къде живее, има ли нужда от социална помощ.

Даниела: Прави се социална анкета по настоящ адрес.

Дора: Да, но понякога те не знаят или пък не желаят да се задълбочават и да търсят къде живее този човек. Законът им позволява да откажат.

На нашите институции им предстои да работят заедно, за да синхронизират нормативните документи. Защото моите колеги от 11 години работят за въвеждането на служебен адрес, така че повече хора да имат лични документи, да няма деца, лишени от права, да се преодоляват бедността и неравенствата. Но се оказва, че това би могло да затрудни, вместо да улесни достъпа до социални, здравни услуги и т.н. за най-уязвимите и бедни хора. А идеята на изменението в закона е документът за самоличност да послужи за преодоляване на проблемите, свързани с бедността и социалното изключване, в нашата европейска държава.

На практика без лични документи си абсолютно изключен. Разполагаме дори с информация за хора, които толкова са свикнали да живеят по този начин, че даже се плашат да имат лични документи.

Има много деца, които живеят в бедност в различни махалички, селца и т.н., с които не знаем какво се случва.

Според Вас какво трябва да се направи и на законодателно равнище, и като практика, за да се решат тези проблеми?

Дора: Ние в момента правим това по съвместния ни проект. Даниела обучава 300 души – здравни медиатори и общностни работници, които работят на терен в своите общности – да прилагат закона на практика. Между другото, към тях започнаха да се присъединяват и представители на местни институции. Това е процес, който е съвсем в началото, и в него срещаме всички тези истории и трудности, за които разказваме сега. Надяваме се, че ще има напредък. По този начин провокираме местните институции да стигат до извода, че има нужда от още промени, за да се случат нещата. И макар че процесът е труден и бавен и се отключват и появяват – понякога дори зейват – още проблеми, има смисъл да се работи, да се подобряват законите и разбирането по тези толкова неглижирани и дълго премълчавани въпроси. Необходима е работа на терен и с институциите.

Важно е да се осъзнае, че ще е от полза за цялото ни общество повече хора да имат документи за самоличност и адресни регистрации. Това означава, че повече хора ще имат права, но ще имат и задължения. Ще могат да работят, да учат, децата им ще бъдат по-здрави и по-образовани. А хората от най-уязвимите групи, най-бедните, най-маргинализираните, много често унаследяват тази бедност и я предават нататък, на децата, през поколенията. Опитваме се да прекратим този порочен кръг, макар да не е лесно.

[$] LWN.net Weekly Edition for May 29, 2025

Post Syndicated from corbet original https://lwn.net/Articles/1022134/

Inside this week’s LWN.net Weekly Edition:

  • Front: Glibc security; How we lost the Internet; Encrypted DNS; 6.15 Development statistics; Filesystem stress-testing; BPF verifier; Network access from BPF; OSPM 2025.
  • Briefs: AlmaLinux 10.0; FESCo decision overturned; NixOS 25.05; Pocket, Launchpad retired; Quotes; …
  • Announcements: Newsletters, conferences, security updates, patches, and more.

This is the NVIDIA MGX PCIe Switch Board with ConnectX-8 for 8x PCIe GPU Servers

Post Syndicated from Patrick Kennedy original https://www.servethehome.com/this-is-the-nvidia-mgx-pcie-switch-board-with-connectx-8-for-8x-pcie-gpu-servers/

This is the NVIDIA MGX PCIe Switch Board with ConnectX-8 for 8x PCIe GPU servers, marking the most significant architectural shift in a decade in this segment

The post This is the NVIDIA MGX PCIe Switch Board with ConnectX-8 for 8x PCIe GPU Servers appeared first on ServeTheHome.

Application security at re:Inforce 2025

Post Syndicated from Daniel Begimher original https://aws.amazon.com/blogs/security/application-security-at-reinforce-2025/

AWS re:Inforce 2025: June 16-18 in Philadelphia, PA

A full conference pass is $1,099. Register today with the code flashsale150 to receive a limited time $150 discount, while supplies last.

Join us in Philadelphia on June 16–18, 2025, for AWS re:Inforce, where you can enhance your skills and confidence in cloud security, compliance, identity, and privacy. As an attendee, you will have access to hundreds of technical and non-technical sessions, an Expo featuring Amazon Web Services (AWS) experts and AWS Security Competency Partners, and keynote sessions led by industry leaders. AWS re:Inforce offers a comprehensive focus on key security areas, including application security (AppSec).

Key AppSec themes for 2025

The AppSec track helps you understand and implement best practices for securing your applications throughout the development lifecycle. For 2025, we’re focusing on several key themes:

Organizational strategies to ship quickly and securely

Learn about security ownership, partnerships like DevSecOps, comprehensive application security programs, and scaling application security expertise into workload teams. These sessions explore how organizations can build security into their development processes without sacrificing speed, focusing on practical approaches that distribute security responsibility effectively.

Secure by design

Make embedding security principles into the early stages of software architecture and design to mitigate vulnerabilities early, minimize risks, and recognize security as a core business requirement. Learn how leading organizations implement security as a foundational element rather than an add-on consideration.

Security of the pipeline

Security of the pipeline includes tooling, reference architectures, and best practices for securing the pipeline, including Supply chain Levels for Software Artifacts (SLSA), Supply Chain Integrity, Transparency, and Trust (SCITT), and code signing. Discover how to protect the systems and processes that build and deploy your applications.

Security in the pipeline

Security in the pipeline is achieved in part through testing methodologies including static analysis, dynamic analysis, responsible AI testing, software composition analysis, formal methods (automated reasoning), and dependency tracking. These sessions demonstrate how to integrate comprehensive security testing throughout your development lifecycle.

In the following sections, you’ll find a subset of some of the most exciting sessions happening in our AppSec track this year. For the full list, visit the re:inforce 2025 catalog.

Breakout sessions, chalk talks, lightning talks, and code talks

APS204 | Breakout session | Scaling security with Sportsbet’s Security Guardians program
The Security Guardians program helps scale security across application teams by building and embedding security expertise. We dive deep on Sportsbet’s program where you will learn how to get started, key phases to consider, and the first learning steps for new guardians. Discover lessons learned, common challenges, and how to refine the program for long-term success. By integrating security into application teams early, Sportsbet fosters a culture of shared responsibility, improving security posture without slowing down development. We provide practical insights on launching and evolving a Security Guardians program to drive real impact across your organization.

APS301 | Breakout session | Improve code quality with Amazon Q Developer
Amazon Q Developer is a generative AI assistant that goes beyond writing code—it can also improve documentation, generate unit tests, and automate code reviews. In this session, discover how to integrate Amazon Q Developer into your software development lifecycle to detect security issues using software composition analysis (SCA), static application security testing (SAST), and other code quality checks. Learn how to improve your codebase quality using the capabilities of Amazon Q Developer within the integrated development environment (IDE) and DevSecOps tooling.

APS401 | Breakout session | Build verifiable apps using automated reasoning and generative AI
Large language models (LLMs) excel at generating creative solutions, while automated reasoning tools enable rigorous verification. This session explores methodologies for combining these complementary strengths to create more reliable AI systems. In this session, we introduce automated reasoning and demonstrate how formal methods can guide and constrain generative AI. By combining probabilistic and symbolic approaches, we show you how to build hybrid systems that maintain creative capabilities while ensuring verifiable outputs. We demonstrate how Amazon Q Developer and Amazon Bedrock Guardrails use automated reasoning to generate safe and logically correct output, free from hallucinations.

APS431 | Chalk talk | DevSecOps in action with Visual Studio Code & AWS IAM Access Analyzer
Organizations face a critical balance between developer productivity and security compliance when managing AWS Identity and Access Management (IAM) policies. In this session, discover how integrating AWS IAM Access Analyzer with Visual Studio Code empowers developers to create secure IAM policies during development. Learn to implement automated policy checks that catch overly permissive permissions early, validate against organizational standards, and provide real-time feedback. This proactive approach helps security teams maintain control while giving developers the autonomy they need, ultimately reducing deployment risks and saving valuable development time.

APS341 | Code talk | Move fast and stay secure: Lessons learned from the AWS prototyping team
When building prototypes and applications with technologies such as generative AI and serverless, it’s critical to move quickly and securely. In this code talk, learn how the AWS prototyping team successfully balances these goals. To meet user demand, AWS builds prototypes over a short amount of time while meeting a high bar for security expectations. Learn pointers, tips, and tricks to build quickly and securely, from threat modeling to using AWS Cloud Development Kit (AWS CDK) features, custom constructs, and blueprints to harden the security of your infrastructure and improve productivity.

APS441 | Code talk | Supercharge IaC security with AI: From commit to auto-remediation
Dive deep into building an automated security feedback loop that combines Git commit signatures, static analysis, and generative AI to revolutionize infrastructure as code (IaC) security. Through live coding, we’ll demonstrate how to use Amazon Q Developer and Amazon Bedrock to analyze IaC templates, automatically detect and resolve issues, and generate contextual fix recommendations. Learn how to implement commit-based tracking for security findings, automate issue creation, and integrate with continuous integration and delivery CI/CD pipelines. Watch as we build a complete system that reduces the time from vulnerability detection to remediation from days to minutes.

APS442 | Code talk | Create memory safe applications using open source verification tools
Memory-safety errors pose a significant security risk, enabling various attack vectors. At AWS, we prioritize memory-safety for unmanaged code handling customer data and processes. This talk presents two efforts to reduce memory-safety errors in Rust and C code. Both efforts involve developing verification tools for Rust and C code to check memory safety at scale that you can use. Our first effort verifies the Rust standard library, a core software resource, used by millions of developers. Our second effort uses a C model checker to verify C code for safety and correctness.

APS221 | Lightning talk | Building secure development into Amazon stores
Amazon.com has long been at the forefront of investing in robust security measures to protect customer data. As the digital landscape evolves, so do our strategies. This session explores our journey of continuous improvement in security practices, focusing on integration throughout the software development lifecycle using AWS services. We’ll share the cutting-edge methods used by Amazon.com for embedding security at every development stage and discuss successes and learnings. Join us to discover how we’ve adapted our tactics to meet changing developer and customer needs and to ensure our commitment to protecting customer data remains stronger than ever.

APS222 | Lightning talk | Transform threat modeling using generative AI
Discover how CRED, one of the biggest Fintech companies in India has used generative AI to automate threat modeling across their applications. Learn architectural patterns that enabled CRED to scale security analysis, improve risk identification, and enhance decision-making. See practical examples of integrating AI into security modeling workflows using Amazon Bedrock.

SEC221 | Lightning talk | Raising the tide: How AWS is shaping the future of secure AI for all
AI security is a top priority for AWS. By building AI solutions that are secure by design, AWS helps you innovate quickly with confidence while mitigating emerging threats. But securing AI goes beyond individual organizations—it requires industry-wide standards and best practices. AWS actively contributes to global AI security efforts, including participation in industry standards bodies such as The Coalition for Secure AI (CoSAI), to help ensure that AI technologies are safe, resilient, and trustworthy. This session will explore how AWS is leading AI security innovation, protecting customers, and collaborating to help shape the future of AI security for the entire industry.

Workshops and builders sessions

APS351 | Securing generative AI agents using AWS Well-Architected Framework
Learn hands-on how to build secure generative AI agent solutions following the AWS Well-Architected Framework Generative AI Lens security best practices. Work through practical implementations of endpoint security, prompt engineering guardrails, monitoring systems, and protection against excessive agency while building a production-ready generative AI agent. Through hands-on exercises, build a secure generative AI agent solution incorporating these controls on AWS, using Amazon Bedrock, Amazon CloudWatch, IAM, and more. You must bring your laptop to participate.

APS353 | Red-teaming your LLM security at scale
Step into the shoes of an AI-powered red team adversary in the GenAI Red Team Challenge. In this intensive workshop, you’ll deploy an AI security agent to orchestrate sophisticated attack chains against generative AI applications, systematically discovering and exploiting vulnerabilities from prompt injection to boundary testing while mastering automated security testing workflows. In addition, you’ll learn how to apply countermeasures, from prompt templating to guardrails. This hands-on, gamified experience helps you think like a threat actor and equips you with practical skills in automated vulnerability testing and risk mitigation against common MITRE and OWASP vulnerabilities for LLM-based applications. You must bring your laptop to participate.

APS354 | Secure your application using AWS services and open source tooling
AWS, open source, and partner tooling work together to accelerate your software development lifecycle. Learn how to use the Automated Security Helper (ASH), an open source application security tool, to quickly integrate various security testing tools into your software build and deployment flows. AWS experts guide you through the process of security testing locally on your machines and within a simulated pipeline using a sample generative AI application. Discover how to identify potential security issues in your applications through static analysis, software composition analysis, and infrastructure-as-code testing, and use Amazon Q Developer to review the results and generate remediation. You must bring your laptop to participate.

APS271 | Threat modeling for builders
In this workshop, you will learn threat modeling core concepts and how to apply them through a series of group exercises. Key topics include threat modeling personas, key phases, data flow diagrams, STRIDE (spoofing, tampering, repudiation, information disclosure, denial of service, and elevation of privilege), and risk response strategies. We introduce a threat grammar rule and an associated tool. Exercises will have you identify threats and mitigations through the lens of each of the threat modeling personas. You will assemble in groups and walk through a case study. AWS threat modeling subject matter experts will be on hand to guide you and provide feedback. You must bring your laptop to participate.

APS371 | Securing your generative AI applications on AWS
In this workshop, discover how to secure generative AI applications using AWS services and features. Explore how to deploy a vulnerable sample generative AI application and then layer security controls to protect, detect, and respond to security issues. Learn how to apply similar controls to the generative AI applications in your organization. You must bring your laptop to participate.

APS471 | Boost developer productivity with Amazon Q Developer and Amazon Bedrock
Accelerate development and drive innovation with Amazon Q Developer and Amazon Bedrock. Discover how AI-powered automation and intelligent code assistance can reduce friction, speed up development cycles, and improve code quality. Explore real-world use cases such as AI-driven code reviews, automated testing, and smart documentation generation. Learn how to seamlessly integrate these tools into your workflows to boost efficiency, enhance collaboration, and elevate the developer experience—all while making sure of security and compliance. Whether optimizing existing processes or adopting AI for the first time, this session provides actionable insights to supercharge your development teams. You must bring your laptop to participate.

Conclusion

This post showcases a subset of the exciting AppSec sessions available at the upcoming AWS re:Inforce 2025 conference. If you’re interested in these topics, we encourage you to register for re:Inforce 2025, where you can attend these sessions and many more across the other security domain tracks. To discover the full range of sessions across all security tracks, check out the complete AWS re:Inforce catalog.

If you have feedback about this post, submit comments in the Comments section below.

Daniel Begimher

Daniel Begimher

Daniel is a Senior Security Engineer specializing in cloud security and incident response solutions. He co-leads the Application Security focus area within the AWS Security and Compliance Technical Field Community, holds all AWS certifications, and authored Automated Security Helper (ASH), an open source code scanning tool. In his free time, Daniel enjoys gadgets, video games, and traveling.

Danny Cortegaca

Danny Cortegaca

Danny is a Security Specialist Solutions Architect and co-leads the Application Security focus area within the AWS Security and Compliance Technical Field Community. He joined AWS in 2021 and partners with some of the largest organizations in the world to help them navigate complex security and regulatory environments. He loves talking about application security with customers and has helped many adopt threat modeling into their practices.

Enhancing multi-account activity monitoring with event-driven architectures

Post Syndicated from Anton Aleksandrov original https://aws.amazon.com/blogs/compute/enhancing-multi-account-activity-monitoring-with-event-driven-architectures/

Enterprise cloud environments are growing increasingly complex as they scale, with organizations managing hundreds to thousands of Amazon Web Services (AWS) accounts across multiple business units and AWS Regions. Organizations need efficient ways to collect, transport, and analyze activity data for threat detection and compliance monitoring. This presents unique challenges for enterprise Application Security (AppSec) teams, cloud security vendors, and DevSecOps professionals, because traditional polling-based monitoring approaches struggle to provide real-time activity insights needed for modern cloud operations.

In this post, you will learn to use AWS CloudTrail and Amazon EventBridge for real-time cloud activity monitoring and automated response.

Overview

As organizations expand their cloud footprint, account activity monitoring that comprehensively tracks user actions and successfully identifies security threats becomes crucial for threat detection and compliance. Although AWS provides native tools—such as CloudTrail for API activity capture, EventBridge for real-time event routing, AWS Organizations for multi-account management, and AWS Config for resource evaluation—many enterprises struggle with the volume of activities while maintaining efficiency and controlling costs. Organizations need to carefully architect solutions to effectively use these tools as their environments scale.

Traditional polling-based techniques, which worked well for smaller environments, can become unsustainable when scaled to enterprise deployments, where the volume of activity data grows exponentially with each new account and service. API polling limitations, growing data volumes, and increasing demand for real-time analysis are pushing teams to rethink their architectural approach.

Figure 1. Poll model, periodically retrieving the latest state.

Adopting push-based event-driven architectures offers a compelling solution for AppSec teams and cloud security vendors facing these challenges. Using AWS services, such as CloudTrail and EventBridge, allows these teams and vendors to build scalable activity monitoring solutions that overcome the limitations of traditional polling-based approaches and provide real-time notifications across thousands of AWS accounts. This approach not only enables security use cases but also supports broader real-time operational monitoring, compliance reporting, and automation requirements.

“By integrating AWS CloudTrail and Amazon EventBridge, we’ve built a scalable architecture to monitor activity across thousands of AWS accounts. This provides the visibility needed to detect threats in real time and protect large, distributed AWS environments.” — Rob Solomon, Senior Cloud Solution Architect, CrowdStrike

Solution components

Enterprise AppSec teams and cloud security vendors share common requirements when building multi-account monitoring solutions. They need to efficiently collect activity data across thousands of accounts, transport it to a centralized location for analysis, and process it in real-time to detect threats and compliance violations. The solution must scale seamlessly from dozens to thousands of accounts while remaining highly-performant and cost-efficient. At its core, a scalable multi-account activity monitoring solution consists of three components: activity data collection, cross-account transport to a centralized location, and processing. In the following sections, you will learn how AppSec teams and cloud security vendors can implement each step efficiently while avoiding common pitfalls.

Figure 2. Push model. Account activity is collected at the source, and pushed to the AppSec or cloud security vendor account for further processing.

Data collection strategies

Many teams begin their cloud activity monitoring journey by polling the resource status through service management APIs. Although this approach works good for retrieving the latest resource state on-demand, its fundamental limitation is inability to detect state changes efficiently, necessitating continuous querying of all resources at fixed intervals. Consider a scenario where you’re monitoring 1,000 accounts, with 100 resources in each account. A single polling cycle would necessitate 100,000 API requests, consuming over 28 million API calls daily if running at five-minute intervals. This inefficiency compounds as environments grow, leading to throttling issues, increased costs, and scaling challenges.

AWS Config improved upon this by offering continuous resource configuration tracking without manual polling. Although this works excellent for configuration compliance and a history of changes for auditing, AWS Config reports changes on a best-effort basis and is not optimal for real-time threat detection.

To overcome this constraint, your solution can use services such as CloudTrail and EventBridge as primary data sources, complemented by intelligent on-demand targeted API polling. CloudTrail records API activity across AWS services, providing a detailed history of actions taken by users, roles, and AWS services in your accounts. Over 250 AWS services automatically report their activity and API calls to CloudTrail and EventBridge in real-time. This allows you to capture this information, providing a detailed history of actions taken in your accounts, and enabling security analysis, resource state change tracking, and compliance audit.

Figure 3. Over 250 AWS services are automatically emitting activity events to CloudTrail.

When a resource state changes, commonly as a result of a management API call, the affected service sends an event to CloudTrail and EventBridge. Your monitoring solution can examine the event payload to determine if polling for supplementary data is necessary, particularly when the initial payload lacks complete information. This provides you with comprehensive service coverage with reduced maintenance effort. This hybrid approach guarantees delivery of activity data to eliminate monitoring blind spots, while significantly reducing AWS management API quota consumption.

Cross-account data transport

Your solution should transport activity data from thousands of tenant accounts into a small number of centralized accounts, such as a regional AppSec account, for further processing and analysis. The solution must be secure, scalable, resilient, and cost-efficient while maintaining real-time delivery.

The most direct way to achieve it is to enable Amazon S3 event notifications for new objects that are created in the CloudTrail trails S3 bucket. When you receive the notification, you can retrieve and process new activities.

Figure 4. Exporting CloudTrail events into an S3 bucket and retrieving after receiving a notification.

This direct way to consume CloudTrail events has one important consideration: typically it can take an average of five minutes to deliver events to Amazon S3. Teams and vendors looking for lower mean-time-to-detect (MTTD) and mean-time-to-respond (MTTR) should evaluate transporting CloudTrail events across accounts with EventBridge, which provides close-to-real-time delivery.

Transporting events with EventBridge

EventBridge is a serverless event router that connects applications. It receives events from various sources, such as CloudTrail, and routes them to multiple targets based on defined rules.

Using EventBridge for cross-account data transport comes with several major benefits:

There are two approaches you can take for delivering cross-account events with EventBridge: direct service-to-service or service-to-API-endpoint.

The first approach uses the EventBridge direct bus-to-bus and bus-to-service delivery capabilities. This method is most suitable when you want AWS to handle data ingestion on the receiving end. The delivery target is always either an EventBridge bus, or another AWS service, such as an Amazon Simple Queue Service (Amazon SQS) queue, Amazon Kinesis Data Streams stream, or an AWS Lambda function. With support for up to 18,750 target invocations per second and native AWS Identity and Access Management (IAM) integration, this method is particularly suitable for large multi-account deployments.

The second approach uses the EventBridge API destinations feature. This method is most suitable when you have existing HTTP-based ingestion endpoints in place. Although it offers lower throughput, it provides greater flexibility for ingestion endpoint and authentication methods implementation, making it attractive for AppSec teams and cloud security vendors integrating with existing ingestion infrastructure.

Figure 5. Emitting CloudTrail events in real-time through EventBridge.

The following table summarizes two approaches for transporting events across accounts with EventBridge.

Direct bus-to-bus or bus-to-service API destinations
Data ingestion implementation effort Minimal Needed
Default target invocations per second (TPS) quotas Up to 18,750 (region dependent) Up to 300 (region dependent)
Can the TPS quota be increased Yes Yes
Authorization support Native AWS IAM, fully handled by AWS Basic, OAuth2, API Key. You’re responsible for implementing credentials validation during ingestion.
Cross-account delivery costs $1 per million events $0.20 per million events

Go to the EventBridge quotas and pricing pages for more details.

Processing architecture

Processing would commonly be done by existing products and services the AppSec team or cloud security vendor provides for activity analysis. The architecture for event processing pipeline operating at enterprise scale must consider design decisions to handle large and potentially irregular event volumes while maintaining high performance, as shown in the following figure.

Figure 6. An activity event processing pipeline, with priority-based processing.

Use the following best practices for a robust processing architecture:

  • Buffer ingested events Use services such as Amazon SQS, Amazon Kinesis Data Streams, or Amazon Managed Streaming for Apache Kafka to buffer incoming events, handle traffic surges, and make sure of reliable processing.
  • Use serverless services that scale automatically, or invest in automated scaling mechanisms that adjust processing capacity based on event volume
  • Minimize polling: Resort to intelligent on-demand polling, only poll when you need additional data that is not available in the CloudTrail event payload.
  • Routing and classification: Rather than processing all events equally, implement intelligent classification and routing early in your pipeline. Security-related events such as IAM changes or security group modifications should take priority over routine activities or data events. This approach helps to control costs while maintaining rapid detection of important security events.
  • Cost optimization: At the enterprise scale, cost optimization becomes crucial. Use EventBridge rules in source accounts to filter out irrelevant events before they enter your processing pipeline. Consider implementing regional collection points to optimize data transfer costs. When using Lambda functions for data processing, use batch processing to reduce invocation costs. Evaluate which event types must be delivered in real-time through EventBridge, which event types can be delayed and collected through S3 bucket export, and which events should be discarded.
  • Observability: Monitor the ingestion and processing throughput to react to potential slowdowns early. Detect when source accounts are approaching EventBridge quotas. Consider using AWS Service Quotas to request quota increases automatically through APIs.
  • Cross-Region considerations: Design your architecture to support efficient cross-Region event collection while respecting data sovereignty requirements. Consider implementing regional processing nodes with centralized aggregation for global security analysis.
  • Integration patterns: Modern security solutions must integrate with existing security tools and workflows. Implement standardized output formats that allow seamless integration with SIEM systems, ticketing platforms, and automation frameworks. Consider publishing security findings back to EventBridge buses to enable automated remediation workflows. If you’re a cloud security vendor, then consider integrating with EventBridge as an SaaS partner.

Conclusion

Event-driven architectures present a powerful opportunity for building scalable multi-account activity monitoring solutions. Using services such as AWS CloudTrail and Amazon EventBridge allows teams to overcome the limitations of traditional polling-based approaches while achieving close to real-time delivery.The shift to event-driven security monitoring isn’t just an architectural choice—it’s becoming a necessity for teams operating at enterprise scale. This approach enables security teams to achieve the real-time threat detection capabilities needed in today’s cloud environments while maintaining operational efficiency and cost control.

Optimizing fleet operations using Amazon SageMaker AI and Amazon Bedrock

Post Syndicated from Manny Sidhu original https://aws.amazon.com/blogs/architecture/optimizing-fleet-operations-using-amazon-sagemaker-ai-and-amazon-bedrock/

Every year in the United States, distracted driving claims thousands of lives and causes immense financial damage. More than 1.6 million accidents annually are caused by cell phone use while driving, and another 1.5 million result from drowsy drivers falling asleep at the wheel. These devastating—and preventable—accidents have sparked a major push for enhanced driver safety.

This initiative is particularly crucial in the commercial fleet industry, as accidents involving a large truck are often more dangerous and can cost hundreds of thousands of dollars. This post explores an innovative solution that leverages Amazon SageMaker AI and Amazon Bedrock to revolutionize driver coaching and enhance fleet efficiency. By harnessing the power of machine learning and artificial intelligence, we demonstrate how fleet operators can transform raw dashcam footage into actionable insights, empowering real-time driver monitoring and proactive safety measures – reducing costly accidents. Our approach combines AWS Artificial Intelligence (AI) and Internet of Things (IoT) services to create a comprehensive solution that not only detects distracted driving but also continuously improves its performance over time. Through this solution, we aim to show how fleet managers can significantly reduce distracted driving incidents, improve operational efficiency, and ultimately drive down costs in their commercial vehicle operations.

The Challenge: Effectively managing multiple dashcam feeds from commercial vehicle fleet

Today’s commercial vehicles are equipped with multi-camera systems that provide comprehensive coverage: inward-facing cameras monitor driver behavior, outward-facing cameras track oncoming traffic, and side/rear cameras detect cross-traffic and potential rear-end collisions. The sheer volume of video data generated by thousands of vehicles daily creates significant management and analysis challenges. While fleet operators traditionally use this dashcam footage for reactive purposes – such as law enforcement reporting, insurance claims, and driver exoneration – many organizations are missing a significant opportunity to leverage this data. As commercial fleets accumulate more miles, they generate rich datasets that can be used to train AI models capable of facilitating proactive safety improvements.

In this post, we’ll explore how to maximize the value of dashcam footage through best practices for implementing and managing Computer Vision systems in commercial fleet operations. We’ll demonstrate how to build and deploy edge-based machine learning models that provide real-time alerts for distracted driving behaviors, while effectively collecting, processing, and analyzing footage to train these AI models. This approach transforms fleet operations from reactive incident management to proactive safety enhancement, helping organizations convert raw video data into actionable insights that reduce safety incidents and improve overall fleet operational efficiency and cost-effectiveness.

Solution overview

A Distracted Driving Incident can occur when drivers engage in unsafe behaviors such as speeding, rolling stops, harsh braking, and aggressive acceleration. Fleet managers need to understand not just what happened during these incidents, but also the driver’s state of attention – whether they were focused on the road or distracted by activities like using a cellphone, eating, drinking, or experiencing fatigue common in long-haul driving.

Our solution leverages AWS services to create an end-to-end workflow capable of detecting and mitigating distracted driving. The steps involved include:

  1. Incident capture, ingestion, and labeling
  2. Model training, optimization, and deployment
  3. Continuous testing and improvement

Solution deep dive

This solution relies on a mix of AWS IoT, AI and generative AI services to build a scalable and cost-effective solution. Let’s start by looking at high level solution architecture and build the solution step-by-step.

Incident capture, ingestion, and labeling

To start the process of ingesting videos from a driver’s dashboard camera into the cloud, we capture the dashcam’s feed using the IoT Greengrass Kinesis Video Streamer Component. The video is streamed into the AWS Cloud using Kinesis Video Streams and stored in Amazon S3 by leveraging Kinesis Firehose. The videos are then converted into individual frames, analyzed by the Amazon Bedrock Nova Pro model to determine driver distraction, and sorted by an AWS Lambda function into an S3 bucket based on the analysis results. The sorted frames will next be used to train an AI model for edge deployment to detect distracted driving.

From a security perspective, it’s good practice to encrypt data in Amazon S3 buckets using AWS Key Management Service (KMS). You can enforce this by setting up SSE-KMS as the default encryption method to automatically encrypt uploaded objects. We also recommend implementing fine-grained AWS Identity & Access Management (IAM) roles to grant scoped access to images and videos. For data in transit between the edge and the cloud, you can use AWS IoT Greengrass certificates to encrypt your data and enforce identity verification. These measures can help protect against unauthorized access.

Edge-to-cloud architecture for real-time driver monitoring using AWS IoT, Kinesis, and ML services

With this process in place, we are continually collecting data from our fleet of commercial vehicles (while keeping security in mind). This data is automatically categorized and labeled based on the analysis from our Nova Pro model, and conveniently stored in S3, enabling us to seamlessly train an AI model – a process which we will describe next.

Model training, optimization, and deployment

The following diagram illustrates the process of training and deploying a distracted driver detection model. The process runs inside of an Amazon SageMaker Pipelines Workflow, which allows for seamless orchestration of other Amazon SageMaker AI services. This workflow begins with labeled driver images stored in Amazon S3, generated from the previously described workflow. This labeled dataset – consisting of driver images labeled as “distracted” or “not distracted’ – is used to train a ResNet50 model using Amazon SageMaker Training Jobs running on a Trn1 instance for price performance. As we train, the model learns how to identify distracted drivers. Once complete, the trained model is then quantized to INT8 using SageMaker Processing Jobs, and optimized for our specific type of edge hardware using SageMaker Neo. The optimized model is then stored in the SageMaker Model Registry for version control and governance (this will be helpful later when we iterate on our model with new training data). Finally, the model is pushed to S3 where AWS IoT Greengrass can initiate a deployment to the fleet of edge devices.

Running on the edge, the model performs inference multiple times a second on frames from the inward facing dashcam. (Inference speed calculated assuming edge compute has specs comparable to a Raspberry-Pi class of device.) If the driver is found to be distracted, the system alerts the driver by means of a noise. (ex. driver was falling asleep, and alert awakens them).

End-to-end AWS architecture for distracted driver detection: from model training to edge deployment

With this process in place, we have successfully leveraged the dataset we generated in the first diagram to train, optimize, and deploy our custom model to the ‘edge’ – in this case, to each vehicle in our fleet. Our model is now alerting drivers of dangerous behavior and helping to proactively prevent collisions. But our model likely isn’t perfect – perhaps it misses a dangerous behavior that wasn’t in the training dataset, or alerts unnecessarily. To validate our model is working well and further improve it to reduce errors, we implement continuous testing and improvement procedures.

Continuous testing and improvement

We need to continue to ingest driver dashcam data and compare our edge model’s predictions with our original source of ‘ground truth’ – Nova Pro.

The system collects frames for model validation in two scenarios: when vehicle telemetry detects incidents (hard braking, crashes) or when the edge model identifies distracted driving. These frames are sent to Amazon Bedrock for a ‘fact check’ to see if the edge model performed optimally. The comparative results between Amazon Bedrock and the edge model are stored in a dedicated S3 bucket for model evaluation. When sufficient new validated data is collected, or when the model’s agreement with Amazon Bedrock falls below a threshold, Amazon EventBridge triggers the previously described SageMaker Pipelines Workflow to fine tune, optimize, and re-deploy the improved model to the edge, now powered by our newly collected ‘disagreement data’.

Edge-to-cloud feedback loop for ML model validation using AWS IoT, Bedrock, and SageMaker services

We should also perform comparative analysis of our new model against our historical models stored in the Amazon SageMaker Model Registry to validate that our latest model actually performs better than historical models, verifying we don’t see a regression. If our latest model doesn’t outperform historical models, we should not deploy it, and instead investigate if we are suffering from overfitting or bad training data. In summary, we now have a model running inside fleet vehicles capable of alerting drivers to unsafe behavior. This could effectively reduce drowsy driving accidents by keeping drivers awake and alert, while also warning drivers about unsafe decisions like eating or using a cell phone while driving. This system is also self-training and self-improving, so it will continue to get better over time. Additionally, fleet management companies could aggregate safety data and reward top drivers to further incentivize safe driving habits.

Conclusion

In this post, we’ve explored an innovative solution that leverages AWS services to revolutionize driver coaching and fleet operations. By combining the power of Amazon SageMaker and Amazon Bedrock with AWS IoT and edge computing capabilities, we’ve demonstrated how to create a comprehensive, scalable solution for monitoring and improving driver behavior in real-time. This solution addresses the challenges of managing vast amounts of dashcam footage from commercial vehicle fleets, transforming raw video data into actionable insights. By implementing an end-to-end workflow that includes incident capture, categorization, model training, deployment, and continuous improvement, fleet operators can shift from reactive incident management to proactive safety enhancement. The benefits of this approach include:

  1. Enhanced safety: Real-time detection of distracted driving behaviors allows for immediate intervention and coaching.
  2. Improved efficiency: Automated analysis of dashcam footage reduces manual review time and costs.
  3. Scalability: The solution can handle large fleets and growing datasets with ease.
  4. Continuous improvement: The system learns and adapts over time, becoming more accurate and effective.
  5. Cost-effectiveness: By leveraging edge computing and optimized models, the solution minimizes compute costs.

As the transportation industry continues to evolve, solutions like this will play a crucial role in improving road safety, reducing operational costs, and enhancing overall fleet performance. By harnessing the power of AI and cloud computing, fleet operators can create safer, more efficient driving environments that benefit not only their businesses but also society as a whole. The future of fleet operations is here, and it’s driven by intelligent, data-driven systems that turn every mile driven into an opportunity for improvement and innovation.

Learn more by exploring AWS code samples to build hands-on SageMaker expertise. See the service in action through practical examples that demonstrate how to optimize model training and deployment across various use cases. Understand the financial advantages by conducting a cloud economics TCO analysis comparing traditional infrastructure against SageMaker’s managed services. This exercise reveals how SageMaker alleviates hidden costs while accelerating your ML development cycle.

Ready to take the next step? Connect with your AWS Solutions Architect to arrange a SageMaker AI Immersion Day tailored to your team’s specific challenges. These expert-led sessions provide personalized guidance that will help you implement SageMaker effectively within your organization’s unique context. For deeper dive into other relevant services Amazon Kinesis Video Streams, AWS IoT Greengrass, Amazon Bedrock


About the authors

[$] Glibc project revisits infrastructure security

Post Syndicated from jzb original https://lwn.net/Articles/1021837/

The GNU C Library
(glibc) is the core C library for most Linux distributions, so it is a
crucial part of the open-source ecosystem—and an attractive
target for any attackers looking to carry out supply-chain
attacks. With that being the case, securing the project’s
infrastructure using industry best practices and improving the
security of its development practices are a frequent topic among glibc
developers. A recent discussion suggests that improvements are not
happening as quickly as some would like.

Building a Conversational AI Chatbot Website with Backblaze B2 + LangChain

Post Syndicated from Pat Patterson original https://www.backblaze.com/blog/building-a-conversational-ai-chatbot-website-with-backblaze-b2-langchain/

A decorative image showing a cloud with the Backblaze logo with code imagery.

In an earlier blog post, I explained how to build your own LLM with Backblaze B2 + Jupyter Notebook, implementing a simple conversational AI chatbot using the LangChain AI framework to implement retrieval-augmented generation (RAG). The notebook walks you through the process of loading PDF files from a Backblaze B2 Bucket into a vector store, running a local instance of a large language model (LLM) and combining those to form a chatbot that can answer questions on its specialist subject.

That article generated a lot of interest, and a few questions:

  • “Could you make this into a web app, like ChatGPT?”
  • “Could you use this with OpenAI? DeepSeek?”
  • “Could I load multiple collections of documents into this?”
  • “Could I run multiple LLMs and compare them?”
  • “Can I add new documents to the vector store as they are uploaded to the bucket?”

The answer to all of these questions is “Yes!”

Today, I’ll present a simple conversational AI chatbot web app with a ChatGPT-style UI that you can easily configure to work with OpenAI, DeepSeek, or any of a range of other LLMs. In future blog posts, I’ll extend this to allow you to configure multiple LLMs and document collections, and integrate with Backblaze B2’s Event Notifications feature to load documents into the vector store within seconds of them being uploaded.

And, here’s a very short video of the chatbot in action:

Editorial note: A version of this article was previously published on the New Stack.

RAG basics

Retrieval-augmented generation, or RAG for short, is a technique that applies the generative features of an LLM to a collection of documents, resulting in a chatbot that can effectively answer questions based on the content of those documents.

A typical RAG implementation splits each document in the collection into a number of roughly equal-sized, overlapping chunks, and generates an embedding for each chunk. Embeddings are vectors (lists) of floating point numbers with hundreds or thousands of dimensions. The distance between two vectors indicates their similarity. Small distances indicate high similarity and large distances indicate low similarity.

The RAG app then loads each chunk, along with its embedding, into a vector store. The vector store is a special-purpose database that can perform a similarity search–given a piece of text, the vector store can retrieve chunks ranked by their similarity to the query text by comparing the embeddings.

Let’s put the pieces together:

Given a question from the user (1), the RAG app can query the vector store for chunks of text that are similar to the question (2). This will be the context that helps the LLM answer the user’s question. Here’s a concrete example using the Backblaze documentation collection: Given the question, “Tell me about object lock,” the vector store returns four document chunks, each of about 170 words, to the app (3). Here is a link to the text of, and a short extract from, each chunk:

  • Object Lock: With Object Lock Legal Hold, files are prevented from being changed or deleted, but the immutability does not have a defined retention period.
  • Object Lock: You can enable Object Lock on a bucket when you create a new bucket or on an existing bucket.
  • Object Lock: Object Lock in Backblaze B2 was designed with the Immutability feature in Veeam Backup & Replication in mind.
  • Enable Object Lock with the S3 Compatible API: To enable Object Lock on an existing S3 compatible bucket, add the x-amz-bucket-object-lock-token header with a value of 1 to the S3 Put Object Lock Configuration API call.

Unsurprisingly, three of the four results are extracts from the main documentation article on Object Lock.

In order to provide a conversational experience, the RAG app maintains a chat history in a message store. The RAG app retrieves the message history (4) to form part of the query it will send to the LLM.

A system prompt sets the guidelines for the LLM to generate responses. In a RAG, the system prompt typically specifies that the response should be based on retrieved document data rather than model memorization, and attempts to prevent hallucinations by ensuring that the model does not fabricate information if no relevant documents are found. Here is the system prompt from the RAG app:

Use the following pieces of context and the message history to answer the question at the end. If you don't know the answer,  just say that you don't know, don't try to make up an answer.

The RAG submits the system prompt, the context, the last few messages in the conversation, and the user’s question to the LLM (5), which generates a, hopefully useful, response (6). Here’s the answer it provided to the above question:

Object Lock is a feature that allows users to enforce immutability on files stored in cloud storage, specifically in services like Backblaze B2 and AWS S3. Here are the key points about Object Lock:

  1. Immutability: Once a file is locked, it cannot be modified or deleted until a specified retention period expires or a legal hold is lifted.
  2. Retention Periods: Users can set a retention period when locking a file. During this time, the file remains immutable, meaning it cannot be changed or deleted.
  3. Legal Hold: Users can place files under a legal hold, which prevents modifications or deletions indefinitely until the hold is removed.
  4. Enabling Object Lock: Object Lock can be enabled for new buckets or existing ones, but it must be turned on at the bucket level before files are uploaded.
  5. Integrations: Some applications, like Veeam Backup & Replication, offer built-in support for Object Lock, making the process easier for users when they want to ensure file immutability during backups.
  6. No Extra Cost: There is no additional fee for using Object Lock; however, standard storage charges for the locked files still apply.
  7. Mistakes in Locking: If a user locks a file for longer than intended, they may need to contact support to resolve the situation, which could involve closing their storage account in some cases.

Overall, Object Lock is a crucial feature for organizations that need to ensure data integrity and compliance with regulations concerning data retention.

The RAG app adds the user’s question and the LLM’s response to the message store (7), returns the answer to the user (8), and awaits the next question.

A quick tour of the sample app

The sample app is on GitHub at https://github.com/backblaze-b2-samples/ai-rag-app. The app is open source, under the MIT license, so you can use it as a basis for your own experimentation without any restrictions. The app was originally written to demonstrate RAG with Backblaze B2 Cloud Storage, but it works with any S3 compatible object store.  

The README file covers configuration and deployment in some detail; in this blog post, I’ll just give you a high-level overview. The sample app is written in Python using the Django web framework. API credentials and related settings are configured via environment variables, while the LLM and vector store are configured via Django’s settings.py file:

CHAT_MODEL: ModelSpec = {
'name': 'OpenAI',
'llm': {
'cls': ChatOpenAI,
'init_args': {
'model': "gpt-4o-mini",
}
},
}

# Change source_data_location and vector_store_location to match your environment
# search_k is the number of results to return when searching the vector store
DOCUMENT_COLLECTION: CollectionSpec = {
'name': 'Docs',
'source_data_location': 's3://blze-ev-ai-rag-app/pdfs',
'vector_store_location': 's3://blze-ev-ai-rag-app/vectordb/docs/openai',
'search_k': 4,
'embeddings': {
'cls': OpenAIEmbeddings,
'init_args': {
'model': "text-embedding-3-large",
},
},
}

The sample app is configured to use OpenAI GPT-4o mini, but the README explains how to use different online LLMs such as DeepSeek V3 or Google Gemini 2.0 Flash, or even a local LLM such as Meta Llama 3.1 via the Ollama framework. If you do run a local LLM, be sure to pick a model that fits your hardware. I tried running Meta’s Llama 3.3, which has 70 billion parameters (70B), on my MacBook Pro with the M1 Pro CPU. It took nearly three hours to answer a single question! Llama 3.1 8B was a much better fit, answering questions in less than 30 seconds.

Notice that the document collection is configured with the location of a vector store containing the Backblaze documentation as a sample dataset. The README file contains an application key with read-only access to the PDFs and vector store so you can try the application without having to load your own set of documents.

If you want to use your own document collection, a pair of custom commands allow you to load them from a Backblaze B2 Bucket into the vector store and then query the vector store to test that it all worked.

First, you need to load your data:

% python manage.py load_vector_store
Deleting existing LanceDB vector store at s3://blze-ev-ai-rag-app/vectordb/docs
Creating LanceDB vector store at s3://blze-ev-ai-rag-app/vectordb/docs
Loading data from s3://blze-ev-ai-rag-app/pdfs in pages of 1000 results
Successfully retrieved page 1 containing 618 result(s) from s3://blze-ev-ai-rag-app/pdfs
Skipping pdfs/.bzEmpty
Skipping pdfs/cloud_storage/.bzEmpty
Loading pdfs/cloud_storage/cloud-storage-about-backblaze-b2-cloud-storage.pdf
Loading pdfs/cloud_storage/cloud-storage-add-file-information-with-the-native-api.pdf
Loading pdfs/cloud_storage/cloud-storage-additional-resources.pdf
...
Loading pdfs/v1_api/s3-put-object.pdf
Loading pdfs/v1_api/s3-upload-part-copy.pdf
Loading pdfs/v1_api/s3-upload-part.pdf
Loaded batch of 614 document(s) from page
Split batch into 2758 chunks
[2025-02-28T01:26:11Z WARN lance_table::io::commit] Using unsafe commit handler. Concurrent writes may result in data loss. Consider providing a commit handler that prevents conflicting writes.
Added chunks to vector store
Added 614 document(s) containing 2758 chunks to vector store; skipped 4 result(s).
Created LanceDB vector store at s3://blze-ev-ai-rag-app/vectordb/docs. "vectorstore" table contains 2758 rows

Now you can verify that the data is stored by querying the vector store. Notice how the raw results from the vector store include an S3 URI identifying the source document:

% python manage.py search_vector_store 'Which B2 native APIs would I use to upload large files?' 
2025-03-01 02:38:07,740 ai_rag_app.management.commands.search INFO Opening vector store at s3://blze-ev-ai-rag-app/vectordb/docs/openai
2025-03-01 02:38:07,740 ai_rag_app.utils.vectorstore DEBUG Populating AWS environment variables from the b2 profile
Found 4 docs in 2.30 seconds
2025-03-01 02:38:11,074 ai_rag_app.management.commands.search INFO
page_content='Parts of a large file can be uploaded and copied in parallel, which can significantly reduce the time it takes to upload terabytes of data. Each part can be anywhere from 5 MB to 5 GB, and you can pick the size that is most convenient for your application. For best upload performance, Backblaze recommends that you use the recommendedPartSize parameter that is returned by the b2_authorize_account operation. To upload larger files and data sets, you can use the command-line interface (CLI), the Native API, or an integration, such as Cyberduck. Usage for Large Files Generally, large files are treated the same as small files. The costs for the API calls are the same. You are charged for storage for the parts that you uploaded or copied. Usage is counted from the time the part is stored. When you call the b2_finish_large_file' metadata={'source': 's3://blze-ev-ai-rag-app/pdfs/cloud_storage/cloud-storage-large-files.pdf'}
...

The core of the sample application is the RAG class. There are several methods that create the basic components of the RAG, but here we’ll look at how the _create_chain() method brings together the system prompt, vector store, message history, and LLM.

First, we define the system prompt, which includes a placeholder for the context—those chunks of text that the RAG will retrieve from the vector store:

# These are the basic instructions for the LLM
system_prompt = (
"Use the following pieces of context and the message history to "
"answer the question at the end. If you don't know the answer, "
"just say that you don't know, don't try to make up an answer. "
"\n\n"
"Context: {context}"
)

Then we create a prompt template that brings together the system prompt, message history, and the user’s question:

# The prompt template brings together the system prompt, context, message history and the user's question
prompt_template = ChatPromptTemplate(
[
("system", system_prompt),
MessagesPlaceholder(variable_name="history", optional=True, n_messages=10),
("human", "{question}"),
]
)

Now we use LangChain Expression Language (LCEL) to bring the various components together to form a chain. LCEL allows us to define a chain of components declaratively; that is, we provide a high-level representation of the chain we want, rather than specifying how the components should fit together. 

Notice the log_data() helper method—it simply logs its input and passes it on to the next component in the chain.

# Create the basic chain
# When loglevel is set to DEBUG, log_input will log the results from the vector store
chain = (
{
"context": (
itemgetter("question")
| retriever
| log_data('Documents from vector store', pretty=True)
),
"question": itemgetter("question"),
"history": itemgetter("history"),
}
| prompt_template
| model
| log_data('Output from model', pretty=True)
)

Assigning a name to the chain allows us to add instrumentation when we invoke it:

# Give the chain a name so the handler can see it
named_chain: Runnable[Input, Output] = chain.with_config(run_name="my_chain")

Now, we use LangChain’s RunnableWithMessageHistory class to manage adding and retrieving messages from the message store:

# Add message history management
return RunnableWithMessageHistory(
named_chain,
lambda session_id: RAG._get_session_history(store, session_id),
input_messages_key="question",
history_messages_key="history",
)

Finally, the log_chain() function prints an ASCII representation of the chain to the debug log:

log_chain(history_chain, logging.DEBUG, {"configurable": {'session_id': 'dummy'}})

This is the output:

The RAG class’ invoke() function, in contrast, is very simple. Here is the key section of code:

response = self._chain.invoke(
{"question": question},
config={
"configurable": {
"session_id": session_key
},
"callbacks": [
ChainElapsedTime("my_chain")
]
},
)

The input to the chain is a Python dictionary containing the question, while the config argument configures the chain with the Django session key and a callback that annotates the chain output with its execution time. Since the chain output contains Markdown formatting, the API endpoint that handles requests from the front end uses the open source markdown-it library to render the output to HTML for display.

The remainder of the code is mostly concerned with rendering the web UI. One interesting facet is that the Django view, responsible for rendering the UI as the page loads, uses the RAG’s message store to render the conversation, so if you reload the page, you don’t lose your context.

Take this code and run it!

The sample AI RAG application is open source under the MIT license, and I encourage you to use it as the basis for your own RAG exploration. The README file suggests a few ways you could extend it, and I also draw your attention to conclusion of the README if you are thinking of running the app in production:

[…] in order to get you started quickly, we streamlined the application in several ways. There are a few areas to attend to if you wish to run this app in a production setting:

Above all, have fun! AI is a rapidly evolving technology, with vendors and open source projects releasing new capabilities every day. I hope you find this app a useful way of jumping in.

The post Building a Conversational AI Chatbot Website with Backblaze B2 + LangChain appeared first on Backblaze Blog | Cloud Storage & Cloud Backup

Завръщането на буржоазния зеленчук

Post Syndicated from Чило Попов original https://www.toest.bg/zavrushtaneto-na-burzhoazniya-zelenchuk/

Завръщането на буржоазния зеленчук

Един виц за Катуница обяснява произхода на името ѝ с рицар кръстоносец, озовал се там по пътя си към Йерусалим. Като видял селото, възкликнал на чист български: „Кату Ница!“

Днес това наистина подредено, чисто и живо село е действително (а не като във виц) по-близо до Европа благодарение на едни будни и предприемчиви земеделци, които от около десет години насам с постоянство възстановяват отглеждането на някога традиционния за България зеленчук – аспержите. 

Малко история

Аспержите са отглеждани в продължение на десетилетия в Централна и Южна Тракия и по поречието на река Марица в периода от създаването на младата българска държава до 1945 г. Разказва се, че те, както и други култури, са донесени в България от агрономи от Чехия, които са си сътрудничили със земеделската опитна станция в град Садово, в чиято община се намира и село Катуница. Тук ще вмъкна и любопитния факт, че според една от версиите картофите, които са неизменна част от българската кулинарна традиция, са донесени в България от чешки минни инженери, които са разработвали рудници в Родопите около 1830 г. 

Завръщането на буржоазния зеленчук
Виктор Илиев. Снимка: © Чило Попов

Заради потенциала на плодородната почва в Тракия започва засаждането на все повече аспержи. За кратко време то така се разраства, че България се превръща в значим износител за Западна Европа на аспержи и ягоди, които малко по-рано идват по тракийските земи, също донесени от чехите. 

За жалост на производители и ценители, след 1945 г. комунистическият режим обявява аспержите за „бyржоазен“ зеленчук и проводник на упадъчна култура и нарежда унищожаването на всички насаждения в цялата страна. Десетилетията на тоталитарен мрак водят до изкореняването на зеленчука и от кулинарната традиция, и от спомените на хората, така че след краха на комунизма трябва да минат почти две десетилетия, докато потребители, търговци и производители се сетят, че аспержите някога са имали своето място в градините и кухните ни и е време това пак да бъде така.

Етимология и произход

Латинското име на растението е Asparagus officinalis и е директна заемка от старогръцки – ἀσπάραγος, което може да означава ‘гръклян’, но и ‘млада издънка’.

Както червеното цвекло се използва за оцветител, а синапът като афродизиак, така и аспержите първоначално са служили не за храна, а за лекарство. Произлизат от Западна Азия, където са били диворастящи. Древните гърци са използвали зеленчука като диуретик и прочистваща билка. Чак римляните започват да го култивират и той се превръща от лекарство в модерен зеленчук за заможните. Беден е на калории, но богат на фибри, витамин Е и В, фосфор, магнезий, калий и желязо. 

Както много други неща, древните гърци и римляните са смятали аспержите за афродизиак. Засега не е доказано. Заради това схващане обаче в Римската империя са били забранени за консумация от жените. В Древна Гърция жените пък са го използвали за амулет, предпазващ от зачеване. 

Турската дума за аспержа описва характерната форма на зеленчука особено цветущо: kuşkonmaz означава ‘където не може да кацне птица’. 

Завръщането на буржоазния зеленчук
Снимка: © Чило Попов

„Българско аспержи“*

Преди около шест години случайно разбрах за Виктор Илиев, който от 2001-ва е избрал градинарството за свое призвание. Заедно с баща си, подкрепящ го с опит и любов, създава първото аспержово насаждение в региона, в който още от 1902 г. са се отглеждали първите аспержи в България. Всяка година със семейството ми не пропускаме да се възползваме от този зеленчук в сравнително краткия му сезон, в чийто край се намираме, докато пиша тази статия. Ако се чудите кога аспержите са най-хубави – от края на март до края на май. През тези два месеца ние и гостите ни преяждаме с аспержите на Виктор и тъй като за мен е особена радост да отида лично да Катуница, за да си ги взема, не пропускам всеки път да си побъбря с този човек, бликащ от идеи и енергия и зареждащ околните с оптимизъм.

Рецепти за облагородени буржоа

За онагледяване на твърденията и за поощряване на консумацията, така че и читателите ни да се почувстват облагородени буржоа, споделям три рецепти с аспержи от моя профил в Instagram –
tchilo_garum.

Зелените аспержи са най-разпространените в България и се приготвят бързо и лесно. Те нямат нужда от дълга термична обработка и са изключително полезни и здравословни.

Почистват се като се чупят на ръка в дебелия им край – стъблото се държи с двете ръце близо до долния му край и при огъване „свещта“ се чупи там, където се разделят твърдата и крехката част. Белят се с 90-градусова белачка до средата на стъблото.

Наскоро, прибирайки поредната поръчка за мен и приятели, помолих Виктор да отидем до нивата, която, наред с още други земи, е семейна собственост от времето на прадядо му и където аспержовата територия се разраства всяка година. Към края на сезона „свещите“, както Виктор нарича надземната част на растението, са по-нарядко и са по-тънки, а честотата на брането е разредена. Тоест май хванах последния влак тази година, за да видя на живо плода на труда му.

Човек, решил се да гледа аспержи, трябва да е наясно, че освен краткия им сезон, има още няколко особености, които не са непременно аргументи в полза на аспержовите насаждения. 

Първото и най-интересно е, че след полагането на разсада в земята той носи реколта чак след третата година. Тогава аспержите развиват стабилно коренище, което всяка година изкарва много отделни филизи и свещи. При излизането си над повърхността позеленяват, а ако се загърлят в лехи и останат под пръстта, са си бели. Това е и разликата между белите и зелените аспержи.

Друга особеност е краткият сезон, който ограничава силно възможността за земеделците да използват оптимално площите си, тъй като аспержите са многогодишни растения с жизнен цикъл от около 20–25 години и това не позволява извън сезона на техните територии да се садят и отглеждат други култури.


Зелени аспержи с пармезан, домати и песто на фурна


Почистените аспержи се нареждат в тава, намасляват се със зехтин и към тях се добавят няколко скилидки ситно нарязан чесън.

Аспержите с чесъна се посоляват и се поръсват щедро с люспи от пармезан (или друго твърдо сирене), две супени лъжици песто дженовезе, разпределени по повърхността, и две шепи разполовени чери доматчета.

Пекат се на 180°С за 15 минути в предварително загрята фурна.

През останалата част от годината 

Виктор отглежда около 6 дка пловдивска капия – една от най-вкусните чушки, има градина с тикви, а също и с дюли и мушмули. Интересно ми беше да разбера, че мушмулите много се търсят от търговците и той успява да продаде предварително почти цялата си реколта.

Спокойно и оптимистично се почувствах, когато стоях и гледах нивите на Виктор до коритото на река Чая, подредени и поддържани, и самия него – неспиращ да разказва истории, да крои планове за следващата година, когато очаква и първата реколта от новите лилави аспержи, доставени от Англия.

Връщаме се в семейната им къща в селото, в чиято градина се отглежда разсадът за цялото стопанство, поддържа се техниката и се мият и подреждат „свещите“ на специална поточна минилиния за миене и сортиране, закупена на старо от Германия и върната към живот в село Катуница. 

Завръщането на буржоазния зеленчук
Снимка: © Чило Попов

Всичко е скромно и честно, затова буди и такива симпатии у мен като посетител, а вече и като приятел. Тракторът „Болгар“ се поддържа и ремонтира добре и затова още служи вярно, фрезата е от Вазовските заводи, а плугът – от ГДР. Виктор отдавна се е отказал да разчита за каквото и да е на държавата. Твърди, че е по-добре да си свърши сам работата и да се разпростира и планира според чергата си, вместо да инвестира време и енергия в попълване на безкрайни формуляри и подготовка на десетки документи, които биха го наредили сред аутсайдерите за получаване на държавна помощ или субсидия, защото се занимава с градинарство, а не отглежда технически или монокултури в индустриални количества. И най-вече защото не е човек на някого и не се ползва с протекции.


Испански тиган с аспержи и скариди


Връзка и половина изчистени аспержи се нарязват диагонално на парчета от 3–4 см и се запържват в зехтин.

След 5 минути към тях се добавят 300–400 г обелени сурови скариди, три скилидки нарязан чесън, всичко се подправя със сол и черен пипер и се разбърква. След още 3 минути в тигана се добавя една шепа разполовени чери домати, полива се със сока от половин лимон и се поръсва с една връзка нарязан магданоз.

Сервира се с чаша бяло вино и препечен хляб.

Към края на разговора ни към нас се присъединява бащата на Виктор – Атанас, който също е потомствен земеделец, включително и що се отнася до политическата му ориентация. С разочарование споделя за пропиляната енергия от началото на 90-те от страна на БЗНС, който се е радвал на голяма подкрепа в цялата община. Партия, станала жертва на балкански кавги и интриги, размита през годините от недобросъвестни водачи и останала само избледняващ спомен за някогашните надежди и очаквания на хората от малките градове и села на България.

Завръщането на буржоазния зеленчук
Виктор и Атанас Илиеви. Снимка: © Чило Попов

Някак си мимоходом и накрая Атанас споделя нещо, което ме накара да настръхна, а очите ми да се навлажнят:

Чило, знаеш ли, че още прадядото на Виктор е гледал аспержи тук, в селото? И не само, ами е бил май първият, който ги е засял! А след няколко години са го потърсили от царския дворец и са поръчвали от него за кухнята на двореца!

Ей така, между другото, ми беше съобщен такъв впечатляващ факт, който има значение в много различни посоки, и всичките са хубави. Това не е случайно, казвам си, и трябва да продължи – въпреки всичкия хаос и мръсотия извън този малък балон на привидна нормалност. 


Крем супа от аспержи


500 г аспержи (една голяма връзка) се измиват и без да се белят или чупят краищата им, се нарязват на едро. Връхчетата на почти всички се отрязват и отделят настрана.

Нарязаните аспержи заедно с две скилидки чесън се варят в 1–1,5 л зеленчуков или пилешки бульон до омекване, а след това сместа се пасира добре и се маха от котлонa.

В тиган с масло се запържват връхчетата на аспержите, докато променят цвета си и не започнат да отделят аромат (за около 3–5 мин.)

Към пасираната смес се добавят 100 мл сметана за готвене, малко горчица на прах и смлян черен пипер.

При сервиране супата се поръсва с хрупкавите връхчета на аспержите вместо крутони и с настърган пармезан. Върви също с препечена филийка.

Само си представих, ако това семейство беше в Англия, Германия или Скандинавия, какво би им донесла тази малка история, и то с право. Как подобни семейни ферми, производители на какво ли не, от десетки години се кичат с привилегията да могат да твърдят, че някога са доставяли на двореца по негова поръчка. 

Буржоазният зеленчук рязко получи подплата на претенциите си в моите очи, при това по един съдържателен и чист начин. Чрез благородна скромност. 

* Този надпис видях на Четвъртък пазара в Пловдив и е доказателство, че хората все още се запознават с тази земеделска култура.


 „Вкусната страна“ е поредица на Чило Попов, в която той ни разхожда из България и Балканите, среща ни с производители на храни и продукти и ни води по местата, от които произхождат. Разказва истории за нашето общо минало, настояще и бъдеще през продукти, аромати и вкусове. Всеки разказ ще съдържа и някоя и друга кулинарна рецепта, за да опознаем по-добре вкусната страна на живота.

[$] Allowing BPF programs more access to the network

Post Syndicated from daroc original https://lwn.net/Articles/1022034/

Mahé Tardy led two sessions about some of the challenges that he, Kornilios Kourtis,
and John Fastabend have run into in their work on

Tetragon
(Apache-licensed BPF-based security monitoring software)
at the Linux Storage, Filesystem, Memory Management, and BPF Summit. The session
prompted discussion about the feasibility of letting BPF programs
send data over the network, as well as potential new kfuncs to let BPF firewalls
send TCP reset packets. Tardy presented several possible ways that these could
be accomplished.

[$] System-wide encrypted DNS

Post Syndicated from jzb original https://lwn.net/Articles/1021357/

The increasing sophistication of attackers has organizations
realizing that perimeter-based security models are inadequate. Many
are planning to transition their internal networks to a zero-trust
architecture
. This requires every communication on the network to
be encrypted, authenticated, and authorized. This can be achieved in
applications and services by using modern communication
protocols. However, the world still depends on Domain Name System
(DNS) services where encryption, while possible, is far from being the
industry standard. To address this we, as part of a working group at
Red Hat, worked on fully integrating encrypted DNS for Linux
systems—not only while the system is running but also during the
installation and boot process, including support for a custom
certificate chain in the initial ramdisk. This integration is now
available in CentOS Stream 9, 10, and the upcoming
Fedora 43 release.

Security updates for Wednesday

Post Syndicated from jzb original https://lwn.net/Articles/1022853/

Security updates have been issued by AlmaLinux (gstreamer1-plugins-bad-free and kernel), Arch Linux (bind and varnish), Debian (glibc and syslog-ng), Fedora (microcode_ctl, mozilla-ublock-origin, nodejs20, and nodejs22), Mageia (firefox, nss, rootcerts, open-vm-tools, sqlite3, and thunderbird), Oracle (gstreamer1-plugins-bad-free, kernel, libsoup, nodejs:22, php, php:8.2, php:8.3, python-tornado, redis, and redis:7), Red Hat (libsoup, pcs, and python-tornado), Slackware (mozilla), SUSE (bind, dnsdist, elemental-operator, govulncheck-vulndb, gstreamer-plugins-bad, jetty-annotations, jq, libnss_slurm2, libyelp0, mariadb, nvidia-open-driver-G06-signed, prometheus-blackbox_exporter, python-h11, python-httpcore, python-setuptools, python312, python39-setuptools, screen, sqlite3, umoci, and webkit2gtk3), and Ubuntu (cifs-utils, glibc, linux-aws, linux-intel-iotg-5.15, linux-nvidia-tegra-igx, linux-raspi, linux-aws-fips, linux-hwe-6.8, linux-lowlatency, linux-lowlatency-hwe-6.11, linux-oracle, linux-raspi, linux-raspi-5.4, and net-tools).

The collective thoughts of the interwebz