Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

🎯 [Хвост] Песочница и изоляция — 26 находок по файлам

Open
#998 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
20/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
python
Domain
security

Research direction

Start with docs/audit/2026-08-10-full-roles.md (§ 5 and § 5-bis) for the evidence and repros, then inspect core/sandbox/_linux.py, the only backend verified by running it. The checklist covers 26 findings across five files, and the issue says macOS and Windows were not run; sandbox execution on a second OS is required for acceptance. Done means every finding is closed by a PR or explicitly rejected with a reason, and the second-OS run is complete.

Written by the indexing model from the issue text.

Description

area/sandbox audit difficulty/hard

Хвост аудита 2026-08-10 по направлению. Полные формулировки, доказательства и репро — в документе:
docs/audit/2026-08-10-full-roles.md (§ 5 и § 5-бис). Эпик хвоста: #995 · Тяжёлые дефекты направления: #986

26 находок: 0 high · 8 medium · 18 low (три high направления вынесены в отдельные issue под #986). Все верифицированы скептиками.

Находки по файлам

Чек-лист ведётся по файлам, а не по каждой находке: два с половиной десятка построчных пунктов нечитаемы и правятся с конфликтами. Строка закрывается, когда закрыты все её ID; галочка ставится тем же заходом, что и мерж закрывающего PR, и называет исход.

  • core/sandbox/_linux.py — 11 (0/6/5): CANON-2-01 · PY-2-01 · SBX-1-02 · SBX-4-01 · SEC-2-02 · STR2-1-06 · CANON-2-02 · MTX-6-02 · MTX-6-05 · PY-2-06 · REV-6-02
  • core/sandbox/_posix_common.py — 7 (0/1/6): SBX-3-01 · MTX-6-03 · PY-2-02 · PY-2-05 · SBX-2-01 · SBX-2-04 · SBX-4-02
  • core/sandbox/_windows.py — 5 (0/1/4): SEC-2-03 · PY-2-03 · PY-2-04 · PY-2-07 · SEC-2-07 — получены чтением, а не прогоном (см. оговорку ниже)
  • docs/dev/adr/0007-sandbox-backends.md — 2: PAIR-3-07 · PAIR-4-05
  • core/sandbox/__init__.py — 1: CANON-2-06

Важная оговорка о полноте

Проверялся только Linux-backend. Критики прогонной фазы установили: 647 строк macOS- и Windows-бэкендов не исполнялись ни разу — в окружении аудита их нечем было запустить. Поэтому пять находок в _windows.py получены чтением, а не прогоном, и реальное состояние этих двух платформ аудитом не измерено.

Это не пробел в оформлении, а граница знания: перед тем как считать направление закрытым, песочницу нужно прогнать на macOS и Windows — там может обнаружиться свой класс дефектов, невидимый отсюда. Отдельный пункт приёмки, который нельзя закрыть по коду:

  • прогон песочницы на второй ОС (macOS или Windows) — только локальное окно, чтением не заменяется

С чего начинать

_linux.py (11 находок, 6 medium) — единственный проверенный прогоном файл, и в нём же самое неприятное: монтируется весь venv, поэтому сторонние пакеты доступны решению вопреки SECURITY.md и трём другим документам. Плюс документированное max_memory_mb=None («без лимита») молча превращается в 1024 МБ.

Стратегический срез назвал направление ложным фронтом в другом смысле: --sandbox честно задекларирован как opt-in без полной изоляции (ADR-0007), поэтому «дыры» в нём — не нарушение обещания, а неточность документов. Настоящая проблема здесь другая: изоляция ломает верные решения (#986), и это важнее, чем то, что она чего-то не изолирует.

Критерий приёмки

Каждая находка либо закрыта PR, либо явно отклонена с причиной. Отдельно: направление не считается проверенным, пока песочница не прогнана на второй ОС.

Dominant language
Python
Stars
3
Forks
6
Avg merge
12h 26m
Merged PRs (30d)
51

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from ArtVsMark/Stepik-Python-Grader

All issues in ArtVsMark/Stepik-Python-Grader

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.