UA DevOps
رفتن به کانال در Telegram
Канал з новинами у DevOps світі. Актуальні статті та цікаві рішення. Наш чат: @ua_devops_community реклама: @yuliy_ceaser
نمایش بیشتر730
مشترکین
اطلاعاتی وجود ندارد24 ساعت
+17 روز
-130 روز
آرشیو پست ها
729
🔄 🔥 У тренді: home-ops - Моя домашня інфраструктура написана як код, відповідно до практик GitOps.
Home-ops - це проект, що представляє мою домашню або для-дому інфраструктуру, написану як код і дотримуючись практик GitOps. Це дзеркало репозиторію на GitHub.
🔗 Читати оригінал
📰 Джерело: GitHub Trending
📅 2026-10-23 06:00 UTC
#DevOps #CloudNative
729
Прийняті прогалини базового рівня все ще вважаються непокритими. Базовий рівень фіксує, що прогалину терпіти, а не те, що її закрили. Оцінка, яка зросла через те, що хтось закомітив файл, нічого не вимірює.
README Badge
--badge записує оцінку як файл кінцевої точки shields.io:
Опублікуйте цей файл з CI і вкажіть на нього значок. Помістіть його на окрему гілку, а не вносьте зміни в основну гілку: захищена основна гілка приймає зміни лише через pull request, тому робочий процес, який намагається надіслати значок туди, буде відхилений.
🔗 Читати оригінал
📰 Джерело: GitHub Trending
#DevOps #CloudNative
729
Використовуйте --output-file, щоб записати звіт на шлях замість stdout. Це працює з кожним форматом і є надійним способом створення звіту, що читається машиною: перенаправлення stdout також захоплює журнал налагодження, тому --output sarif --debug > report.sarif дає файл, який не є дійсним JSON.
Щоб опублікувати звіт з робочого процесу GitHub Actions:
Непокриті категорії тоді з'являються на вкладці Безпеки репозиторію поряд з вашими іншими сканерами.
Публікація звіту до pull request
SARIF поміщає непокриті категорії на вкладку Безпеки, яку люди відвідують час від часу. Коментар до pull request — це місце, де вони вже є.
--edit-last підтримує один коментар в актуальному стані замість додавання одного за кожен пуш. Він співпадає з останнім коментарем того ж користувача, тому якщо щось інше коментує як github-actions також, співпадайте з маркером замість:
Pull request з форку отримує токен лише для читання, тому крок коментування не може публікувати. Захистіть його з if: github.event.pull_request.head.repo.full_name == github.repository, а не намагаючись використовувати pull_request_target, що запустило б ваш робочий процес з правами на запис до коду форку.
Оцінка покриття
Кожне сканування підсумовується як оцінка покриття: категорії, які застосовуються до репозиторію, мінус ті, що все ще непокриті.
Виключені категорії залишають знаменник. Репозиторій не знижує свою оцінку за категорію, яку він оголосив неактуальною за допомогою --excluded-categories.
Отже, категорії без нічого для сканування. Репозиторій без Terraform, Helm chart, Kubernetes manifest або Dockerfile не отримує вказівку додати Checkov і оцінюється з десяти, а не з одинадцяти. Сканування вказує, що: IaC Security не застосовується і не входить до оцінки: нічого в цьому репозиторії цього не потребує. Таким чином, три категорії виключаються.
IaC Security потребує інфраструктури для сканування, а виявлення навмисно широке — директорія з назвою infra, k8s або charts достатня, щоб її зберегти. Workflow Security потребує GitHub Actions або GitLab CI, формати, які читають його інструменти. Проект GitLab вказується на glsec або poutine, проект GitHub — на zizmor, actionlint, Scorecard або poutine, а репозиторій, що працює лише на CircleCI, не оцінюється за цим критерієм. Agent Skill Security потребує SKILL.md поза директоріями залежностей і тестів; він отримує кредит за Cisco Skill Scanner, SkillSpector або Snyk Agent Scan, запущений у CI. Щоб перевірити самі навички, дивіться zanadir skills.
Інші категорії застосовуються до будь-якої кодової бази, а ті, які, можливо, не застосовуються — навантажувальне тестування бібліотеки, SBOM для чогось, що нічого не постачає — не можуть бути відокремлені від тих, що застосовуються, тому здогадування виключить категорії, які репозиторій дійсно потребує.
729
Скануйте репозиторій на предмет пропозицій щодо покращення CI/CD:
Або скануйте репозиторій GitHub без його клонування:
--repo завантажує архів репозиторію в тимчасову директорію, сканує його точно так, як при перевірці, і видаляє. Лише файли, які читає zanadir, зберігають свій вміст. Архів GitHub пропускає все, що.gitattributes позначає як export-ignore, що часто включає.github, тому zanadir завантажує ці файли окремо, а не повідомляє про репозиторій без CI. Публічні репозиторії не потребують токена; встановіть GITHUB_TOKEN (або GH_TOKEN), щоб отримати доступ до приватних, або підвищте ліміт запитів GitHub. Репозиторії GitLab і Bitbucket все ще потребують клонування.
Формати виходу
Zanadir підтримує три формати виходу: таблиця (за замовчуванням), JSON та SARIF.
Коли нічого не бракує, сканування повідомляє про це, а не друкує порожню таблицю:
Заголовок виділений жирним шрифтом на інтерактивному терміналі. Колір пропускається, коли вихід передається через конвеєр або записується з --output-file, і коли встановлено NO_COLOR.
Один об'єкт з оцінкою, CI-системами, конфігурацію яких було знайдено, непокритими категоріями та інструментами, які їх покривають, покритими категоріями, інструменти яких не можуть повністю захистити репозиторій, та категоріями, які не враховуються в оцінці. Кожен список є масивом, порожнім, а не null, коли в ньому нічого немає.
Мова з'являється в рекомендованому інструменті лише тоді, коли вона специфічна для однієї мови, а місцезнаходження в ослабленій категорії лише тоді, коли воно вказує всередині репозиторію. Перед версією 0.10.0, --output json друкував лише голий масив, який тепер є uncovered, з великими ключами.
SARIF є стандартним форматом обміну для результатів статичного аналізу. Виведення його дозволяє непокритим категоріям з'являтися на вкладці безпеки GitHub та на будь-якій іншій платформі, що споживає SARIF, поряд з вашими іншими сканерами.
Кожна непокрита категорія стає одним правилом SARIF і одним результатом на рівні попередження, з рекомендованими інструментами, зазначеними в тексті допомоги результату. Результати прив'язані до файлу конфігурації CI — місця, куди буде додано відсутній інструмент. Відсутній контроль не є дефектом на конкретному рядку, але кожен споживач SARIF очікує місцезнаходження, і перевірка коду GitHub відхиляє звіт, результати якого не мають жодного.
Markdown є форматом для представлення сканування людям, а не у файлі. Інструменти посилаються на свої репозиторії, а звіт відкривається з прихованим маркером, щоб робочий процес міг оновити коментар, який він залишив востаннє, замість того, щоб додавати новий при кожному пуші.
Коли нічого не бракує, таблиця пропускається, залишаючи один рядок.
729
fix повертає готову до вставки конфігурацію для прогалин і нічого не записує.
Обидва приймають dir (локальне клонування, за замовчуванням поточний каталог) або repo (github.com/owner/name[@ref], читається без клонування), а також excludedCategories.
Агент може бути керований тим, що він читає, тому сервер зберігає свої інструменти в тому вигляді, в якому ви його запустили. dir має бути всередині --dir (за замовчуванням каталог, з якого запускається сервер); відносний шлях читається звідти. Запити до repo анонімні, тому вони досягають лише публічних репозиторіїв, якщо ви не запустите сервер з --repo-token, щоб дозволити їм використовувати GITHUB_TOKEN або GH_TOKEN.
Він зазначений у Реєстрі MCP як io.github.MustacheCase/zanadir, де він працює з Docker-образу з вашим репозиторієм, змонтованим лише для читання. Для інших клієнтів, таких як Cursor, VS Code або Windsurf:
Як плагін Claude Code
У Claude Code плагін zanadir приносить обидва: сервер MCP і навичку, яка сканує, читає вашу конфігурацію CI, рекомендує виправлення в пріоритетному порядку та редагує файли лише після вашого вибору. Сервер запускає встановлений zanadir, якщо він версії 0.18.0 або новішої, а в іншому випадку - Docker-образ.
Потім попросіть Claude Code переглянути або зміцнити ваш CI, або запустіть /zanadir:improve-ci.
llms.txt підсумовує zanadir для агентів, які читають репозиторій, і доступний за адресою mustachecase.github.io/llms.txt для тих, хто дивиться на корінь сайту.
Особливості
📂 Scan: Аналізує репозиторій на предмет пропозицій щодо покращення CI/CD, включаючи служби безпеки та найкращі практики.
🔍 CI Analysis: Оцінює, чи може кожен контроль насправді зірвати збірку, а не лише чи він присутній.
🛠️ Fix: Друкує або записує як робочий процес конфігурацію CI для категорій, які сканування повідомляє як відсутні.
🚀 Open Source: Внески вітаються для покращення можливостей Zanadir!
Підтримувані дії CI
Категорії, які ми пропонуємо
Zanadir аналізує репозиторії в наступних категоріях. Назва, виділена жирним шрифтом, є точною величиною, яку потрібно передати до --excluded-categories (порівняння нечутливе до регістру):
🛡️ SCA: Аналіз складу програмного забезпечення
🔐 Secrets Detection: Управління секретами
📜 Ліцензійна відповідність: Ліцензійна відповідність
🛠️ Кінець життєвого циклу: Пакети програмного забезпечення, що вийшли з використання
📊 Покриття: Тестове покриття
📊 Тестування продуктивності: Тестування продуктивності та надійності
🧑💻 Лінтер: Лінтування коду
🧪 Юніт-тести: Автоматизоване юніт-тестування
🔎 SAST: Статичне тестування безпеки застосунків
🏗️ Безпека IaC: Сканування неправильних налаштувань інфраструктури як коду
🔗 Ланцюг постачання: Генерація, підписування та походження SBOM
🧱 Безпека робочого процесу: Укріплення визначення конвеєра
🤖 Безпека навичок агента: Сканування навичок агента (SKILL.md) на наявність ін'єкцій запитів та шкідливого коду
Приклади використання
Основне використання
729
Zanadir читає конфігурацію CI репозиторію та повідомляє, які контролі безпеки та якості відсутні або налаштовані так, що не можуть зупинити збірку.
Що він відповідає
Що мені не вистачає в моєму pipeline? Тринадцять категорій, від сканування залежностей і виявлення секретів до SBOM, зміцнення робочого процесу та сканування навичок агента, кожна перевіряється за інструментами, які її покривають, з пропозиціями, що відповідають мовам репозиторію.
Чи дійсно мій CI блокує виявлення безпеки? Сканер з continue-on-error, --exit-code 0, || true, тригером лише для пушу або allow_failure присутній, але не може зупинити злиття. zanadir оцінює кожен контроль як enforcing, partial, advisory або unknown, а не просто покритий; див. Effectiveness.
Чи є ця перевірка обов'язковою для злиття? З --required-checks контроль враховується як enforcing лише тоді, коли захист гілки або набір правил вимагає цього.
Що я можу додати? zanadir fix друкує готову до вставки конфігурацію CI для прогалин або пише робочий процес з --write.
Він читає GitHub Actions, GitLab CI, CircleCI, Bitbucket Pipelines, Azure Pipelines і Jenkins, з checkout ( --dir ) або безпосередньо з GitHub ( --repo ), і звітує у вигляді таблиці, JSON, SARIF або Markdown.
Наскільки поширені ці прогалини? State of CI security 2026 просканував 1,000 найзірковіших репозиторіїв GitHub: 511 не оголошують жодного сканування залежностей, секретів або коду взагалі, і 1 з 6 тих, хто запускає сканер у CI, має такий, що не може зупинити збірку.
Встановлення
Спробуйте його на будь-якому публічному репозиторії без установки чогось:
Щоб встановити його, завантажте архів для Linux, macOS або Windows (amd64 або arm64) з останнього релізу. checksums.txt містить SHA-256 кожного архіву, і кожен архів має атестацію походження збірки:
Або за допомогою Homebrew (цей репозиторій є tap) або Go:
У GitHub Actions використовуйте zanadir-action. Цей робочий процес звітує про кожен pull request, не провалюючи його:
Коли ви будете готові до контролю, додайте enforce: true (провалити при будь-якій непокритій категорії), fail-on (тільки категорії, які ви називаєте) або fail-on-weakened. Щоб опублікувати звіт як коментар до pull request, див. Публікація звіту до pull request.
zanadir та OpenSSF Scorecard
OpenSSF Scorecard та zanadir відповідають на різні питання і добре працюють разом.
Використовуйте Scorecard для загальної безпекової позиції проекту, а zanadir, щоб дізнатися, чи зможе ваш CI насправді зупинити погану зміну, і що додати.
Використання zanadir з AI-кодуючими агентами.
Щоб агент коду перевірив CI з zanadir перед його зміною, додайте це до AGENTS.md, CLAUDE.md або еквівалентного документа в репозиторії:
Як сервер MCP
zanadir mcp надає два інструменти лише для читання через Протокол Контексту Моделі, тому будь-який агент, який говорить MCP, може оцінити CI до і після його зміни:
scan повертає JSON звіт: оцінку, непокриті категорії з рекомендованими інструментами та послаблені контролі з їхніми вердиктами;
729
+1
🔒 🔥 Тренди: zanadir - Оцінює, чи дійсно CI репозиторію захищає його: знаходить відсутні заходи безпеки та контролю якості,
729
🐳 ActiveState об'єднується з Docker для зміцнення програмних артефактів
Сьогодні компанії ActiveState та Docker, Inc. оголосили про співпрацю, в рамках якої обидві компанії будуть перепродавати зміцнені бібліотеки та образи, які вони курирують.
🔗 Читати оригінал
📰 Джерело: Container Journal
📅 2026-10-22 13:36 UTC
#DevOps #CloudNative
729
🚀 Інтеграція партнерів Agentic: AI-підтримка для Microsoft Azure Red Hat OpenShift
Швидкі старти Red Hat AI — це готові до використання демонстраційні додатки, які ілюструють реальні випадки застосування штучного інтелекту та призначені для безперешкодного розгортання на платформі Red Hat AI.
🔗 Читати оригінал
📰 Джерело: Red Hat Developer
📅 2026-10-22 13:01 UTC
#DevOps #CloudNative
729
📈 Від проблеми в продуктивності до запропонованого рішення: впровадження автономних операцій з Grafana AI
Ви щойно завершили розгортання, і хоча ваш сервіс працює, ви помічаєте, що деякі запити почали повільніше оброблятися. Щоб вирішити цю затримку, комусь — або, скоріше, групі людей у вашій команді — потрібно спостерігати за панелями моніторингу, визначити, чи є зміна важливою, дослідити, що сталося, і перетворити отримані дані на рішення. На кожному етапі ви збираєте контекст і часто пояснюєте його наступній людині або інструменту.
🔗 Читати оригінал
📰 Джерело: Grafana Blog
📅 2026-10-20 16:30 UTC
#DevOps #CloudNative
729
🚀 Сканування активів штучного інтелекту: що можуть пропустити SCA та SAST
Стандартні інструменти безпеки програмного забезпечення призначені для захисту вашого пайплайну, перевіряючи сторонні компоненти на відомі вразливості (за допомогою SCA), аналізуючи вихідний код на наявність вразливостей (за допомогою SAST) та скануючи на випадково відкриті облікові дані (за допомогою сканерів секретів). Проте, якщо розробник додасть файл SKILL.md до свого кодувального агента або встановить плагін з невідомого джерела, це може стати проблемою.
🔗 Читати оригінал
📰 Джерело: JFrog Blog
📅 2026-10-21 06:18 UTC
#DevOps #CloudNative
729
🚀 Amazon SageMaker AI оголошує про нові API для налаштування моделей без серверів
Amazon SageMaker AI тепер підтримує API для сесій навчання, що надає користувачам повний контроль над алгоритмами після навчання без необхідності в управлінні GPU-інфраструктурою. Керовані методи, такі як SFT, DPO та інші методи підкріпленого навчання, дозволяють користувачам обирати техніку та модель, а SageMaker AI виконує навчання.
🔗 Читати оригінал
📰 Джерело: AWS Whats New
📅 2026-10-22 16:30 UTC
#DevOps #CloudNative
729
🚀 Дослідження показало, що код, згенерований ШІ, не підвищує продуктивність через вузькі місця
Нещодавнє дослідження Гарварду, проведене на 718 компаніях за допомогою аналітичної платформи Jellyfish, виявило, що хоча асистенти та агенти кодування на базі ШІ збільшують обсяги коду, це не призводить до відповідного зростання завершених проектів.
🔗 Читати оригінал
📰 Джерело: InfoQ DevOps
📅 2026-10-22 14:00 UTC
#DevOps #CloudNative
729
🚀 Презентація: Актори для агентів: патерни для продуктивного ШІ
Манджу Раджашехар розповідає, як модель акторів вирішує складні проблеми виконання продуктивних агентів штучного інтелекту.
🔗 Читати оригінал
📰 Джерело: InfoQ DevOps
📅 2026-10-22 11:00 UTC
#DevOps #CloudNative
729
🚀 Amazon SageMaker AI тепер підтримує безсерверну кастомізацію моделей для Muse Glimmer, Qwen 3.8 та Ministral 3
Amazon SageMaker AI тепер дозволяє безсерверну кастомізацію моделей Muse Glimmer, Qwen 3.8 27B та Ministral 3 3B, 8B і 14B. Окрім розгортання цих моделей на SageMaker AI, ви можете адаптувати їх до своїх специфічних доменів і робочих процесів, використовуючи техніки супервізованого доопрацювання (SFT), оптимізації прямих переваг (DPO) та підкріплювального доопрацювання (RFT).
🔗 Читати оригінал
📰 Джерело: AWS Whats New
📅 2026-10-22 08:00 UTC
#DevOps #CloudNative
729
🚀 Platform Beaver: Як Port реалізує власний агентний SDLC за допомогою AI агентів
Platform Beaver інтегрує агентний SDLC Port у Slack, де AI агенти займаються тріажем помилок, реагуванням на інциденти, перевіркою PR та відповідями на запитання.
🔗 Читати оригінал
📰 Джерело: Port Blog
📅 2026-10-19 12:02 UTC
#DevOps #CloudNative
729
🛠️ Випуск SRE Weekly #539
Спонсор цього випуску, Incident.io, повідомляє: штучний інтелект прискорив процес доставки коду, але тепер надійність стала вузьким місцем. Дізнайтеся, як Netflix та OpenAI вирішують цю проблему на конференції SEV0, присвяченій надійності, у Сан-Франциско та Лондоні. Безкоштовно для читачів SREWeekly за кодом SREWEEKLY.
🔗 Читати оригінал
📰 Джерело: SRE Weekly
📅 2026-10-19 03:27 UTC
#DevOps #CloudNative
729
🚀 Amazon OpenSearch Serverless тепер підтримує 5-секундний інтервал оновлення за замовчуванням
Відсьогодні Amazon OpenSearch Serverless зменшує інтервал оновлення за замовчуванням до 5 секунд для пошукових та векторних колекцій. Цей інтервал визначає, як швидко нові документи стають доступними для пошуку.
🔗 Читати оригінал
📰 Джерело: AWS Whats New
📅 2026-10-22 18:34 UTC
#DevOps #CloudNative
729
🚀 Запитання на співбесіді з DevOps в HCLTech: 10 сценаріїв з виробництва, до яких потрібно підготуватися
Готуйтеся до реальних співбесід у сфері DevOps, що охоплюють Jenkins, Docker, Kubernetes, Terraform, DevSecOps, AWS, моніторинг та CI/CD.
🔗 Читати оригінал
📰 Джерело: Medium
📅 2026-10-09 08:09 UTC
#DevOps #CloudNative
