todo2code

Bezpieczeństwo

Granica plików

MCP i A2A rozwiązują root względem T2C_ROOT i domyślnie odrzucają ścieżki wychodzące poza ten katalog. Kontrola obejmuje ścieżkę leksykalną oraz realpath najbliższego istniejącego elementu, dlatego dowiązanie symboliczne nie może przekierować odczytu poza workspace. Rekurencyjne analizatory pomijają symlinki. T2C_ALLOW_OUTSIDE_ROOT=true powinno być stosowane tylko w zaufanym środowisku lokalnym.

Sekrety

Dane wysyłane do OpenRouter

Ekstraktor NL wysyła wyłącznie jawnie przekazany tekst taska. Etap Markdown wysyła tekst i strukturalny kontekst wyłącznie wpisów rozpoznanych wcześniej deterministycznie jako TODO/CHANGELOG — nie wysyła całych plików ani dowolnych sekcji. Ekstraktor dokumentacji wysyła tylko pliki dopasowane do T2C_DOC_PATTERNS po zastosowaniu wykluczeń i limitów T2C_DOC_*; target hints zawierają jedynie już rozpoznane ścieżki, symbole, tickety i wersje. Summarizer wysyła wyłącznie skompaktowany graf i diagnostykę, bez raw excerptów, diffów i pełnych plików kodu. T2C_NL_MODE=deterministic oraz T2C_MARKDOWN_MODE=deterministic wyłączają odpowiednie żądania OpenRouter.

Przed użyciem na prywatnym repozytorium należy ustawić restrykcyjne globs i zweryfikować politykę wybranego modelu/providerów.

Odporność

Zależności opcjonalne

Zwykła instalacja rdzenia ma 0 wyników npm audit. Opcjonalny @tensorflow/tfjs-node@4.22.0 pozostaje przypięty w osobnym adapters/tensorflow/package.json i jest instalowany wyłącznie przez make install-tf; jego 7 high i 1 critical nie zanieczyszczają głównego drzewa zależności ani obrazu produkcyjnego. T2C_TF_MODULE_PATH jawnie wskazuje moduł adaptera. Nie należy używać npm audit fix --force: proponowany downgrade jest niekompatybilny.