Uptime Kuma проверява дали уебсайт, Docker контейнер, DNS запис или Steam сървър за игри все още отговаря и изпраща съобщение до Telegram, Slack или имейл, когато някой от тях спре да работи.

Инструментът за мониторинг на собствен сървър (self-hosted) е с лиценз MIT, работи в контейнер или на Node.js и има 89 800 звезди и 8200 разклонения (forks) в GitHub. Промяната с най-широк обхват във версия 2.5.0 е, че проектът вече въвежда 14-дневен период на изчакване (cooldown) за актуализациите от npm, за да се минимизират атаките по веригата за доставки (supply-chain attacks).

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

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

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

Втора промяна премахва горната граница за интервалите на проверка, която преди това беше ограничена до около 24 дни. Всеки, който проследява нещо, което изисква проверка само веднъж на тримесечие, като например изтичане на сертификат или домейн, вече не трябва да го симулира с по-кратък интервал. Авторът също така добави docker таг next-rootless за хората, които не искат процесът за мониторинг да се изпълнява с root права в своя контейнер.

Генераторът на баджове създаваше счупени URL адреси поради дублирана наклонена черта, поради което статус баджовете, вградени в README файлове и табла за управление, не се зареждаха. MQTT мониторът вече приема mqtts:// адреси, което означава, че защитеният с TLS брокер вече не се нуждае от алтернативно решение. Мониторите за Steam сървъри за игри вече резолват хост имена, вместо да изискват IP адрес. DNS мониторът спира да добавя порта на резолвера към URL адреса на услугата, а известията в Discord вече изобразяват времевите клейма в правилната часова зона.

Една корекция в базата данни е по-незабележима, но изключително важна: колоните up и down в таблицата stat_daily бяха разширени от SMALLINT до unsigned integer. Стойността на signed SMALLINT достига лимит при 32 767 и монитори, проверяващи на кратки интервали множество хостове, могат да надхвърлят този дневен брояч. Ако историята на вашия статус на работа (uptime) съдържа пропуски или абсурдни стойности в натоварени дни, това е потенциалното обяснение.