<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>AI巨头的政治代理战、Agentjacking新攻击、GPT-5.6预热——AI产业进入"政治武器化"新阶段 - Markdown</title>
    <style>
        body { 
            font-family: monospace; 
            white-space: pre-wrap; 
            word-wrap: break-word; 
            padding: 0; 
            background-color: #e5e5e5;
            color: #24292f;
            margin: 0;
            display: flex;
            flex-direction: column;
            align-items: center;
            min-height: 100vh;
        }
        .markdown-body {
            box-sizing: border-box;
            width: 100%;
            max-width: 980px;
            margin: 2em auto;
            padding: 45px;
            background-color: #fff;
            border: 1px solid #d0d7de;
            border-radius: 6px;
            font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
            white-space: normal;
            box-shadow: 0 4px 12px rgba(0,0,0,0.05);
        }
        @media (prefers-color-scheme: dark) {
            body {
                background-color: #010409;
                color: #c9d1d9;
            }
            .markdown-body {
                background-color: #0d1117;
                border-color: #30363d;
                box-shadow: 0 4px 12px rgba(0,0,0,0.3);
            }
        }
        @media (max-width: 767px) {
            .markdown-body {
                padding: 15px;
                margin: 0;
                border-radius: 0;
                border-left: none;
                border-right: none;
            }
        }
    </style>
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/github-markdown-css/5.5.0/github-markdown.min.css">
</head>
<body>---
title: 'AI巨头的政治代理战、Agentjacking新攻击、GPT-5.6预热——AI产业进入"政治武器化"新阶段'
description: '6月23日，Anthropic与OpenAI通过对立超级PAC在美国国会初选中投入超3800万美元，曼哈顿选区成为AI监管路线之争的代理人战场；Agentjacking攻击利用Sentry漏洞劫持AI编程代理，波及2388个组织；OpenAI首席科学家预告GPT-5.6；Fable 5免费试用窗口在模型仍然下线的情况下于今日到期。'
pubDate: 2026-06-23
tags: ['AI', '分析', '政治', '安全', 'OpenAI', 'Anthropic', 'GPT-5.6', 'Agentjacking', '行业动态']
---
6月23日，AI行业新闻的焦点正在从"技术竞赛"和"基础设施竞争"（如上周连续报道所述），加速转向一个全新维度——**AI企业正在成为政治博弈的直接参与者。**

据[《洛杉矶时报》6月21日深度报道](https://www.latimes.com/politics/story/2026-06-21/ai-giants-are-funding-ad-wars-in-races-across-country)，Anthropic和OpenAI通过各自关联的超级PAC网络，已在2026年中期选举周期中累计投入超过3800万美元——这两个在模型架构和安全理念上尖锐对立的AI巨头，正以前所未有的规模将企业资金注入美国选举政治。而就在同一天，一种名为[Agentjacking的新型网络攻击](https://thehackernews.com/2026/06/agentjacking-attack-tricks-ai-coding.html)被安全研究者披露——攻击者通过伪造Sentry错误报告劫持AI编程代理执行恶意代码，已影响2388个组织，85%的攻击成功率令人震惊。与此同时，OpenAI首席科学家[预告GPT-5.6为"有意义的改进"](https://www.buildfastwithai.com/blogs/ai-news-today-june-22-2026)，而Fable 5的免费试用窗口恰好在模型仍被政府封杀的背景下于今日到期。

**这三条线索共同指向一个不争的事实：AI产业已不再只是一个技术行业——它正在同时重塑政治权力格局、安全威胁面和技术竞争边界。**

---

## AI巨头的"政治代理战"：为什么3800万美元正在改写AI监管路线？

### 发生了什么

据[《洛杉矶时报》](https://www.latimes.com/politics/story/2026-06-21/ai-giants-are-funding-ad-wars-in-races-across-country)和[此前《纽约时报》的报道](https://www.nytimes.com/2026/05/30/us/politics/anthropic-openai-super-pacs-midterms.html)，两个与AI巨头关联的超级PAC网络正在全国范围内展开"政治代理战"：

| 维度 | OpenAI关联阵营 | Anthropic关联阵营 |
|------|---------------|-----------------|
| **核心PAC** | American Mission等 | Jobs and Democracy PAC等 |
| **已知投入** | 超1800万美元（含Greg Brockman夫妇2500万美元支持） | 超2000万美元（含Anthropic直接2000万美元） |
| **监管立场** | AI应仅由联邦层面监管，反对州级AI立法 | 支持更严格的州级AI立法（如纽约RAISE法案） |
| **策略** | 支持反对州级AI监管的候选人 | 支持推动AI安全立法的候选人 |
| **累计总投入** | **两阵营合计超3800万美元** | |

这场代理战的核心战场是6月23日投票的纽约曼哈顿第12国会选区民主党初选。据[《纽约时报》详细报道](https://www.nytimes.com/2026/06/12/nyregion/ai-money-bores-lasher-primary.html)，候选人Alex Bores——一位前Palantir数据科学家、纽约州RAISE法案（要求AI公司透明披露安全协议）的起草者——成为了两个AI阵营交锋的焦点：

- **OpenAI关联阵营**投入超750万美元，通过广告攻击Bores"不可信任"
- **Anthropic关联阵营**同样投入超750万美元，通过广告称赞Bores"为AI安全写了真正的护栏法律"
- 另一个名为Dream NYC的PAC（由Anthropic和OpenAI各自的AI安全员工共同支持）也投入170万美元支持Bores

据[《洛杉矶时报》报道](https://www.latimes.com/politics/story/2026-06-21/ai-giants-are-funding-ad-wars-in-races-across-country)，在某些选区，AI支持的超级PAC花费甚至超过了候选人本身的竞选支出。蒙大拿州共和党初选候选人Al Olszewski在对手获得OpenAI联合创始人支持的PAC投入87.7万美元广告后以30个百分点惨败，他告诉《洛杉矶时报》："**'作为 grassroots 参选人，我根本无法与那种资金竞争。我被碾压了。'**"

### 为什么这是AI治理的历史性转折

AI巨头直接介入选举政治在多个层面开创了先例：

1. **企业利益直接驱动选举结果。** 传统科技行业（如Google、Facebook）通常在公司上市多年后才大规模介入政治。而Anthropic和OpenAI均在IPO前夕就已开始大规模政治支出——速度远超历史上任何科技行业。

2. **"监管路线"之争已从立法大厅延伸到选民投票站。** Anthropic支持州级AI安全立法（如纽约RAISE法案、加州SB-53），OpenAI则坚持联邦专属监管权。这场分歧不再只是政策辩论，而是变成了选民面前的广告战。

3. **"暗钱"正在涌入AI政治。** 据[OpenSecrets的数据](https://www.latimes.com/politics/story/2026-06-21/ai-giants-are-funding-ad-wars-in-races-across-country)，Anthropic关联阵营中有数百万美元来自身份不明的捐赠者。OpenSecrets洞察总监Brendan Glavin指出，2024年大选周期追踪到超10亿美元暗钱支出，比上一届总统选举增加了3.5亿美元。

### 历史上的类比：加密货币行业的"政治手册"

前Google公共政策高管、科技贸易组织Chamber of Progress创始人Adam Kovacevich向《洛杉矶时报》提出了一个精准类比：**AI行业正在复制加密货币行业2022-2024年建立的政治操作手册。** 加密行业在2024年大选中投入超过2亿美元，成为国会选举中最大的行业政治支出者之一，并成功推动了对加密货币更友好的立法。

**关键区别：** 加密行业的政治行动主要围绕"是否允许存在"的生存问题；而AI行业的政治行动围绕"如何监管"——这是一个更深层、更结构性的治理问题。AI监管路线的选择将影响从国家安全到就业市场的方方面面。

---

## Agentjacking：为什么你的AI编程代理可能成为攻击者的"木马"？

### 攻击机制

据[The Hacker News](https://thehackernews.com/2026/06/agentjacking-attack-tricks-ai-coding.html)和[Cloud Security Alliance的研究报告](https://labs.cloudsecurityalliance.org/research/csa-research-note-agentjacking-sentry-mcp-20260614-csa-style/)，安全研究机构Tenet Security披露了一种全新的攻击范式——Agentjacking：

**攻击链：**
1. 攻击者利用Sentry错误追踪平台的**公开可写DSN**（Data Source Name），向目标组织的Sentry项目注入伪造的错误报告
2. 伪造的错误报告中嵌入**markdown格式的恶意指令**（prompt injection）
3. 当开发者的AI编程代理（如Claude Code、Cursor、OpenAI Codex）通过Sentry MCP集成读取这些错误报告进行bug分析时，代理将嵌入的恶意指令解释为"合法的调试指导"
4. AI代理随后**自主执行恶意命令**——从窃取凭据到安装后门

### 关键数据

| 指标 | 数据 |
|------|------|
| **攻击成功率** | **85%** |
| **受影响组织数** | **2,388个** |
| **受影响代理** | Claude Code、Cursor、OpenAI Codex等 |
| **攻击媒介** | Sentry公开可写DSN + MCP集成 |
| **根本原因** | 开发者对AI代理输出的高度信任 |

### 为什么这标志着AI安全的"新时代"

Agentjacking之所以危险，不是因为它利用了某个具体的代码漏洞，而是因为它**利用了人与AI代理之间的信任关系本身**。

当开发者使用Claude Code或Cursor时，他们已经训练自己信任代理的建议——"代理让我运行这个命令，我就运行"。这种信任正是Agentjacking的攻击面。The Hacker News的分析指出，这是**第一个专门为"代理式编程"（agentic coding）时代设计的重大攻击类别**。

### 缓解措施与历史对比

当前的缓解策略相对基础但需要改变工作习惯：将所有错误追踪平台的输出视为**不可信输入**，在传递给AI代理之前增加人工审核层。目前尚无通用补丁。

**历史对比：2021年Log4Shell漏洞。** Log4Shell之所以震动整个行业，是因为它存在于一个被广泛信任的基础设施组件中。Agentjacking类似——它攻击的不是AI模型本身，而是AI代理与开发工具链之间的信任管道。正如Log4Shell后行业开始重新审视开源依赖安全，Agentjacking可能成为AI代理安全治理的"Log4Shell时刻"。

---

## GPT-5.6预热：OpenAI能否在6月底夺回基准测试王座？

### 新增信息

据[Build Fast with AI 6月22日报道](https://www.buildfastwithai.com/blogs/ai-news-today-june-22-2026)，OpenAI首席科学家已将GPT-5.6预告为"有意义的改进"（meaningful improvement），目标在6月底发布。

当前基准测试格局如下：

| 模型 | SWE-bench Pro | 优势领域 |
|------|-------------|---------|
| **GLM-5.2**（Z.ai，开源） | **62.1** | 长程编程、代理工具使用 |
| **Claude Opus 4.8** | — | Artificial Analysis指数第一（61.4） |
| **GPT-5.5** | **58.6** | 多模态生态更广 |
| **GPT-5.5 Thinking** | — | 社区报告科学推理有退步 |

OpenAI面临的压力显而易见：如上周报道所述，Shazeer的加盟正是为了推动下一代架构——而GPT-5.6将是Shazeer加入后的首个里程碑式发布（虽然开发周期可能太短以致无法体现其架构贡献）。

### 值得关注的回归问题

值得注意的是，[Reddit r/OpenAI社区](https://www.buildfastwithai.com/blogs/ai-news-today-june-22-2026)已广泛报告GPT-5.5 Thinking在科学推理和任务聚焦方面相比GPT-5.2有显著退步，OpenAI尚未正式承认。GPT-5.6是否解决了这一问题将是关键观察点。

---

## Fable 5的"双重终结"：免费试用到期，模型仍然下线

### 新增信息

如此前多篇报道所述，Anthropic的Fable 5和Mythos 5自6月12日被美国政府出口管制指令下线以来，至今已是第11天。但今日（6月23日）带来了一个格外残酷的新进展：

**根据Anthropic 6月9日的原始发布文档**，Fable 5对Claude Pro、Max、Team和基于席位的Enterprise订阅者的免费试用期在6月22日结束。从6月23日起，使用Fable 5需要付费使用额度。

**讽刺的是：模型在免费试用期内就已经被下线了。** 订阅者在整个试用窗口期间都无法使用Fable 5，现在又要在这个窗口关闭时失去"免费"权利。Anthropic尚未宣布是否会在模型恢复后延长免费试用期。

据[此前WIRED和《华盛顿邮报》的报道](https://www.buildfastwithai.com/blogs/ai-news-today-june-22-2026)，下线的背景细节已进一步明确：SK Telecom（韩国最大运营商、Anthropic的1亿美元投资方）被白宫认定为中国安全风险；Amazon研究人员随后单独标记了Fable 5的安全漏洞——两个因素叠加导致出口管制指令从"定向吊销"升级为"全面暂停"。Anthropic国际事务总经理Chris Ciauri在首尔办公室开幕式上表示"未来几天模型将恢复可用"——但这一承诺已过去一周。

预测市场目前对7月1日前恢复的定价为**57%的概率**。

---

## 今日其他重要消息

### Snap发布$2,195 AR眼镜Specs，内置OpenAI和Gemini

Snap在AWE 2026上发布了"Specs" AR眼镜，定价2,195美元，搭载双Qualcomm处理器，**内置OpenAI和Gemini API**。这是首款在Meta同类产品之前发货的消费者级空间计算设备。同时集成两大前沿AI模型是Snap的战略选择——用"双引擎"替代平台锁定。价格定位企业和早期采用者市场，但先于Meta发货给了它真实的开发者关注度。

### Google Android 17搭载Gemini Omni操作系统级AI

Google发布了Android 17，将Gemini Omni（多模态模型）直接集成到操作系统层，同时搭载Lyria 3音乐生成模型和AudioLM实时翻译。这意味着Android设备可以在系统级别从文本生成音乐、进行实时设备端语言翻译——且这些能力通过Android AI API向第三方开发者开放。Google将其定位为"Gemini Intelligence"代理操作系统的早期基础。

### OpenRouter Fusion：混合三个便宜模型即可逼近Fable 5

OpenRouter发布了Fusion工具，可同时运行多个模型的提示并综合输出。DRACO基准结果显示：**Gemini 3 Flash + Kimi K2.6 + DeepSeek V4 Pro的组合得分64.7%**——与Fable 5单独得分65.3%仅差0.6个百分点，但成本约为一半。对于因Fable 5被封杀而寻找替代方案的企业团队，这提供了实用的过渡策略。

### Anthropic研究：Claude Code效果取决于领域专业知识而非编程能力

[Anthropic发布了一项基于40万个Claude Code会话的研究](https://www.buildfastwithai.com/blogs/ai-news-today-june-22-2026)，分析了2025年10月至2026年4月的数据。核心发现挑战了一个常见假设：**决定Claude Code能完成多少自主工作的因素是用户的领域专业知识，而非编程能力。** 深入理解业务逻辑和领域约束的专家能让模型产出更多——这意味着AI编程工具的最佳审核者不一定是高级工程师，而是最了解业务的人。

### OpenAI Record and Replay：将工作流变成可复用的Codex技能

OpenAI为ChatGPT Business用户在Codex macOS应用中新增了Record and Replay功能。用户演示一次工作流，系统将其转化为可供Codex、Computer Use或浏览器操作复用的技能。这标志着Codex正从编程助手进化为**工作流自动化平台**——但初期不向EU、UK和瑞士开放。

---

## 行业趋势：今日数据带来的新视角

### AI企业的"政治化"是不可逆的结构性转变

过去两周的新闻揭示了一个清晰的模式：如昨日报道所述，OpenAI聘用前白宫AI官员Dean Ball建立"战略前瞻"团队；而今天的数据显示，两大AI巨头已将政治支出从"偶尔游说"升级为**系统性选举干预**。当AI公司在IPO前夕就投入数千万美元影响选举结果，行业政治化的速度已远超历史上的任何科技行业——包括加密货币。

这种政治化的直接后果是：**AI监管路线将不再仅由技术专家和国会议员决定，而是由选票和广告支出共同塑造。** 这对AI安全治理的长期质量构成了深远挑战。

### "信任层"正在成为AI安全的最大攻击面

Agentjacking攻击揭示了一个被严重低估的风险：AI代理与开发工具链之间的集成正在创造全新的攻击面。当开发者习惯了"代理说什么就做什么"，这种信任本身就成为了漏洞。从MCP集成到Sentry错误报告，每一个AI代理读取外部数据的通道都可能被注入恶意指令。2026年下半年，我们预计将看到更多针对AI代理信任链的攻击——而行业目前缺乏系统性的防御框架。

---

## 关键要点

- **Anthropic和OpenAI通过关联超级PAC在美国国会选举中投入超3800万美元**，曼哈顿NY-12初选成为AI监管路线的代理人战场——AI企业的政治武器化速度前所未有
- **Agentjacking攻击通过Sentry错误报告劫持AI编程代理**，85%成功率、2388个组织受影响——这是首个专为"代理式编程"时代设计的大规模攻击类别
- **OpenAI首席科学家预告GPT-5.6为"有意义的改进"**，目标6月底发布——GLM-5.2在SWE-bench Pro上以62.1 vs 58.6领先GPT-5.5，OpenAI面临基准测试追赶压力
- **Fable 5免费试用窗口在模型仍下线的情况下于今日到期**——预测市场对7月1日前恢复的定价仅为57%概率
- **Snap发布$2,195 AR眼镜内置OpenAI和Gemini、Google Android 17搭载Gemini Omni**——AI正从"应用"层加速渗透到"设备"和"操作系统"层

---

## 常见问题

### Anthropic和OpenAI为什么要在选举上花钱？

两家公司在AI监管路线上存在根本分歧：Anthropic支持更严格的州级AI安全立法（如纽约RAISE法案），OpenAI则主张AI应仅由联邦层面统一监管以避免碎片化。通过超级PAC支持或攻击特定候选人，它们试图影响未来国会中AI监管立法的走向。投入超3800万美元表明，两家公司已将政治支出视为与技术研发同等重要的战略投资。

### Agentjacking攻击如何影响普通开发者？

如果你使用Claude Code、Cursor或OpenAI Codex等AI编程代理，并且你的工具链集成了Sentry错误追踪，你就有潜在风险。攻击者可以通过公开可写的Sentry DSN注入伪造错误报告，当你的AI代理读取这些报告进行bug分析时，恶意指令会被当作"调试指导"执行。缓解措施：在错误报告传递给AI代理之前增加人工审核层，不要无条件信任代理读取的外部内容。

### Fable 5什么时候能恢复？

Anthropic国际事务总经理Chris Ciauri在6月17-18日表示"未来几天模型将恢复可用"，但截至6月23日已是第11天仍未恢复。预测市场对7月1日前恢复的定价为57%。恢复时间的不确定性主要来自政治因素——出口管制指令的撤销需要商务部程序性审批，而SK Telecom被认定为中国安全风险的背景使问题更加复杂。

### GPT-5.6会在6月底发布吗？

OpenAI首席科学家将GPT-5.6预告为"有意义的改进"并设定了6月底目标，但未确认具体日期。GPT-5.6面临的挑战包括：在SWE-bench Pro上追赶GLM-5.2（62.1 vs GPT-5.5的58.6），以及修复社区报告的GPT-5.5 Thinking在科学推理方面的退步。值得注意的是，Shazeer刚加入OpenAI，GPT-5.6的开发周期可能太短以致无法体现其架构贡献。

### AI企业大规模介入政治对行业有什么长期影响？

短期来看，AI企业的政治支出可能加速有利于自身的监管立法。但长期来看，这可能导致AI监管被政治化而非专业化——当AI安全标准成为党派竞选议题时，科学证据和技术评估可能被政治叙事取代。此外，如果公众意识到AI巨头正在用巨额资金影响选举，这可能进一步加剧如Pew调查（如昨日报道所述）中反映的公众对AI行业的不信任。

---

## 参考资料

- [Los Angeles Times - AI giants are funding ad wars in races across the country](https://www.latimes.com/politics/story/2026-06-21/ai-giants-are-funding-ad-wars-in-races-across-country)
- [New York Times - Powerful A.I. Super PACs Duel Over the Midterms](https://www.nytimes.com/2026/05/30/us/politics/anthropic-openai-super-pacs-midterms.html)
- [New York Times - The A.I. Proxy Fight Roiling the Race for a New York House Seat](https://www.nytimes.com/2026/06/12/nyregion/ai-money-bores-lasher-primary.html)
- [Washington Post - AI industry super PACs are intervening in midterm congressional races](https://www.washingtonpost.com/technology/2026/05/23/ai-industry-super-pacs-are-intervening-midterm-congressional-races/)
- [NPR/VPM - An AI proxy war could reshape Congress](https://www.vpm.org/npr-news/npr-news/2026-06-22/an-ai-proxy-war-could-reshape-congress-before-congress-reshapes-ai)
- [CNBC - Dueling PACs take center stage in midterm elections over AI regulation](https://www.cnbc.com/2026/02/19/dueling-pacs-take-center-stage-in-midterm-elections-over-ai-regulation.html)
- [The Hacker News - Agentjacking Attack Tricks AI Coding Agents Into Running Malicious Code](https://thehackernews.com/2026/06/agentjacking-attack-tricks-ai-coding.html)
- [TNW - Agentjacking: a fake bug report can hijack your AI coding agent](https://thenextweb.com/news/agentjacking-ai-coding-agents-sentry)
- [Cloud Security Alliance - Agentjacking: Sentry MCP Injection Hijacks AI Coding Agents](https://labs.cloudsecurityalliance.org/research/csa-research-note-agentjacking-sentry-mcp-20260614-csa-style/)
- [Infosecurity Magazine - New "Agentjacking" Attacks Could Hijack AI Coding Agents](https://www.infosecurity-magazine.com/news/agentjacking-attacks-hijack-ai/)
- [Build Fast with AI - AI News Today June 22 2026: 15 Biggest Stories](https://www.buildfastwithai.com/blogs/ai-news-today-june-22-2026)
- [Houston Public Media - AI-aligned super PACs are pouring millions into Texas congressional races](https://www.houstonpublicmedia.org/articles/news/politics/election-2026/2026/04/01/547787/texas-congress-ai-super-pacs-artificial-intelligence-regulation-2026-midterms/)
- [The Well News - A New York House Primary Has Become an AI Industry Family Feud](https://www.thewellnews.com/2026-elections/a-new-york-house-primary-has-become-an-ai-industry-family-feud/)
- [The Nation - How a New York Primary Wound Up at the Center of the AI Storm](https://www.thenation.com/article/politics/alex-bores-ai-new-york-12-primary/)
- [Slate - Alex Bores' A.I. Stance](https://slate.com/news-and-politics/2026/06/alex-bores-kennedy-conway-anthropic.html)
- [arXiv - How Agentic AI Coding Assistants Become the Attacker's Shell](https://arxiv.org/pdf/2605.25871)
<script src="https://cdn.jsdelivr.net/npm/marked/marked.min.js"></script>
<script>
    document.addEventListener("DOMContentLoaded", () => {
        try {
            const rawMarkdown = document.body.innerText;
            const isDark = window.matchMedia("(prefers-color-scheme: dark)").matches;

            let webUrl = window.location.pathname;
            if (webUrl.endsWith('/index.md')) {
                webUrl = webUrl.substring(0, webUrl.length - 'index.md'.length) || '/';
            } else {
                webUrl = webUrl.replace(/.md$/, '');
            }
            const linkColor = isDark ? '#58a6ff' : '#0969da';
            const navHtml = 
                '<div style="margin-bottom: 24px; font-size: 14px; font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif;">' +
                    '<a href="/index.md" style="color: ' + linkColor + '; text-decoration: none;">← Back to Home</a>' +
                    '<span style="margin: 0 8px; color: ' + (isDark ? '#484f58' : '#d0d7de') + ';">|</span>' +
                    '<a href="' + webUrl + '" style="color: ' + linkColor + '; text-decoration: none;">Switch to Web View</a>' +
                '</div>';

            let contentToRender = rawMarkdown;
            let frontmatterHtml = '';
            
            const fmMatch = rawMarkdown.match(/^---\s*[\r\n]+([\s\S]*?)[\r\n]+---\s*/);
            
            if (fmMatch) {
                contentToRender = rawMarkdown.substring(fmMatch[0].length);
                const yamlText = fmMatch[1];
                
                const borderColor = isDark ? '#30363d' : '#d0d7de';
                const bgColor = isDark ? '#161b22' : '#f6f8fa';
                const keyColor = isDark ? '#8b949e' : '#57606a';
                const valColor = isDark ? '#c9d1d9' : '#24292f';

                const rows = yamlText.split('\n')
                    .filter(line => line.trim() && line.includes(':'))
                    .map(line => {
                        const splitIdx = line.indexOf(':');
                        const key = line.slice(0, splitIdx).trim();
                        let val = line.slice(splitIdx + 1).trim();
                        if ((val.startsWith("'") && val.endsWith("'")) || (val.startsWith('"') && val.endsWith('"'))) {
                            val = val.slice(1, -1);
                        }
                        
                        return '<tr>' +
                            '<td style="white-space:nowrap; padding:8px 12px; color:' + keyColor + '; font-weight:600; border-bottom:1px solid ' + borderColor + '; width:1%;">' + key + '</td>' +
                            '<td style="padding:8px 12px; color:' + valColor + '; border-bottom:1px solid ' + borderColor + ';">' + val + '</td>' +
                        '</tr>';
                    }).join('');
                
                if (rows) {
                    frontmatterHtml = 
                        '<div style="margin-bottom: 32px; border:1px solid ' + borderColor + '; border-radius:6px; overflow:hidden; background-color:' + bgColor + ';">' +
                            '<table style="width:100%; border-collapse:collapse; font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif; font-size:13px;">' +
                                rows +
                            '</table>' +
                        '</div>';
                }
            }
            
            const renderedHtml = marked.parse(contentToRender);
            
            const wrapper = document.createElement('article');
            wrapper.className = 'markdown-body';
            wrapper.innerHTML = navHtml + frontmatterHtml + renderedHtml;
            
            document.body.innerHTML = '';
            document.body.appendChild(wrapper);
        } catch (e) {
            console.error("Markdown rendering failed", e);
        }
    });
</script>
</body>
</html>