Досяжність як доказ

Що блокує доставку — досяжна, нефіксована, релевантна для політики експозиція першими.

Довгий хвіст знаходиться в одному фільтрі.

~85% критичних вразливостей контейнерів знаходяться в неактивному коді (Sysdig 2024 Container Security Report). Аналіз досяжності запитує, чи досягає шлях у вашому образі уразливої функції, і підписує доказ для кожного вердикта — збереженого чи видаленого.

Робочий набір

Сім знахідок потрапляють до робочого набору на екрані нижче. Один блокує: він доступний і невиправлений. Інші шість не фіксовані, але не показані як доступні — вони залишаються в наборі, ранжуються нижче, ніколи не приховані.

blocking = reachable × unfixed × policy-relevant

Stella Ops Скринінг експозиції: робочий набір із семи знахідок: одне позначає блокування станом REACHABLE, решта — з NOT OBSERVED станами
Екран експозиції, консоль v1.0-RC1 з демо-даними. NOT OBSERVED не є «не вразливим» — невідомі залишаються видимими, доки докази не скажуть протилежне.

REACHABLE

Виконуваний шлях від точки входу до вразливого символу підтверджується — статичним графом виклику, відповідністю бінарних символів або влученням у зонд під час виконання.

NOT OBSERVED

Жодної виконуваної траєкторії не було знайдено за наявністю зібраних доказів. Це твердження про докази, а не про вразливість. Знахідка зберігає своє місце у робочому наборі.

Два рейтинги, один набір даних

Один і той самий робочий набір виконує дві роботи. Перемикання між ними змінює те, що піднімається зверху — нічого не входить і не виходить.

Корабель

Ранжується за тим, що блокує цей реліз: досяжний, невиправлений, релевантний для політики експозиція першим.

Безпечно

Ранжує за загальною експозицією в усій інфраструктурі, зокрема за результатами, які ніколи не блокуватимуть реліз.

Це змінює рейтинг і акценти, але не дані.

Звідки береться доказ

Статичний аналіз формує вердикт при кожному скануванні. Двійкові символи та факти виконання додають глибини, коли вона вам потрібна. CVECommon Vulnerabilities and Exposures – унікальний ідентифікатор публічно відомої вразливості безпеки

Рівень 1

Аналіз статичного графіка викликів

Будує граф викликів із скомпільованого байт-коду та з вихідного коду, далі простежує шляхи від ваших точок входу до функцій, названих у бюлетені.

  • • Мови з графом викликів: Go, Java, C#/.NET, JavaScript і TypeScript, Python, Rust, PHP, Ruby. На образ аналізується одна мова. Інші екосистеми потрапляють у категорію unknown — з оцінкою, а не пропуском.
  • • Офлайн-видобування вужче: побудова графа викликів із дерева вихідного коду в CLI підтримує лише Go і Rust і використовує лексичний рівень — набір інструментів SSA міститься всередині scanner worker. Інші мови аналізує конвеєр сканування, чий заздалегідь видобутий граф використовує CLI.
  • • Python, JavaScript/TypeScript, Rust, PHP і Ruby аналізуються за вихідним текстом, і кожне ребро несе свою достовірність — ви бачите, який рівень дав вердикт
  • • Рефлексія, динамічні виклики та віртуальна диспетчеризація поза відомими реалізаціями не моделюються — кожен результат зазначає це обмеження
Рівень 2

Аналіз двійкових символів

CLI-лінія для нативного коду без вихідників: таблиці символів ELF і назви функцій із DWARF, x86, x64 і ARM64. Її знахідки самостійні й відокремлені від вердикту сканування.

  • • Таблиці символів ELF і назви функцій із DWARF
  • • Дизасемблювання x86, x64 і ARM64. Відлагоджувальна інформація читається лише з DWARF — без PDB
Рівень 3

Програми eBPFExtended Berkeley Packet Filter — технологія ядра Linux, що виконує ізольовані програми для високопродуктивного моніторингу та аналізу середовища виконання без модулів ядра під час виконання

Подайте реальні дані виконання — Stella Ops перевірить і запечатає їх як найсильніший доказ досяжності. Зонди запускаєте ви; RC1 постачає шлях приймання.

  • • Інструмент eBPFExtended Berkeley Packet Filter — технологія ядра Linux, що виконує ізольовані програми для високопродуктивного моніторингу та аналізу середовища виконання без модулів ядра на основі Tetragon
  • • Записи symbol_id, code_id, hit_count, loader_base
  • • Збереження конфіденційності: значення аргументів не фіксуються

Кожен вердикт упаковується як доказ із DSSE-підписом, який прив'язує знахідку до виконуваного шляху, за яким його оцінювали. Якщо шлях проаналізувати не вдалося, знахідка позначається як невідома, а не як закрита. DSSEDead Simple Signing Envelope – простий гнучкий стандарт для підпису довільних даних криптографічними підписами

Невідомі як першокласні Стан

Якщо аналіз не може визначити доступність, невизначеність відстежується явно — не приховується або мовчки вважається безпечною.

Відро доступностіВага за замовчуванням
reachable:proven1.0
reachable:likely0.85
not-observed0.0

Вище означає більше ризику, а не більше впевненості: вага масштабує оцінку ризику знахідки. Підтвердження під час виконання не заміняє доказ шляху — воно підвищує впевненість, приписану вердикту. Там, де аналізатор не спостерігав шляху взагалі, Stella Ops повідомляє не спостережено з підписаною заявою про покриття, але ніколи «недосяжно»: відсутність спостереженого шляху не доводить, що шляху немає.

Рекомендація щодо політики: розглядайте unknown як повноцінний вердикт, установіть явні пороги для кожного рівня серйозності й записуйте причини перевизначення рецензентом у пакеті доказів.

Де VEX оператори входять

Заяви VEX від видавців приєднуються до того самого графа доказів і нормалізуються до п’яти статусів — not_affected, affected, fixed, under_investigation, unknown — тож «у розслідуванні» — це стан із наслідками, а не примітка. VEXVulnerability Exploitability eXchange – машинозчитувані твердження про те, чи є вразливості реально експлуатованими у вашому контексті

not_affected affected fixed under_investigation unknown

Кілька емітентів можуть говорити про один і той самий компонент. Коли вони не погоджуються, для вирішення конфліктів фіксує розбіжності як конфлікт — нічого не усереднюється, і жоден емітент мовчки не виграє.

Як SBOM і VEX докази поєднуються →

KEV і EPSS беруть участь — вони не приймають рішення

Листинги CISA KEV та оцінки EPSS є сигналами експлойту на рівні порад. Вони підвищують ранг і терміновість результату всередині робочого набору. KEVKnown Exploited Vulnerabilities – каталог CISA активно експлуатованих вразливостей EPSSExploit Prediction Scoring System – ймовірнісна оцінка (0–100%), що передбачає ймовірність експлуатації вразливості

Exploit signals attach at the advisory level, not at the finding level. Open a CVECommon Vulnerabilities and Exposures – унікальний ідентифікатор публічно відомої вразливості безпеки to read its advisory-level exploit data: the KEVKnown Exploited Vulnerabilities – каталог CISA активно експлуатованих вразливостей listing and the EPSSExploit Prediction Scoring System – ймовірнісна оцінка (0–100%), що передбачає ймовірність експлуатації вразливості score belong to the advisory, and they read the same for every service that carries the affected component.

Вони не є доказами досяжності. Запис KEV у коді, який ваш сервіс ніколи не завантажує, змінює акцент, а не вердикт — якщо тільки ваша політика не вказано, що відомі експлуатовані знахідки блокуються незалежно від усього. Блокувати можуть два класи правил, і вони незалежні: список заборонених CVE повністю ігнорує досяжність, а правило досяжності блокує лише за доведеним шляхом — reachable:likely та unknown через нього не блокують ніколи, які б стани не перелічувала політика.

A policy gate can combine both kinds of answer in one rule: reachability state together with EPSSExploit Prediction Scoring System – ймовірнісна оцінка (0–100%), що передбачає ймовірність експлуатації вразливості, KEVKnown Exploited Vulnerabilities – каталог CISA активно експлуатованих вразливостей, and CVSSCommon Vulnerability Scoring System – оцінка критичності від 0 до 10, що вказує серйозність вразливості thresholds. "Known-exploited and reachable" and "known-exploited regardless of reachability" are both expressible; which one you enforce is your policy, not a default we pick for you.

У порівнянні зі сканером у CI

Сканер відповідає на питання «що зараз міститься в цьому образі». Це необхідно, але недостатньо для рішення щодо релізу.

Що дає сканер

  • • Список пошуку на кожному зображенні, який відновлювався з нуля при кожному запуску
  • • Серйозність визначається з рекомендації, а не з графіку дзвінків
  • • Пригнічення у файлах ігнорування, без підписаного запису про те, хто що приймав

Що Stella Ops додає

  • • знахідки, об'єднані між 38 активними рекомендаціями, а потім ранжуються за досяжністю
  • • DSSE-підписаний, відтворюваний доказ для кожного вердикту — включаючи видалені
  • • Вердикт надходить до шлюзу релізу, а після розгортання Watch продовжує порівнювати дайджест запущеного образу зі схваленим

Чого Stella Ops не робить

Trivy охоплює репозиторії Git, віртуальні машини та цілі Kubernetes, а також неправильне налаштування та секретне сканування. Stella Ops цього не робить. Його сфера охоплює зображення контейнерів і знімки файлової системи з підписаними, відтворюваними доказами для кожного вердикту.

Повні порівняння: Stella Ops проти Trivy | Stella Ops проти Grype

Реалізація: об'єднання хешу вузлів

Свідчення доступності адресовано вмісту для дедуплікації та перевірки. Хеші вузлів забезпечують ефективну різницю між версіями. Хеш вузла SHA256(normalize(purl) + ":" + normalize(symbol)) Хеш шляху SHA256(entryNodeHash + ":" + joinedIntermediateHashes + ":" + sinkNodeHash) Top-K значущих шляхів зберігаються в наборі доказів. Шляхи ранжуються за частотою виконання (від часу виконання) або глибиною виклику (від статики).
Read more

Свідчення доступності адресовано вмісту для дедуплікації та перевірки. Хеші вузлів забезпечують ефективну різницю між версіями.

Хеш вузла

SHA256(normalize(purl) + ":" + normalize(symbol))

Хеш шляху

SHA256(entryNodeHash + ":" + joinedIntermediateHashes + ":" + sinkNodeHash)

Top-K значущих шляхів зберігаються в наборі доказів. Шляхи ранжуються за частотою виконання (від часу виконання) або глибиною виклику (від статики).

Реалізація: знакові докази

Кожен аналіз доступності створює підтвердження з криптографічним підписом, яке зберігається в сховищі з адресою вмісту. DSSE?Dead Simple Signing Envelope – простий гнучкий стандарт для підпису довільних даних криптографічними підписами DSSE конверт із in-toto форматом предикату SLSA Перевіряється аудиторами без доступу до мережі Детермінізоване відтворення дає бітово-ідентичні результати Графік і трасування заархівовано для перевірки в режимі офлайн Шляхи зберігання з адресою вмісту cas://reachability_graphs/<hh>/<sha>.tar.zst cas://runtime_traces/<hh>/<sha>.tar.zst
Read more

Кожен аналіз доступності створює підтвердження з криптографічним підписом, яке зберігається в сховищі з адресою вмісту. DSSEDead Simple Signing Envelope – простий гнучкий стандарт для підпису довільних даних криптографічними підписами

  • DSSE конверт із in-toto форматом предикату SLSA
  • Перевіряється аудиторами без доступу до мережі
  • Детермінізоване відтворення дає бітово-ідентичні результати
  • Графік і трасування заархівовано для перевірки в режимі офлайн

Шляхи зберігання з адресою вмісту

cas://reachability_graphs/<hh>/<sha>.tar.zst

cas://runtime_traces/<hh>/<sha>.tar.zst

Перевіряється за опублікованою еталонною істиною

Класифікатор досяжності перевіряється за розміченим корпусом, що постачається в публічному дереві вихідного коду: вісім мінімальних сервісів на Java, Node.js, Python, Go, .NET, Ruby, Rust і PHP, кожен із файлом міток, який для кожного CVE задає очікуваний рівень — від R0, недосяжного в цьому сервісі, до R4, досяжного від точки входу, — та обґрунтування.

У тому ж дереві лежить інструмент, що оцінює класифікації за рівнями — точність і повнота, а не одне змішане число. Оскільки корпус, мітки й контракт рівнів публічні, вам не треба вірити нашому прочитанню: проскануйте ту саму еталонну істину власною інсталяцією й порівняйте її відповіді з опублікованими очікуваними.

Як провести це порівняння — крок 2.1 пілотної оцінки →

Реалізація: eBPF зонди

Stella Ops приймає факти виконання через потокову точку приймання й вважає їх найсильнішим доказом досяжності. RC1 не постачає збирач: зонди на основі Tetragon — це інструментація, яку запускаєте ви, а досяжність працює без них за рахунок статичного та двійкового шарів. Захоплені дані зонду symbol_id: канонічний ідентифікатор символу code_id: ідентифікатор секції коду hit_count: частота виконання loader_base: базова адреса в пам’яті cas_uri: посилання з адресацією за вмістом Зонди передають факти під час виконання до POST /signals/runtime-facts/ndjson як потоковий NDJSON. Кожне спостереження містить URI CAS базового артефакту.
Read more

Stella Ops приймає факти виконання через потокову точку приймання й вважає їх найсильнішим доказом досяжності. RC1 не постачає збирач: зонди на основі Tetragon — це інструментація, яку запускаєте ви, а досяжність працює без них за рахунок статичного та двійкового шарів.

Захоплені дані зонду

symbol_id: канонічний ідентифікатор символу

code_id: ідентифікатор секції коду

hit_count: частота виконання

loader_base: базова адреса в пам’яті

cas_uri: посилання з адресацією за вмістом

Зонди передають факти під час виконання до POST /signals/runtime-facts/ndjson як потоковий NDJSON. Кожне спостереження містить URI CAS базового артефакту.

Почни зі свого робочого набору

Вкажіть Stella Ops на зображення, яке ви відправляєте сьогодні, і прочитайте вердикти, які воно підписує. Якщо доступність видаляє менше, ніж заявлено, ви теж це побачите — кожне видалення має свої докази.

Безкоштовний рівень: 3 середовища та до 100 сканувань нових дайджестів за плинні 24 години, розгортання у власній інфраструктурі. v1.0-RC1, реліз-кандидат.