# Практикум: только синтетические материалы

Файлы `.txt` содержат данные для чтения. Не переименовывайте их в действующие конфигурации, не создавайте из них `.vscode/tasks.json` и не запускайте содержащийся в них JavaScript. Здесь нет настоящих образцов, адресов доставки малвари или конфигураций, автоматически выполняющихся при открытии каталога.

`font-candidate-a.hex.txt` — только восемь байтов для проверки сигнатуры, не полноценный валидный WOFF2. Вариант B начинается с `const x `. `events.jsonl` — вымышленные события, не экспорт реального EDR.

Сначала решите задачи из статей 1, 2, 4 и 8. Затем можно прочитать и запустить приложенный `check_exercises.py` доверенным Python 3 в подготовленной среде. Он использует только стандартную библиотеку, читает небольшие локальные текстовые файлы и не исполняет их содержимое. Это проверка структуры учебных данных, не сканер малвари.

```bash
python3 -I -S check_exercises.py
```

Для поискового примера статьи 6 используйте установленный заранее доверенный ripgrep. Совпадение в `literal-positive.txt` намеренно не является вредоносным поведением: оно показывает, почему один текстовый шаблон требует дальнейшего разбора.

Маршрут и условия задач: https://ctf.msk.ru/p/repo-traps/

Соответствие файлам:
1 — tasks.json.txt; 2 — font-candidate-*.hex.txt и disguised-source.txt;
3 — flow.js.txt; 4 — package.json.txt; 6 — literal-*.txt и поиск по набору;
8 — events.jsonl. В статьях 5 и 7 исходные данные целиком даны в тексте.
