Open Source Signal logo
Open Source SignalСигнал відкритих джерел
Issue #122 2 October 2026 Daily Signal EN + UKR

Open Source Signal

Сигнал відкритих джерел

Bilingual OSINT radar for casualty-database lag, POW disclosure risk, investigator OPSEC and status-aware military data.

Daily issue #122: BBC Russian and Mediazona showed why a one-month increase of 22,358 names in a casualty database cannot be read as 22,358 recent battlefield deaths, because 18,657 of those additions were long-missing service members whose bodies were found later; South Korea escalated its dispute with Ukraine over disclosure of two transferred North Korean POWs, making confidentiality and minimum-necessary disclosure a concrete verification risk; OpenOSINT 2.29.1 fixed a localhost web-UI weakness that allowed other websites open in the same browser to drive its local server; and Russia's announced autumn draft of about 120,000 conscripts illustrates why conscripted, deployed, combatant and casualty must remain separate statuses.

Editorial frame

What this is: A bilingual editorial filter for public-interest OSINT. This issue focuses on temporal semantics and status discipline: when an event happened, when it was discovered, when it entered a database, what may be publicly disclosed, and what a system or institution actually confirmed.

What this is not: A targeting aid, political recommendation, private-person deanonymization workflow, assumption that database growth equals current-period losses, or permission to turn one administrative category into another without evidence.

Rubric map

📡 Signal One
⚠️ Risk Watch
🛡️ Investigator OPSEC
🧭 Data Discipline
📡Signal OneГоловний сигнал
#01

A 22,358-name monthly increase in a casualty database does not mean 22,358 recent battlefield deaths

Source: BBC Russian / Mediazona / open-source volunteers · 2 October 2026

What happened

BBC Russian, working with Mediazona and open-source volunteers, said they had identified 266,032 Russian service members killed during the full-scale invasion. The database added 22,358 names over the previous month, but 18,657 of those additions were people who had long been listed as missing and whose bodies were found later. In an analysis of 10,000 such cases from 2025-2026, remains were found on average 150 days after death, while documentary registration of death occurred on average 236 days after death. The teams said death confirmation relied on open sources including Russian inheritance records and published court decisions declaring service members dead.

Why it matters

This is a direct warning against reading database growth as period mortality. Death date, body-recovery date, legal registration date and database-ingest date can differ by months, creating large retrospective backfills.

How to use it

Store separate event-time fields for death, recovery, legal confirmation and database ingestion. When reporting monthly or weekly growth, label it as newly confirmed or newly added unless the underlying deaths are actually dated to that period.

Limits

The 266,032 figure is a named open-source count and is explicitly incomplete. BBC and Mediazona say true Russian military deaths are higher; their own estimate that the documented list may cover roughly 45-55% of actual deaths is an analytical estimate rather than a complete census.

Місячне збільшення бази втрат на 22 358 імен не означає 22 358 недавніх фронтових смертей

Джерело: BBC Russian / Mediazona / open-source volunteers · 2 жовтня 2026

Що сталося

Російська служба BBC разом із «Медіазоною» та командою волонтерів з відкритих даних повідомила, що встановила імена 266 032 російських військовослужбовців, загиблих під час повномасштабного вторгнення. За попередній місяць до бази додали 22 358 імен, але 18 657 із цих записів стосувалися людей, які тривалий час числилися зниклими безвісти й чиї тіла знайшли пізніше. В аналізі 10 тисяч таких випадків за 2025-2026 роки останки знаходили в середньому через 150 днів після смерті, а документальна реєстрація смерті відбувалася в середньому через 236 днів. Команди зазначили, що підтверджували смерть за відкритими джерелами, зокрема російським реєстром спадкових справ і опублікованими судовими рішеннями про визнання військовослужбовців загиблими.

Чому це важливо

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

Як це застосувати

Зберігайте окремі часові поля для смерті, виявлення останків, юридичного підтвердження та внесення до бази. У місячних або тижневих звітах називайте приріст «новими підтвердженнями» або «новими записами», якщо самі смерті не датовані цим періодом.

Обмеження

266 032 — це поіменний підрахунок за відкритими джерелами, який прямо визнається неповним. BBC і «Медіазона» вважають реальні російські військові втрати вищими; їхня оцінка, що документований список може охоплювати приблизно 45-55% фактичних смертей, є аналітичною оцінкою, а не повним переписом.

signal-onecasualtiesrussiabackfilltemporal-semanticsmediazona
⚠️Risk WatchМежі й ризики
#02

South Korea escalates dispute with Ukraine over public disclosure of two transferred North Korean POWs

Source: Reuters · 2 October 2026

What happened

South Korean President Lee Jae Myung threatened unspecified further measures against Ukraine after Kyiv publicly disclosed the transfer of two North Korean soldiers captured while fighting for Russia. Seoul says the transfer was covered by a confidentiality understanding intended to protect the soldiers and related security and humanitarian concerns; Ukraine denies that such an agreement existed. The disagreement follows earlier South Korean statements that no military-aid pledge was made in exchange for receiving the two men.

Why it matters

For POW and defector-related research, factual confirmation of a transfer does not settle what may safely be disclosed. Identity, destination, timing, legal basis, consent and family-security considerations should be treated as separate fields with separate disclosure thresholds.

How to use it

Apply data-minimisation before publication: confirm the public-interest value of each field and withhold details whose disclosure adds little evidentiary value but creates a meaningful safety or humanitarian risk.

Limits

The existence of a confidentiality agreement is disputed by Seoul and Kyiv. Reuters reports the competing official positions; this card does not resolve that dispute or make an independent legal assessment of the transfer.

Південна Корея загострила суперечку з Україною через публічне розкриття передачі двох північнокорейських військовополонених

Джерело: Reuters · 2 жовтня 2026

Що сталося

Президент Південної Кореї Лі Чже Мьон пригрозив Україні невизначеними подальшими заходами після того, як Київ публічно повідомив про передачу двох північнокорейських військових, захоплених під час бойових дій на боці Росії. Сеул стверджує, що передача була охоплена домовленістю про конфіденційність для захисту самих військових та пов'язаних із цим безпекових і гуманітарних інтересів; Україна заперечує існування такої домовленості. Суперечка продовжує попередню дискусію, у якій південнокорейська сторона заявляла, що не обіцяла військової допомоги в обмін на прийняття цих двох людей.

Чому це важливо

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

Як це застосувати

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

Обмеження

Існування домовленості про конфіденційність оспорюється Сеулом і Києвом. Reuters наводить конкуруючі офіційні позиції; ця картка не вирішує суперечку й не дає самостійної юридичної оцінки передачі.

risk-watchpownorth-koreasouth-koreaprivacydata-minimisation
🛡️Investigator OPSECOPSEC дослідника
#03

OpenOSINT 2.29.1 fixes a localhost web-UI weakness that allowed other websites in the same browser to drive the local server

Source: OpenOSINT project changelog · 1 October 2026

What happened

OpenOSINT 2.29.1 fixed a web-UI security issue in which any website open in the same browser could drive the local server while `openosint web` was running. The release added Host validation, blocks cross-site browser requests to `/api/*` except `/api/health`, and requires `Content-Type: application/json` for `/api/setup`. The project says the MCP server, CLI and REPL are not affected and recommends that all web-UI users upgrade.

Why it matters

A service bound to localhost is not automatically isolated from browser-origin attacks. Investigator tooling that exposes a local HTTP interface still needs explicit origin and host controls.

How to use it

Upgrade web-UI installations to 2.29.1 or later, verify allowed hosts and origins, and treat every local browser-facing API as an attack surface rather than assuming loopback binding alone provides sufficient isolation.

Limits

This is a project-reported fix. It does not mean every other local interface is vulnerable in the same way, and the changelog says the CLI, REPL and MCP server were not affected by this specific issue.

OpenOSINT 2.29.1 виправив уразливість localhost web-інтерфейсу, через яку інші сайти в тому самому браузері могли керувати локальним сервером

Джерело: OpenOSINT project changelog · 1 жовтня 2026

Що сталося

OpenOSINT 2.29.1 виправив проблему безпеки web-інтерфейсу, за якої будь-який сайт, відкритий у тому самому браузері, міг керувати локальним сервером під час роботи `openosint web`. У релізі додано перевірку Host, блокування cross-site браузерних запитів до `/api/*` за винятком `/api/health`, а `/api/setup` тепер вимагає `Content-Type: application/json`. Проєкт зазначає, що MCP-сервер, CLI та REPL не постраждали, і рекомендує всім користувачам web-інтерфейсу оновитися.

Чому це важливо

Сервіс, прив'язаний до localhost, не є автоматично ізольованим від атак через браузерний origin. Інструмент дослідника з локальним HTTP-інтерфейсом усе одно потребує явного контролю origin і host.

Як це застосувати

Оновіть інсталяції web-інтерфейсу до 2.29.1 або новішої версії, перевірте дозволені hosts і origins та розглядайте кожен локальний API, доступний із браузера, як поверхню атаки, а не покладайтеся лише на loopback-прив'язку.

Обмеження

Це виправлення, описане самим проєктом. Воно не означає, що кожен інший локальний інтерфейс уразливий так само; changelog окремо зазначає, що CLI, REPL і MCP-сервер не були уражені саме цією проблемою.

investigator-opsecopenosintlocalhostweb-securitybrowser-origin
🧭Data DisciplineДисципліна даних
#04

Russia's planned 120,000 autumn conscripts are a conscription count, not a deployment or casualty count

Source: Meduza citing Krasnaya Zvezda / Russian General Staff · 1 October 2026

What happened

Russia's General Staff said about 120,000 people are planned to be sent into compulsory military service during the autumn draft, with departures from assembly points beginning on October 10. The same official said these conscripts would not be sent to perform tasks in Ukraine or in the occupied Donetsk, Luhansk, Kherson and Zaporizhzhia regions. More than 140,000 conscripts were sent to service locations during the spring 2026 cycle, according to the same source.

Why it matters

Administrative military categories are not interchangeable. `conscripted`, `assigned to a unit`, `deployed`, `combatant`, `missing`, `captured`, `wounded` and `killed` are different states and should not be inferred from one another without evidence.

How to use it

Model conscription as the entry point of a state machine, not as evidence of battlefield participation. If later reporting shows deployment or combat use, update the person or cohort state with the new source and date rather than retroactively rewriting the original category.

Limits

The claim that autumn conscripts will not be sent to Ukraine is an official Russian statement reported by Meduza, not an independently verified future outcome. Past documented use of conscripts in the war makes later verification necessary but does not justify treating the current statement as already disproven.

Заплановані Росією 120 тисяч осінніх строковиків — це показник призову, а не розгортання чи втрат

Джерело: Meduza citing Krasnaya Zvezda / Russian General Staff · 1 жовтня 2026

Що сталося

Російський Генштаб заявив, що під час осіннього призову на строкову службу планують направити близько 120 тисяч людей, а відправлення зі збірних пунктів розпочнеться 10 жовтня. Той самий посадовець заявив, що цих строковиків не направлятимуть для виконання завдань в Україні або на окупованих територіях Донецької, Луганської, Херсонської та Запорізької областей. За словами того ж джерела, під час весняного циклу 2026 року до місць служби направили понад 140 тисяч строковиків.

Чому це важливо

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

Як це застосувати

Моделюйте призов як початковий стан у state machine, а не як доказ участі в бойових діях. Якщо подальші джерела підтвердять розгортання або бойове застосування, оновлюйте стан людини чи когорти з новим джерелом і датою, не переписуючи заднім числом початкову категорію.

Обмеження

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

data-disciplineconscriptionrussiastatus-modelmilitary-data