<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Bezpečnost souborů Excel on File Format Blog</title>
    <link>https://blog.fileformat.com/cs/tag/bezpe%C4%8Dnost-soubor%C5%AF-excel/</link>
    <description>Recent content in Bezpečnost souborů Excel on File Format Blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>cs</language>
    <lastBuildDate>Mon, 28 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://blog.fileformat.com/cs/tag/bezpe%C4%8Dnost-soubor%C5%AF-excel/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Bezpečnost souborů Excel vysvětlená: XLSX, XLSM a rizika maker</title>
      <link>https://blog.fileformat.com/cs/spreadsheet/excel-file-security-explained-xlsx-xlsm-and-macro-risks/</link>
      <pubDate>Mon, 28 Sep 2026 00:00:00 +0000</pubDate>
      
      <guid>https://blog.fileformat.com/cs/spreadsheet/excel-file-security-explained-xlsx-xlsm-and-macro-risks/</guid>
      <description>Pochopte skutečné bezpečnostní rozdíly mezi soubory XLSX a XLSM, jak fungují útoky založené na makrech, a jak chránit vaši organizaci před škodlivými tabulkami.</description>
      <content:encoded><![CDATA[<p><strong>Poslední aktualizace</strong>: 28. září 2026</p>
<figure class="align-center ">
    <img loading="lazy" src="images/excel-file-security-explained-xlsx-xlsm-and-macro-risks.png#center"
         alt="XLSX vs. XLSM Security: How Spreadsheet Macros Expose Your Network"/> 
</figure>

<h2 id="bezpečnost-souborů-excel-vysvětlená-xlsx-xlsm-a-rizika-maker">Bezpečnost souborů Excel vysvětlená: XLSX, XLSM a rizika maker</h2>
<p>Po desetiletí je Microsoft Excel považován za univerzální motor obchodních operací. Vyvažuje firemní rozpočty, vizualizuje složité datové sady, sleduje zásoby a pohání analytické pipeline napříč téměř všemi odvětvími.</p>
<p>Přesto tato stejná výpočetní flexibilita činí tabulky trvalým favoritem mezi kybernetickými protivníky. Útočníci zneužívají tabulky již od počátků makrovirů koncem 90. let. Zatímco Microsoft a správci systémů zavedli více vrstev obrany — například oddělení formátů souborů a výchozí blokování maker — sociální inženýrství a jemná architektonická rizika nadále udržují útoky zaměřené na Excel relevantní.</p>
<p>Pro vybudování odolného bezpečnostního postoje musí vývojáři, administrátoři a pokročilí uživatelé nahlédnout pod rozhraní sešitu. Porozumění tomu, jak funguje podkladový formát OpenXML, jak se na architektonické úrovni liší <code>.xlsx</code> a <code>.xlsm</code>, a jak fungují mechaniky spouštění maker, je zásadní pro obranu moderních koncových bodů.</p>
<h2 id="1-anatomie-moderních-souborů-excel-openxml-rozebráno">1. Anatomie moderních souborů Excel: OpenXML rozebráno</h2>
<p>Před vydáním Microsoft Office 2007 ukládal Excel soubory převážně pomocí proprietárních binárních formátů, nejčastěji formát <code>.xls</code> (spravovaný Binary Interchange File Format, nebo BIFF8). V souborech <code>.xls</code> byly záznamy dat, definice formátování, vzorce a proudy maker Visual Basic for Applications (VBA) zabaleny do jediného kontejneru strukturovaného úložiště. To ztížilo programovou inspekci a umožnilo útočníkům skrýt škodlivé skripty s nákladem uvnitř neprůhledných binárních sektorů.</p>
<p>Od Excelu 2007 Microsoft představil standard <strong>Office Open XML (OOXML)</strong> (standardizovaný jako ECMA-376 a ISO/IEC 29500). V rámci OOXML nejsou sešity Excelu již monolitické binární bloky. Místo toho jsou to zipované archivy obsahující hierarchickou strukturu XML dokumentů, tabulky vztahů a vložená mediální aktiva.</p>
<h3 id="uvnitř-zip-kontejneru">Uvnitř ZIP kontejneru</h3>
<p>Pokud vezmete libovolnou standardní moderní sešit Excelu a přejmenujete jeho příponu na <code>.zip</code>, můžete jeho obsah rozbalit pomocí libovolného standardního nástroje pro dekompresi:</p>
<pre tabindex="0"><code>my_workbook.xlsx (extracted)
│
├── [Content_Types].xml        &lt;-- Registry of MIME types and structural parts
├── _rels/                     &lt;-- Package-level relationship mappings
│   └── .rels
├── docProps/                  &lt;-- Metadata (author, creation date, revision)
│   ├── app.xml
│   └── core.xml
└── xl/                        &lt;-- Core spreadsheet contents
    ├── workbook.xml           &lt;-- Workbook-level parameters and sheet list
    ├── styles.xml             &lt;-- Cell styles, fonts, and borders
    ├── sharedStrings.xml      &lt;-- Unique string index for performance optimization
    ├── _rels/
    │   └── workbook.xml.rels  &lt;-- Sheet and component dependencies
    └── worksheets/
        ├── sheet1.xml         &lt;-- Raw cell values, formulas, and grid geometry
        └── sheet2.xml
</code></pre><p>Tato struktura změna přinesla okamžité bezpečnostní výhody:</p>
<ol>
<li><strong>DPI (hloubková inspekce paketů) &amp; Viditelnost brány:</strong> Bezpečnostní zařízení, proxy servery a koncové agenty mohou archiv rozbalit za běhu a analyzovat textové XML stromy k identifikaci podezřelých řetězců, externích URL nebo vložených objektů.</li>
<li><strong>Deterministické ověřování souborů:</strong> Pokud soubor tvrdí, že je dokument OpenXML, ale porušuje schémata, Excel odmítne jej otevřít nebo jej spustí v režimu sandboxované obnovy.</li>
<li><strong>Oddělení formátu:</strong> Microsoft oddělil běžné výpočetní tabulky od souborů schopných spouštět vložené procedurální skripty.</li>
</ol>
<h2 id="2-xlsx1-vs-xlsm7-architektonická-hranice">2. <a href="https://docs.fileformat.com/spreadsheet/xlsx/">XLSX</a> vs. <a href="https://docs.fileformat.com/spreadsheet/xlsm/">XLSM</a>: Architektonická hranice</h2>
<p>Hlavní rozdíl mezi <code>.xlsx</code> a <code>.xlsm</code> spočívá v tom, zda struktura souboru umožňuje zahrnutí spustitelných makro projektů.</p>
<table>
<thead>
<tr>
<th style="text-align:left">Funkce / Rozměr</th>
<th style="text-align:left"><code>.xlsx</code> (Excel OpenXML tabulka)</th>
<th style="text-align:left"><code>.xlsm</code> (Makro‑povolený sešit Excel)</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left"><strong>MIME typ obsahu</strong></td>
<td style="text-align:left"><code>application/vnd.openxmlformats-officedocument.spreadsheetml.sheet</code></td>
<td style="text-align:left"><code>application/vnd.ms-excel.sheet.macroEnabled.12</code></td>
</tr>
<tr>
<td style="text-align:left"><strong>Kontejner úložiště VBA</strong></td>
<td style="text-align:left"><strong>Přísně zakázáno.</strong> Nelze uložit <code>vbaProject.bin</code></td>
<td style="text-align:left"><strong>Povoleno.</strong> Obsahuje <code>xl/vbaProject.bin</code></td>
</tr>
<tr>
<td style="text-align:left"><strong>Riziko nativního spuštění</strong></td>
<td style="text-align:left">Nevýznamné pro spouštění maker; omezeno na vkládání vzorců/DDE</td>
<td style="text-align:left">Vysoké; může spouštět automatizovaný VBA kód při interakci s sešitem</td>
</tr>
<tr>
<td style="text-align:left"><strong>OpenXML přísné schéma</strong></td>
<td style="text-align:left">Odpovídá přísným, bezmakrovým definicím XML</td>
<td style="text-align:left">Obsahuje definice pro starší i moderní rozšíření automatizace</td>
</tr>
<tr>
<td style="text-align:left"><strong>Uživatelský vizuální indikátor</strong></td>
<td style="text-align:left">Standardní zelená ikona tabulky</td>
<td style="text-align:left">Ikona tabulky označená vykřičníkem</td>
</tr>
</tbody>
</table>
<h3 id="mechanismus-vynucení-proč-xlsx-nemůže-spouštět-makra">Mechanismus vynucení: Proč XLSX nemůže spouštět makra</h3>
<p>Častá otázka mezi juniorními administrátory a vývojáři je: <em>Co se stane, když útočník vezme škodlivý soubor <code>.xlsm</code>, vloží spustitelný kód a přejmenuje příponu souboru na <code>.xlsx</code>?</em></p>
<p>Krátká odpověď: <strong>Soubor makro nespustí.</strong></p>
<p>Excel se nepouští výhradně na příponu souboru při určování pravidel spouštění. Při otevření souboru s názvem <code>.xlsx</code>:</p>
<ol>
<li>Excel prozkoumá zipový obsah a odkazuje na <code>[Content_Types].xml</code>.</li>
<li>Ve skutečném souboru <code>.xlsx</code> všechny definované typy obsahu představují standardní datové prvky (například <code>worksheet</code>, <code>sharedStrings</code> nebo <code>styles</code>).</li>
<li>Pokud útočník ručně vloží zkompilovaný VBA stream (<code>xl/vbaProject.bin</code>) do balíčku <code>.xlsx</code> a aktualizuje vztahy, Excel narazí na explicitní rozpor ve schématu:
<ul>
<li>Vidí příponu <code>.xlsx</code> spojenou s typy obsahu, které naznačují schopnost makra.</li>
<li>Excel vyhodí fatální chybu integrity: <em>&ldquo;Excel nemůže otevřít soubor &lsquo;filename.xlsx&rsquo;, protože formát souboru nebo jeho přípona není platná. Ověřte, že soubor nebyl poškozen&hellip;&rdquo;</em></li>
</ul>
</li>
<li>Pokud útočník ponechá interní typy nedotčené a nezaregistruje binární soubor, Excel považuje <code>vbaProject.bin</code> za neodkazovanou, osiřelou přílohu v zip archivu a během načítacího cyklu ji zcela zahodí.</li>
</ol>
<p>V důsledku toho <strong>soubor fungující výhradně jako pravý kontejner <code>.xlsx</code> nemůže spouštět nativní VBA kód.</strong> Nicméně to neznamená, že soubory <code>.xlsx</code> jsou osvobozeny od všech útočných vektorů, jak je podrobně rozebráno dále v tomto průvodci.</p>
<h2 id="3-rizika-maker--životní-cyklus-útoku">3. Rizika maker &amp; životní cyklus útoku</h2>
<p>Makra byla navržena k automatizaci opakujících se úkolů v účetnictví, finančním modelování a manipulaci s daty pomocí Visual Basic for Applications (VBA). Protože VBA bylo vytvořeno pro automatizaci pracovního prostředí, poskytovalo rozsáhlý přístup k podkladovému operačnímu systému Windows prostřednictvím Component Object Model (COM), Windows Script Host (WSH) a přímých volání Win32 API.</p>
<p>Když se spustí nedůvěryhodné makro, běží s <strong>přesně stejnými oprávněními jako přihlášený uživatel</strong>. Není zachyceno ve virtualizovaném sandboxu prohlížeče ve stylu JavaScriptu.</p>
<pre tabindex="0"><code>+--------------------------------------------------------------------------------+
|                             ATTACK LIFECYCLE                                   |
+--------------------------------------------------------------------------------+
                                       │
                                       ▼
  [ Delivery &amp; Evasion ]  ──────► Spear-phishing email with .xlsm, .xlam, or .zip.
                                       │
                                       ▼
  [ Social Engineering ]  ──────► Lures victim to bypass Protected View (&#34;Enable Content&#34;).
                                       │
                                       ▼
  [ Auto-Execution ]      ──────► Auto_Open() or Workbook_Open() triggers automatically.
                                       │
                                       ▼
  [ System Invocation ]   ──────► VBA creates COM objects (WScript.Shell, WinHttp.WinHttpRequest).
                                       │
                                       ▼
  [ Payload Retrieval ]   ──────► Spawns hidden PowerShell/cURL to fetch staging binary.
                                       │
                                       ▼
  [ Post-Exploitation ]   ──────► In-memory execution, credential theft, lateral movement.
</code></pre><h3 id="běžné-techniky-vstupu-maker">Běžné techniky vstupu maker</h3>
<ol>
<li>
<p><strong>Háčky pro automatické spuštění:</strong>
Útočníci umisťují svůj vstupní bod do vnitřních obslužných rutin událostí, jako jsou <code>Sub Auto_Open()</code> nebo <code>Private Sub Workbook_Open()</code>. Jakmile uživatel povolí spouštění, tyto rutiny se spustí, aniž by bylo potřeba jakýchkoli kliknutí v tabulce.</p>
</li>
<li>
<p><strong>Zamaskování a Přepisování:</strong></p>
<ul>
<li><strong>Zamaskování řetězců:</strong> Nákladní data skrývají URL a systémová volání pomocí polí znaků, XOR kódování, dekódování Base64 nebo spojování proměnných prostředí (např. <code>Chr(112) &amp; Chr(111) &amp; Chr(119)...</code>).</li>
<li><strong>VBA Stomping:</strong> VBA existuje ve dvou formách uvnitř <code>vbaProject.bin</code>: interpretovaný zdrojový kód a zkompilovaný p-code (pseudo-kód cílený na konkrétní verzi Office, která jej zkompilovala). Útočníci mohou zcela vymazat čitelný zdrojový kód a ponechat jen zkompilovaný p-code. Mnoho základních antivirových řešení a statických analyzátorů kontroluje pouze zdrojový tok, takže p-code zůstává neodhalen až do jeho spuštění odpovídající verzí Office.</li>
</ul>
</li>
<li>
<p><strong>Využívání vestavěných nástrojů (LotL):</strong>
Moderní škodlivé makra zřídka uložení soubor <code>.exe</code> přímo na disk, což by okamžitě upozornilo agenty Endpoint Detection and Response (EDR). Místo toho komunikují s vestavěnými systémovými nástroji:</p>
<ul>
<li>Instanciace <code>WScript.Shell</code> pro spuštění argumentů příkazového řádku.</li>
<li>Vyvolání <code>PowerShell.exe</code> s obcházením zásad provádění (<code>-ExecutionPolicy Bypass -WindowStyle Hidden</code>).</li>
<li>Volání nativních Win32 API pomocí <code>Declare PtrSafe Function CreateProcess</code> nebo <code>VirtualAlloc</code> za účelem injekce shellcode přímo do systémové paměti.</li>
</ul>
</li>
</ol>
<h2 id="4-další-vektory-hrozeb-v-tabulkách-mimo-standardní-vba">4. Další vektory hrozeb v tabulkách (mimo standardní VBA)</h2>
<p>Zajištění prostředí proti souborům <code>.xlsm</code> je jen polovinou boje. Útočníci také používají mechanismy, které fungují nezávisle na tradičním VBA.</p>
<h3 id="dynamic-data-exchange-dde-a-csv11-injekce">Dynamic Data Exchange (DDE) a <a href="https://docs.fileformat.com/spreadsheet/csv/">CSV</a> injekce</h3>
<p>Excel obsahuje starý protokol nazvaný Dynamic Data Exchange (DDE), který je určen pro sdílení dat mezi běžícími aplikacemi (například streamování živých dat burzovního tickeru z externího programu do buňky v Excelu).</p>
<ul>
<li><strong>Jak funguje injekce vzorců:</strong>
Když buňka tabulky začíná znaky jako <code>=</code>, <code>@</code>, <code>+</code> nebo <code>-</code>, Excel interpretuje obsah jako vzorec. Pokud útočník kontroluje vstup exportovaný do tabulky (například nevyčištěné pole „Comments“ ve webové aplikaci exportované do CSV nebo XLSX), může injektovat:
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-text" data-lang="text"><span style="display:flex;"><span>=cmd|&#39;/C powershell.exe -w hidden -enc &lt;base64_payload&gt;&#39;!A0
</span></span></code></pre></div></li>
<li>Po otevření Excel vyhodnotí vzorec, upozorní uživatele výzvou ke spuštění externí aplikace a po schválení spustí systémový shell.</li>
</ul>
<h3 id="excel-40-xlm-starší-makra">Excel 4.0 (XLM) starší makra</h3>
<p>Před tím, než byl v roce 1993 představen VBA, Excel používal makrosystém založený na vzorcích, známý jako <strong>Excel 4.0 (XLM) makra</strong>. Tato makra jsou uložena v dedikovaných listách makr, nikoli v samostatném projektu VBA.</p>
<p>Protože jsou XLM makra psána jako buňkové vzorce (například <code>=EXEC(&quot;calc.exe&quot;)</code>), obcházejí mnoho standardních statických inspekčních enginů VBA. Útočníci upřednostňovali XLM makra koncem 2010. let a začátkem 2020. let, aby se vyhnuli automatické detekci, než je Microsoft ve výchozím nastavení zakázal v moderních podnikových verzích.</p>
<h3 id="zlovolné-externí-připojení-a-ole-objekty">Zlovolné externí připojení a OLE objekty</h3>
<p>Běžná sešit <code>.xlsx</code> může i nadále představovat riziko prostřednictvím externích zdrojů:</p>
<ul>
<li><strong>Vložené OLE balíčky:</strong> Útočník může vložit spustitelný soubor maskovaný jako ikona vloženého PDF přímo do listu.</li>
<li><strong>Externí odkazy na sešity a webové dotazy:</strong> XLSX může obsahovat externí odkazy, které při otevření souboru automaticky spustí HTTP GET požadavky na servery řízené útočníkem (C2), což se primárně používá pro průzkum nebo útoky na sběr netNTLM hashů.</li>
</ul>
<h2 id="5-zpevnění-podniku-a-strategie-obrany-v-hloubce">5. Zpevnění podniku a strategie obrany v hloubce</h2>
<p>Obrana proti hrozbám šířeným prostřednictvím Excelu vyžaduje vrstvený přístup zahrnující síťovou inspekci, konfiguraci systému, řízení přístupu a provozní procesy.</p>
<pre tabindex="0"><code>+─────────────────────────────────────────────────────────+
|                  ENTERPRISE DEFENSE LAYERS               |
+─────────────────────────────────────────────────────────+
|  PERIMETER: Drop inbound .xlsm, .xla, and .xltm at mail |
|  gateway unless cryptographically signed or exempted.   |
+---------------------------------------------------------+
|  IDENTITY &amp; POLICY: Enforce ASR rules and apply         |
|  Mark of the Web (MotW) macro execution blocks.         |
+---------------------------------------------------------+
|  RUNTIME: Hook AMSI into Office to evaluate dynamic     |
|  VBA buffers directly before execution.                 |
+---------------------------------------------------------+
|  STORAGE: Restrict macro execution exclusively to       |
|  managed, centralized Trusted Locations.                |
+─────────────────────────────────────────────────────────+
</code></pre><h3 id="1-vynutit-značku-webu-motw-blokování-maker">1. Vynutit značku webu (MotW) blokování maker</h3>
<p>V roce 2022 společnost Microsoft aktualizovala výchozí chování aplikací Office: makra v souborech pocházejících z internetu jsou <strong>ve výchozím nastavení blokována</strong>.</p>
<p>Když uživatel stáhne soubor pomocí prohlížeče nebo externího klienta, Windows označí soubor alternativním datovým proudem (ADS) nazvaným <code>Zone.Identifier</code> (zóna 3 označuje Internet). Pro soubory s tímto označením Excel kompletně zakáže makra a zobrazí červený bezpečnostní banner: &gt; <em>&ldquo;BEZPEČNOSTNÍ RIZIKO: Microsoft zablokoval spouštění maker, protože zdroj tohoto souboru není důvěryhodný.&rdquo;</em></p>
<p><strong>Administrativní akce:</strong> Zajistěte, aby toto chování bylo vynuceno pomocí Group Policy a nemohlo být uživateli přepsáno:</p>
<ul>
<li><strong>Cesta GPO:</strong> <code>User Configuration &gt; Administrative Templates &gt; Microsoft Excel 2016 &gt; Excel Options &gt; Security &gt; Trust Center</code></li>
<li><strong>Nastavení:</strong> Povolit <em>&ldquo;Blokovat spouštění maker v Office souborech z internetu&rdquo;</em>.</li>
</ul>
<h3 id="2-konfigurovat-pravidla-pro-snížení-útočného-povrchu-asr">2. Konfigurovat pravidla pro snížení útočného povrchu (ASR)</h3>
<p>Organizace používající Microsoft Defender for Endpoint by měly aktivovat základní pravidla pro snížení útočného povrchu (Attack Surface Reduction), která jsou navržena speciálně pro aplikace Office:</p>
<ul>
<li><code>Block Office applications from creating child processes</code> (GUID: <code>D4F940AB-401B-4EFC-AADC-AD5F3C50688A</code>)
<ul>
<li><em>Zabraňuje Excelu spouštět PowerShell, CMD nebo skriptovací enginy.</em></li>
</ul>
</li>
<li><code>Zablokovat aplikace Office před vkládáním kódu do jiných procesů</code> (GUID: <code>75668C1F-73B5-4CF0-BB93-3ECF5CB7CC84</code>)</li>
<li><code>Zablokovat volání Win32 API z maker Office</code> (GUID: <code>92E6390C-CF9E-43CE-BD8C-0E6F0FE66680</code>)</li>
</ul>
<h3 id="3-využít-rozhraní-pro-skenování-antimalwaru-amsi">3. Využít rozhraní pro skenování antimalwaru (AMSI)</h3>
<p>Moderní verze Microsoft 365 integrují spouštění VBA přímo s AMSI. I když útočník použije složitou obfuskaci řetězců nebo VBA stomping, běhový engine VBA předá rekonstruované, nešifrované příkazy vašemu nainstalovanému antivirovému/EDR enginu v přesně poslední milisekundě před spuštěním. Zajistěte, aby vaše ochrana koncových bodů aktivně sledovala události runtime AMSI.</p>
<h3 id="4-přechod-na-důvěryhodná-umístění-a-digitální-certifikáty">4. Přechod na důvěryhodná umístění a digitální certifikáty</h3>
<p>Pro organizace, které se spoléhají na automatizované tabulky pro každodenní operace:</p>
<ul>
<li><strong>Odstraňte volně umístěné soubory XLSM ve složkách Stažené soubory uživatele nebo na ploše.</strong></li>
<li><strong>Použijte důvěryhodná umístění:</strong> Omezte spouštění maker výhradně na jen pro čtení síťové sdílené složky spravované IT administrátory.</li>
<li><strong>Podepisování kódu:</strong> Požadujte, aby všechna interně vyvíjená makra byla kryptograficky podepsána pomocí certifikátu vydaného podnikové infrastruktury veřejných klíčů (PKI). Nakonfigurujte Excel tak, aby spouštěl <strong>pouze</strong> digitálně podepsaná makra a tiše blokoval nepodepsaná.</li>
</ul>
<h2 id="6-perspektiva-vývojáře-budování-bezpečné-automatizace">6. Perspektiva vývojáře: budování bezpečné automatizace</h2>
<p>Pokud vytváříte software, který parsuje, generuje nebo konzumuje soubory Excel (např. Python pipeline používající <code>pandas</code>/<code>openpyxl</code>, Node.js mikroservisy nebo aplikace v C#/.NET), použijte tato vývojová opatření:</p>
<ol>
<li>
<p><strong>Odmítněte neočekávané formáty souborů na hranici nahrávání:</strong>
Pokud vaše aplikace očekává finanční zprávy, přísně ověřte, že příchozí soubory odpovídají formátu <code>.xlsx</code>. Prohlédněte interní magické bajty (standardní zip hlavičku <code>50 4B 03 04</code>) a ověřte, že v indexu archivu neexistují žádné položky <code>vbaProject.bin</code> před uložením do cloudových bucketů nebo databázových úložišť.</p>
</li>
<li>
<p><strong>Sanitizujte data proti injekci vzorců:</strong>
Při exportu vstupu vytvořeného uživatelem do souborů CSV nebo XLSX přidejte apostrof (<code>'</code>) nebo mezeru na začátek každé buňky, která začíná nebezpečnými znaky (<code>=</code>, <code>+</code>, <code>-</code>, <code>@</code>, <code>\t</code>, <code>\r</code>):</p>
<div class="highlight"><pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span><span style="color:#66d9ef">def</span> <span style="color:#a6e22e">sanitize_for_spreadsheet</span>(value: str) <span style="color:#f92672">-&gt;</span> str:
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">if</span> value <span style="color:#f92672">and</span> value[<span style="color:#ae81ff">0</span>] <span style="color:#f92672">in</span> (<span style="color:#e6db74">&#39;=&#39;</span>, <span style="color:#e6db74">&#39;+&#39;</span>, <span style="color:#e6db74">&#39;-&#39;</span>, <span style="color:#e6db74">&#39;@&#39;</span>, <span style="color:#e6db74">&#39;</span><span style="color:#ae81ff">\t</span><span style="color:#e6db74">&#39;</span>, <span style="color:#e6db74">&#39;</span><span style="color:#ae81ff">\r</span><span style="color:#e6db74">&#39;</span>):
</span></span><span style="display:flex;"><span>        <span style="color:#66d9ef">return</span> <span style="color:#e6db74">f</span><span style="color:#e6db74">&#34;&#39;</span><span style="color:#e6db74">{</span>value<span style="color:#e6db74">}</span><span style="color:#e6db74">&#34;</span>
</span></span><span style="display:flex;"><span>    <span style="color:#66d9ef">return</span> value
</span></span></code></pre></div></li>
<li>
<p><strong>Přesuňte se z VBA na Office Scripts nebo webové doplňky:</strong>
Pro moderní podnikovou automatizaci postupně odstraňte staré VBA úplně:</p>
<ul>
<li><strong>Office Scripts:</strong> Psány v TypeScriptu, Office Scripts běží v sandboxovaném cloudovém prostředí a fungují hladce napříč webovými i desktopovými verzemi, aniž by odhalovaly nativní systémové volání OS.</li>
<li><strong>Office Web Add-ins:</strong> Vytvořeny pomocí standardního HTML, CSS a moderního JavaScriptu, webové doplňky komunikují přes spravované JavaScript API a jsou izolovány od místního operačního systému.</li>
</ul>
</li>
</ol>
<h2 id="7-souhrnný-kontrolní-seznam-pro-zabezpečení-tabulek">7. Souhrnný kontrolní seznam pro zabezpečení tabulek</h2>
<ul>
<li><input disabled="" type="checkbox"> <strong>Vynutit <code>.xlsx</code> jako výchozí:</strong> Vyžadovat, aby všechny standardní uživatelské pracovní postupy ukládaly jako <code>.xlsx</code> bez maker.</li>
<li><input disabled="" type="checkbox"> <strong>Blokovat makra pocházející z internetu:</strong> Ověřte, že vynucení politiky MotW je nasazeno v celé organizaci prostřednictvím GPO nebo Intune.</li>
<li><input disabled="" type="checkbox"> <strong>Povolit pravidla ASR:</strong> Zakázat produktům Office spouštět interpretery příkazů nebo podprocesy.</li>
<li><input disabled="" type="checkbox"> <strong>Zrušit podporu Excel 4.0 (XLM):</strong> Zajistit, aby staré XLM makro enginy byly trvale vypnuty na všech pracovních stanicích.</li>
<li><input disabled="" type="checkbox"> <strong>Sanitizovat exporty aplikací:</strong> Chrání rutiny generování CSV a Excel před injekcí CSV/formulí.</li>
<li><input disabled="" type="checkbox"> <strong>Přesunout se k Office Scripts:</strong> Převést stará administrativní makra na Office Scripts řízené TypeScriptem a spravovaná API.</li>
</ul>
<p>Když se tabulky považují nejen za dokumentové soubory, ale za strukturované softwarové kontejnery, které nesou spouštěcí schopnosti, mohou bezpečnostní týmy a vývojáři efektivně neutralizovat jeden z nejstarších vektorů útoků v podnikovém výpočetním prostředí.</p>
<h1 id="často-kladené-otázky-faq">Často kladené otázky (FAQ)</h1>
<h3 id="q1-může-soubor-končící-na-xlsx-spustit-škodlivý-makro">Q1: Může soubor končící na <code>.xlsx</code> spustit škodlivý makro?</h3>
<p>Ne, standard OpenXML přísně zakazuje makro kód v souborech <code>.xlsx</code> a Excel odmítne nebo odstraní jakýkoli VBA projekt vložený do skutečného kontejneru <code>.xlsx</code>.</p>
<h3 id="q2-co-mám-dělat-pokud-mě-soubor-excel-požádá-o-povolit-úpravy-nebo-povolit-obsah">Q2: Co mám dělat, pokud mě soubor Excel požádá o &ldquo;Povolit úpravy&rdquo; nebo &ldquo;Povolit obsah&rdquo;?</h3>
<p>Oprávnění udělujte pouze, pokud znáte odesílatele a soubor jste očekávali; tato výzva je hlavním kontrolním bodem, který umožňuje nedůvěryhodným makrům spouštět kód.</p>
<h3 id="q3-jak-microsoft-excel-určuje-zda-soubor-pochází-z-internetu">Q3: Jak Microsoft Excel určuje, zda soubor pochází z internetu?</h3>
<p>Windows připojuje ke staženým souborům skrytý proud &ldquo;Mark of the Web&rdquo; (Zone.Identifier), který Excelu signalizuje, aby je otevřel v chráněném zobrazení a ve výchozím nastavení blokoval makra.</p>
<h3 id="q4--jsou-soubory-csv-bezpečnější-než-soubory-xlsx1-a-xlsm7">Q4:  Jsou soubory CSV bezpečnější než soubory <a href="https://docs.fileformat.com/spreadsheet/xlsx/">XLSX</a> a <a href="https://docs.fileformat.com/spreadsheet/xlsm/">XLSM</a>?</h3>
<p>Soubory CSV nemohou obsahovat nativní VBA makra, ale jsou stále zranitelné vůči útokům injekcí vzorců, pokud obsahují škodlivé příkazy, které Excel spustí při otevření.</p>
<h3 id="q5-jak-se-moderní-office-scripts-liší-od-tradičních-vba-maker">Q5: Jak se moderní Office Scripts liší od tradičních VBA maker?</h3>
<p>Office Scripts běží na TypeScriptu v sandboxovaném runtime prostředí, což jim brání přistupovat k vašemu místnímu souborovému systému, příkazové řádce nebo API operačního systému.</p>
<h2 id="viz-také">Viz také</h2>
<ul>
<li><a href="https://blog.fileformat.com/en/spreadsheet/csv-vs-xlsx-vs-ods-in-2026-best-spreadsheet-format-for-developers/">CSV vs XLSX vs ODS v roce 2026: Nejlepší formát tabulek pro vývojáře</a></li>
<li><a href="https://blog.fileformat.com/en/spreadsheet/xls-vs-xlsx-vs-xlsm-vs-xlsb-choosing-the-right-spreadsheet-format/">XLS vs XLSX vs XLSM vs XLSB – Výběr správného formátu tabulek</a></li>
<li><a href="https://blog.fileformat.com/spreadsheet/what-is-excel/">Co je Excel? Klíčové informace, které potřebujete vědět</a></li>
<li><a href="https://blog.fileformat.com/spreadsheet/excel-file-extensions-xlsx-xlsm-xls-xltx-xltm/">Formáty souborů Excel: XLSX, XLSM, XLS, XLTX, XLTM</a></li>
<li><a href="https://blog.fileformat.com/spreadsheet/xls-vs-xlsx/">Rozdíl mezi XLS a XLSX</a></li>
</ul>
<!-- raw HTML omitted -->
]]></content:encoded>
    </item>
    
  </channel>
</rss>
