Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#998 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
20/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
python
Ambito
security

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

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, либо явно отклонена с причиной. Отдельно: направление не считается проверенным, пока песочница не прогнана на второй ОС.

Lingua principale
Python
Stelle
3
Fork
6
Merge medio
2g 15h
PR unite (30g)
38

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ArtVsMark/Stepik-Python-Grader

Tutte le issue di ArtVsMark/Stepik-Python-Grader

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.