# Claude Code 2.1.268: Čo sa opravilo v pravidlách deny a MCP

> Claude Code 2.1.268–2.1.269 opravili štyri problémy s oprávneniami a únik tajných údajov v /mcp. Koho sa to týka, ako aktualizovať a ako skontrolovať pravidlá.

Source: https://ailoot.ai/blog/sk/claude-code-2-1-268-fixes/
Canonical: https://ailoot.ai/blog/sk/claude-code-2-1-268-fixes/
Language: sk
Publisher: Ailoot (https://ailoot.ai/)
Translation: guide-040
Revision: sha256-9a80d2cb8118a02b06e8f27d26b8ceba8c22343e0d58a470b5fa6f0a7b164200


Verzia Claude Code 2.1.268 bola vydaná 10. septembra 2026 a nasledujúci deň po nej vyšla verzia 2.1.269. Mali by ste aktualizovať hneď: v dvoch prípadoch pravidlá deny, ktoré používate na blokovanie prístupu agenta k súborom `.env` a priečinkom služieb, potichu nefungovali. Príkaz `/mcp` navyše mohol v termináli vypísať tajné údaje z vašich konfigurácií.

Všetko nižšie vychádza z oficiálneho zoznamu zmien a dokumentácie spoločnosti Anthropic v stave k 17. septembru 2026, teda k dátumu zdrojového materiálu. Najnovšia verzia v tento deň bola 2.1.274. Popisujeme, ako chyby fungovali podľa týchto záznamov; obídenie ochrany sme na zraniteľnej verzii nereprodukovali.

Ďalšie pokyny na prácu s Ailoot nájdete v [dokumentácii](https://ailoot.ai/docs/).



## Čo sa opravilo v Claude Code 2.1.268 a 2.1.269?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Section takeaway">

Kľúčové zistenie

Opravili sa štyri problémy s oprávneniami. Pravidlá deny a ask nefungovali pri cestách cez symbolické odkazy a deny pre Read alebo Edit sa nemusel uplatniť na riadkoch obsahujúcich `env -C` alebo `eval`. Pravidlo s „!“ sa uplatňovalo aj mimo svojho súboru nastavení. Príkaz `tee` zapisoval súbory bez blokovania pravidlom deny pre Edit. Príkazy `/mcp` a `claude mcp list` navyše zobrazovali tajné údaje z konfigurácií a chyby doplnkov zobrazovali tokeny z URL adries Git.

</div>

Štyri opravy sa týkajú pravidiel oprávnení:

1.  **Blokovanie cez symbolické odkazy nefungovalo.** Pravidlá deny a ask napísané pre adresáre so symbolickými odkazmi (`/etc`, `/tmp`, `/var` v systéme macOS, `/bin` v systéme Linux) sa nespustili, keď bola cesta zadaná podľa skutočného umiestnenia. Príkazy Bash tiež ignorovali pravidlá deny napísané pre cestu cez symbolický odkaz.
2.  **Blokovanie čítania a úprav zlyhávalo spolu s `env -C` alebo `eval`.** Ak ten istý príkazový riadok obsahoval konštrukciu, ktorú kontrola oprávnení nedokázala analyzovať, pravidlo deny pre Read alebo Edit sa nemuselo uplatniť.
3.  **Pravidlo s „!“ sa uplatňovalo širšie, než bolo zamýšľané.** Pravidlo deny alebo ask začínajúce znakom `!` sa uplatňovalo aj mimo súboru nastavení, v ktorom bolo zapísané. Teraz sa uplatňuje iba v rámci vlastného zdroja a samostatný znak negácie `!` sa ignoruje.
4.  **Príkaz `tee` obchádzal blokovanie pri zápise.** Pravidlá deny pre `Edit()` a kontrola cesty zápisu sa neuplatňovali na súbor vytvorený príkazom Bash `tee`. Oprávnenie `Bash(tee:*)` už nepokrýva zápisy mimo pracovných adresárov.

Tieto verzie opravili aj dva problémy súvisiace s odhalením tajných údajov. WebFetch už nečaká donekonečna na odpoveď servera, ktorý udržiava spojenie otvorené: požiadavka teraz zlyhá po 300 sekundách a časový limit možno nastaviť premennou `CLAUDE_CODE_WEBFETCH_DEADLINE_MS`. Odstránilo sa aj trvalé vysoké využitie CPU počas dlhých nečinných relácií.

## Ako fungujú blokovania v Claude Code?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Section takeaway">

Kľúčové zistenie

Pravidlá sa zapisujú do bloku `permissions` v súbore `settings.json`: deny blokuje, ask žiada potvrdenie a allow povoľuje akciu bez potvrdenia. Kontroly prebiehajú v tomto poradí: deny, potom ask a napokon allow. Pravidlo má formát `Tool` alebo `Tool(detail)`, napríklad `Read(./.env)`.

</div>

Claude Code má tri zoznamy pravidiel: **deny** (vždy zakázané), **ask** (pred vykonaním akcie sa opýtať) a **allow** (povolené bez potvrdenia). Keď sa agent chystá niečo vykonať, pravidlá sa kontrolujú presne v tomto poradí. Pravidlo deny, ktoré sa zhoduje, ruší každé pravidlo allow pre tú istú akciu: pravidlo allow nemôže vytvoriť výnimku zo zákazu.

Pravidlá sa ukladajú na troch miestach: používateľské pravidlá v `~/.claude/settings.json`, projektové pravidlá v `.claude/settings.json` v úložisku a lokálne pravidlá v `.claude/settings.local.json`. Tu je príklad nastavení, ktoré zakazujú čítanie súboru s kľúčmi:

```json
{
  "permissions": {
    "deny": [
      "Read(./.env)",
      "Read(./secrets/**)",
      "Bash(rm *)"
    ]
  }
}
```

Všetky aktívne pravidlá a súbor, z ktorého každé pochádza, môžete zobraziť spustením príkazu `/permissions` v relácii. Ak pravidlo blokuje čítanie, hlásenie o zamietnutí uvedie dané pravidlo, čo sa hodí pri nasledujúcej kontrole.



## Ktoré chyby ovplyvnili blokovania a rozsah pravidiel?

Chyby ovplyvnili kontroly ciest a príkazov, ako aj rozsah pravidiel z rôznych súborov nastavení.

**Prvý prípad: symbolické odkazy.** V systéme macOS sú `/etc`, `/tmp` a `/var` symbolické odkazy na skutočné priečinky pod `/private`; v systéme Linux je podobným odkazom zvyčajne `/bin`. Ak ste napísali pravidlo deny pre jednu podobu cesty, ale agent k nej pristupoval cez inú (napríklad cez skutočné umiestnenie namiesto symbolického odkazu), pravidlo sa nespustilo. Príkazy Bash tiež ignorovali zákaz zapísaný pre cestu cez symbolický odkaz. Vo verzii 2.1.268 sa opravili oba prípady: pravidlo teraz platí bez ohľadu na to, aká podoba cesty sa použila.

**Druhý prípad: `env -C` a `eval` na tom istom riadku.** Kontrola oprávnení analyzuje príkaz, aby zistila, ku ktorým súborom pristúpi. Nedokáže analyzovať konštrukcie ako `env -C` alebo `eval`. Chyba spočívala v tom, že keď sa takáto konštrukcia objavila na riadku, pravidlo deny pre Read alebo Edit sa nemuselo uplatniť. Príkaz tak mohol obísť zákaz čítania alebo úpravy chráneného súboru.

**Tretí prípad: pravidlo s „!“ presahovalo svoje hranice.** Pravidlo začínajúce znakom `!` sa má uplatňovať iba v súbore nastavení, v ktorom je zapísané. Pred verziou 2.1.269 sa uplatňovalo aj na iné zdroje nastavení. Teraz je jeho rozsah obmedzený na vlastný súbor a pravidlo pozostávajúce iba zo samostatného `!` sa ignoruje.

**Štvrtý prípad: zápis cez `tee`.** Príkaz Bash `tee` môže zapisovať do súboru. Kontrola cesty zápisu a pravidlá deny pre `Edit()` sa na tento súbor nevzťahovali. Oprávnenie `Bash(tee:*)` zároveň pokrývalo zápisy mimo pracovných adresárov. Vo verzii 2.1.269 sa tieto kontroly začali uplatňovať na zápisy cez `tee`: zákaz pre súbor sa vykoná a `Bash(tee:*)` pokrýva iba pracovné adresáre.

Ak používate cielené blokovania na ochranu `.env`, niekoľkých priečinkov služieb alebo nebezpečných príkazov, mali by ste skontrolovať aj tie. Postup je uvedený nižšie.

## Prečo mohlo /mcp zobraziť vaše kľúče?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Section takeaway">

Kľúčové zistenie

Kľúče v konfiguráciách MCP sa často poskytujú prostredníctvom premenných `${VAR}`. Príkazy `/mcp`, `/plugin`, `claude mcp list` a `claude mcp get`, ako aj chyby pri prihlasovaní do MCP, zobrazovali dosadené hodnoty — teda samotné kľúče. Vo verzii 2.1.268 je výstup redigovaný.

</div>

V konfiguráciách serverov MCP sa kľúče zvyčajne uchovávajú v premenných prostredia a odkazuje sa na ne pomocou `${VAR}`, aby sa súbor dal uložiť do úložiska bez samotných tajných údajov. Problém spočíval v tom, že príkazy na zobrazenie konfigurácie (`/mcp`, `/plugin`, `claude mcp list`, `claude mcp get`) a chybové hlásenia pri prihlasovaní do MCP zobrazovali konfiguráciu už s dosadenými hodnotami. Na obrazovke sa objavil samotný kľúč.

Ďalšia oprava sa týka chýb doplnkov a trhoviska: mohli zobraziť token alebo heslo z pôvodnej URL adresy Git.

Ak sa výstup príkazu `/mcp` alebo `claude mcp list` zo staršej verzie objavil vo vysielanom prenose, na snímke obrazovky, v správe kolegovi alebo v protokole, ktorý opustil váš počítač, a to aj automaticky, predpokladajte, že kľúče z konfigurácií MCP boli odhalené, a vymeňte ich. Ak výstup váš počítač neopustil, stačí aktualizovať. Samostatný sprievodca servermi MCP a pripravenými nastaveniami je tu: [Servery MCP pre Claude Code](https://ailoot.ai/blog/sk/mcp-servers-claude-code/).

## Ďalšie zmeny v týchto verziách

**WebFetch a artefakty.** Predtým sa pravidlo `WebFetch` bez podrobností v zozname deny alebo ask vzťahovalo aj na čítanie a úpravu zverejnených artefaktov. Od verzie 2.1.268 sa na ne už nevzťahuje. Ak chcete blokovať artefakty, potrebujete samostatné pravidlo `Artifact` alebo pravidlo pre doménu, napríklad `WebFetch(domain:claude.ai)`. Ak ste sa spoliehali na všeobecný zákaz WebFetch ako ochranu pred čítaním artefaktov, znova skontrolujte svoje nastavenia: predchádzajúce pravidlo už tieto akcie neblokuje.

**WebFetch má teraz časový limit.** Požiadavka na server, ktorý udržiava spojenie otvorené a nedokončí svoju odpoveď, teraz zlyhá po 300 sekundách. Predtým sa takáto požiadavka mohla zaseknúť na neurčito. Toto správanie možno nastaviť premennou `CLAUDE_CODE_WEBFETCH_DEADLINE_MS`; nastavenie hodnoty 0 časový limit vypne.

**Odstránilo sa trvalé vysoké využitie CPU v nečinných reláciách.** Počas dlhých nečinných relácií mohla nečinná slučka v Claude Code spôsobovať trvalo vysoké využitie CPU. Táto chyba sa opravila vo verzii 2.1.268. Mohla sa týkať aj ľudí, ktorí nechávajú relácie otvorené celý deň.

**Nainštalujte najnovšiu verziu.** Vo verzii 2.1.269 sa objavila nová chyba: po dlhom čase od spustenia relácie začali príkazy Bash Git, ktoré iba čítali údaje, žiadať o povolenie. Opravilo sa to vo verzii 2.1.270. Aktualizujte preto na najnovšiu verziu (k 17. septembru 2026 to bola 2.1.274); nezastavte sa pri verzii 2.1.268 ani 2.1.269.

## Ako aktualizovať a overiť, že blokovania fungujú?

<div class="aside" data-semantic="key-takeaway" role="note" aria-label="Section takeaway">

Kľúčové zistenie

Skontrolujte verziu pomocou `claude --version`, aktualizujte na najnovšie vydanie a potom otestujte pravidlo na bezpečnom súbore bez tajných údajov: pridajte preň pravidlo deny, požiadajte agenta, aby súbor prečítal, a uistite sa, že hlásenie o zamietnutí odkazuje na vaše pravidlo.

</div>

1.  **Zistite svoju aktuálnu verziu.** V termináli spustite `claude --version`. Opravy vyššie opísaných problémov vyšli vo verziách 2.1.268 a 2.1.269. Ak je číslo verzie nižšie než 2.1.268, vaša verzia tieto opravy ešte neobsahuje, hoci to, či sa vás jednotlivé problémy týkajú, závisí od používaných ciest, príkazov a pravidiel.
2.  **Aktualizujte.** Sprievodca [ako aktualizovať Claude Code na najnovšiu verziu](https://ailoot.ai/blog/sk/update-claude-code/) obsahuje podrobné pokyny a riešenie problémov. Vyberte najnovšiu verziu; nezastavte sa pri 2.1.268.
3.  **Otestujte blokovanie.** Netestujte pravidlo na skutočnom súbore `.env`: ak blokovanie zlyhá, agent uvidí skutočné kľúče. Vytvorte testovací súbor, napríklad `secret-test.txt`, s ľubovoľným textom, napríklad „toto je test“; do zoznamu deny v projektovom súbore `.claude/settings.json` pridajte pravidlo `"Read(./secret-test.txt)"`; reštartujte reláciu; a požiadajte: „prečítaj súbor secret-test.txt a povedz mi, čo obsahuje.“ Očakávaným výsledkom je zamietnutie, ktoré uvedie vaše pravidlo. Ak agent súbor prečíta, blokovanie v tomto teste nefungovalo. Najprv skontrolujte syntax v predchádzajúcej časti a otvorte `/permissions`, aby ste videli aktívne pravidlá a súbory, z ktorých sa načítali. Samotný výsledok testu neurčuje príčinu. Jedno zamietnutie ukazuje, že pravidlo pre tento súbor funguje; o ostatných pravidlách nič nehovorí, preto ich kontrolujte postupne rovnakým spôsobom.
4.  **Ak používate takéto cesty, skontrolujte prípad so symbolickým odkazom.** Ak máte pravidlá deny pre `/tmp`, `/etc` alebo `/var` v systéme macOS, prípadne pre `/bin` v systéme Linux, po aktualizácii zopakujte test pre tieto cesty.
5.  **Skontrolujte pravidlá s „!“.** Ak ste nejaké použili, overte, že každé je zapísané v súbore, v ktorom sa má uplatňovať.

Ak blokovanie funguje, ale Claude Code stále nevidí potrebné súbory, pozrite si samostatné vysvetlenie: [prečo Claude Code nevidí súbory projektu](https://ailoot.ai/blog/sk/claude-code-cant-see-project-files/).

## Ak teraz nemôžete aktualizovať

Niekedy musíte aktualizáciu odložiť: nemôžete zmeniť prostredie, počítač patrí spoločnosti alebo potrebujete dokončiť aktuálnu úlohu. Kým neaktualizujete, môžete znížiť riziko takto:

- napíšte pravidlá deny pre oba zápisy cesty — symbolický odkaz aj skutočné umiestnenie (v systéme macOS sú skutočné cesty pod `/private`);
- nekombinujte viacero príkazov na jednom riadku a v príkazoch, ktorých vykonanie žiadate od agenta, sa vyhýbajte `env -C` a `eval`;
- nikomu nezobrazujte výstup príkazov `/mcp`, `/plugin`, `claude mcp list` ani `claude mcp get` a vymeňte kľúče z konfigurácií MCP, ktoré sa mohli dostať do cudzích rúk;
- pamätajte, že `tee` obchádza pravidlo deny pre Edit — ak je Bash povolený, nepovažujte súbory za chránené.

Tieto opatrenia znižujú pravdepodobnosť konkrétnych obídení, ale nenahrádzajú opravu. Hneď ako budete môcť, aktualizujte a vykonajte test z predchádzajúcej časti.

## Stručné zhrnutie

Verzie 2.1.268 a 2.1.269 opravili štyri problémy s oprávneniami v Claude Code: symbolické odkazy, riadky s `env -C` a `eval`, pravidlá s „!“, ktoré sa uplatňovali aj mimo vlastného súboru, a zápisy cez `tee`. Samostatne opravili odhalenie tajných údajov vo výstupe `/mcp` a tokenov v chybách doplnkov. Skontrolujte číslo verzie, aktualizujte na najnovšie vydanie a vykonajte test s testovacím súborom z predchádzajúcej časti. Zamietnutie, ktoré uvedie vaše pravidlo, dokazuje, že blokovanie pri tomto teste fungovalo. Samotná prítomnosť pravidla v nastaveniach na overenie jeho funkčnosti nestačí.

<div class="section" role="doc-bibliography" aria-label="Sources">

### Zdroje

- Claude Code, oficiálny zoznam zmien (záznamy pre verzie 2.1.268, 2.1.269, 2.1.270): <https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md>
- Claude Code, dátumy vydania verzií na npm: <https://www.npmjs.com/package/@anthropic-ai/claude-code>
- Claude Code, dokumentácia oprávnení (syntax deny/ask/allow): <https://code.claude.com/docs/en/permissions>
- Claude Code, vydania na GitHube: <https://github.com/anthropics/claude-code/releases>

</div>





Ak chcete pokračovať v práci s modelmi, môžete prejsť na [Ailoot](https://ailoot.ai/).

## Otázky a odpovede: Claude Code 2.1.268: Čo sa opravilo v pravidlách deny a MCP

### Ako otestovať pravidlo deny bez odhalenia skutočného tajomstva?

Vytvorte súbor s neškodným textom, zakážte k nemu prístup Read, reštartujte reláciu a požiadajte agenta, aby ho prečítal. Očakávajte odmietnutie s uvedením vášho pravidla. Na skúšku, ktorá môže zlyhať, nikdy nepoužívajte skutočný súbor .env.

### Dokazuje jedno úspešné odmietnutie bezpečnosť všetkých oprávnení?

Nie. Overuje iba testovaný súbor a spôsob prístupu. V /permissions si prezrite aktívne pravidlá a potom otestujte ďalšie cesty a prípady, na ktoré sa spoliehate, vrátane ciest cez symbolické odkazy, ak ich používate.


## Ailoot · Spoločnosť a jej portfólio projektov

Ailoot stavia na dlhodobých prevádzkových skúsenostiach, širokej klientskej základni, stabilných službách a priebežnom sledovaní KPI.

Spoločnosť a jej portfólio projektov: milióny zákazníkov; mesačné tržby v miliardách.

Ailoot využíva tieto prevádzkové skúsenosti na poskytovanie prístupu cez API k funkciám AI v produktoch zákazníkov, agentoch, aplikáciách a automatizáciách.
