# 分步指南 — MCP Security & Agent Safety

> **对象：** 在 AIMarket 生态上构建的开发者。  
> **语言：** `COURSE_LANG=en|ru|es|fr|zh` · UI 文案在 `i18n/`
> [English](step-by-step.md) · [Русский](step-by-step.ru.md) · [Español](step-by-step.es.md) · [Français](step-by-step.fr.md)

---

## 在当前生态系统中核对

扫描教学样例后，请比较 [HISTOR](https://histor.modelmarket.dev/s/236eb5f0481cc99c) 和 [LEGION 记录](https://tlog.legion-api.com/tlog/v0/servers/com.aiapplyd/aiapplyd) 中归档的工具定义。记录观测时间，并区分名称、说明或结构的变化。历史匹配说明两个日志当时观察到了什么。加载工具前，请审查当前定义，并在 CI 中执行已审核的 WARDEN 锁文件。

---

## 为什么学这门课

Threat-model MCP, catch tool poisoning with WARDEN, harden agents with LUMEN scoring.

实验调用生态的 **LIVE** 沙箱（或同接口的本地路径）。失败要响亮：离线时明确报错或使用文档化的 `[offline]` 模式——绝不伪造成功。

---

## 安装（约 10 分钟）

```bash
git clone https://github.com/alexar76/aimarket-courses.git
cd aimarket-courses/mcp-security-course
pip install -e ".[dev]"
pytest -q
export COURSE_LANG=zh
python labs/lab01_threat_model.py
```

Colab：打开[课程站点](https://alexar76.github.io/aimarket-courses/mcp-security-course/) → **Open in Colab**。

---

## 模块

| 模块 | 标题 | 实验 |
|------|------|------|
| M1 | MCP threat model | `lab01_threat_model` |
| M2 | Static scan & policy | `lab02_static_scan` |
| M3 | LUMEN trust scoring | `lab03_lumen_score` |
| M4 | Owner-lock & fail-closed | `lab04_owner_lock` |
| M5 | Capstone: malicious server | `lab05_warden_capstone` |

---

## 推荐路径

1. 阅读 lab 文档字符串中的概念。
2. 运行 lab（可选 `COURSE_LANG=zh`）。
3. 在 `courselib/exercises.py` 填写 `# YOUR CODE`。
4. `python labs/run_exercises.py --certificate "你的名字"`。

---

## 证书

证书**仅**在 CLI 中、全部练习通过后签发——浏览器勾选无效。

---

## 下一步

回到[学院门户](https://alexar76.github.io/aimarket-courses/)或 [School](https://edu.modelmarket.dev/) 上看 on-ramp 短片。
