?%inFeC&CcTi**ON$$

Сложность: 800

> «Самая страшная ложь — это правда, слегка искажённая.»

Пролог

После инцидента безопасности Holmes Industries восстановила репозитории и провела полное пересобирание окружений. Все разработчики прошли ревизию, контроль доступа был усилен. На первый взгляд — система стабильна.

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


Задача

По истории изменений в кодовой базе Holmes Industries определить, какие коммиты вредоносные (инсайдерские вставки).
Для каждого коммита нужно выдать вероятность саботажа.


Данные

Можно скачать здесь https://www.kaggle.com/datasets/prok2027/infected-code/data

1) commits.csv

commit_id author time file_path lines_added lines_deleted entropy message
c_0001 person_456 1200 /core/api/data.py 12 3 0.73 refactor logging
c_0002 person_789 1250 /core/security/auth.c 3 2 0.10 update auth

2) diff_vectors.parquet

Векторные представления диффов/фрагментов (например, code2vec/AST-эмбеддинги) по commit_id.

3) meta.csv

Служебные признаки и статистика авторов/файлов: частоты, типичные размеры правок, переходы по модулям и пр.

Целевая метка (скрыта в тесте)


Формат сабмита

Файл с вероятностями для каждого коммита из теста:

commit_id score
c_0001 0.0021
c_0002 0.5312
c_0003 0.8475

Требования: - Одна строка = один commit_id из тестового набора.
- score ∈ [0,1].
- Дубликаты, пропуски, несуществующие ID → невалидный сабмит.


Метрики

Главная метрика: PR-AUC — площадь под кривой precision-recall,
которая особенно устойчива при редком положительном классе.

Формально:

$$ \text{PR-AUC} = \int_0^1 P(R)\,dR $$

где: - ( P(R) ) — функция precision (точности), выраженная через recall (полноту): $$ P = \frac{TP}{TP + FP}, \quad R = \frac{TP}{TP + FN} $$ - интеграл вычисляется по всей кривой зависимости precision от recall,
построенной при изменении порога классификации.

Дополнительно оценивается F1@0.1 — F1 при пороге score ≥ 0.1: $$ F1 = \frac{2 \cdot Precision \cdot Recall}{Precision + Recall} $$


Отправить решение

Чтобы отправить решение, войдите в аккаунт.

Мои 5 посылок по задаче: ?%inFeC&CcTi**ON$$

Пока нет посылок по этой задаче.
ID Дата Статус Детали
Нет посылок