BSides Ballarat 2026——安全研究助理
节目主持人: 蒂姆·海茨 会议: BSides巴拉瑞特2026 状态: ✅ 准备呈现
这是什么?
A. VS Code内的“安全运营中心” --BSides Ballarat现场演示。该项目演示了如何 模型上下文协议(MCP) 允许安全研究人员 发现、查看和可视化学术漏洞 无需离开IDE。
整个VS Code环境(设置、扩展、MCP配置)在此仓库中受到版本控制,因此任何人都可以克隆它并获得相同的体验。
演示(英雄流)
- 发现 --请代理查找有关威胁的最新论文(例如“快速注射”)。
→ 通过MCP查询语义学者→ 返回摘要和PDF URL。
- 采集与渲染 --请代理人下载并“展示”论文。
→ 下载PDF→ 自定义扩展在编辑器中将其渲染为图像。
- 分析和可视化 --请代理直观地解释攻击流程。
→ 多模态LLM分析图像→ 生成美人鱼图→ 通过Markdown Mermaid扩展进行预览。
仓库结构
BSidesBallarat2026/
├── .github/
│ └── agents/
│ └── bsides-researcher.md # Custom Agent definition (main VS Code window)
├── .vscode/
│ ├── mcp.json # Workspace-local MCP server config
│ ├── extensions.json # Recommended VS Code extensions
│ ├── settings.json # Workspace settings
│ ├── launch.json # F5 launch config for Extension Development Host
│ └── tasks.json # Build tasks (compile, watch)
├── extension/ # @bsides-researcher Chat Participant Extension
│ ├── src/
│ ├── package.json
│ └── tsconfig.json
├── servers/
│ └── mcp-slides/ # MCP Apps server — interactive HTML diagrams in chat
│ ├── src/
│ │ ├── index.ts # MCP server (stdio, show_architecture tool)
│ │ └── ui/
│ │ └── architecture.html # Interactive pipeline diagram
│ └── package.json
├── presentation/ # Marp slide deck for the BSides talk
│ ├── slides.md # 12 Marp Markdown slides (20-minute talk)
│ └── theme.css # Custom dark hacker theme
├── skills/ # Reusable workflow skills for discover/acquire/render/analyse
├── papers/ # Downloaded PDFs and analysis Markdown files
├── PDF-Screenshots/ # Page images extracted by PDF Toolkit
├── bsides-researcher.code-workspace # Workspace file for Extension Dev Host
├── .env.example # API key template
├── .gitignore
├── .python-version # Python version pin (managed by uv)
├── pyproject.toml # Python project config & dependencies
├── uv.lock # Lockfile for reproducible installs
├── AGENTS.md # AI coding agent instructions
├── PRD.md # Product Requirements Document
└── README.md # ← You are here快速开始
先决条件
- VS Code (稳定,最新)
- 订阅
- Python 3.13+和Node.js 18+
uv用于Python虚拟环境和包管理- PDF工具包 用于PDF查看和图像提取的VS Code扩展
- A. 语义学者API密钥 (免费)
设置
- 克隆仓库
git clone https://github.com/timhaintz/BSidesBallarat2026.git
cd BSidesBallarat2026- 安装Python 3.13+并创建虚拟环境
uv python install 3.13
uv sync --group dev- 在VS代码中打开 --VS Code将提示您安装推荐的扩展。
code .- 复制env模板 并添加您的API密钥:
cp .env.example .env- 启动MCP服务器 --打开聊天视图和中定义的服务器
.vscode/mcp.json将可用。
- 构建并启动扩展
cd extension
npm install
npm run compile按 Ctrl+Shift+D 要打开“运行和调试”面板,请选择 “运行@bsides研究员扩展”,然后按 F5 启动扩展开发主机。这 @bsides-researcher 参与者将在新窗口的Copilot聊天面板中可用。
使用研究助理
有 两种方式 要使用BSides Researcher,请选择适合您工作流程的选项:
| 方法 | 运行 | 需要安装 | 最适合 |
|---|---|---|---|
| 海关代理人 (推荐) | VS Code主窗口 | 克隆仓库,在VS Code中打开 | 日常使用,快速入门,与他人共享 |
| 聊天参与者扩展 | 扩展开发主机(F5) | npm install, npm run compile,F5 | 抛光演示,高级功能(确认对话框、后续按钮) |
这两种方法都使用相同的管道: 发现→ 获取→ 渲染→ 分析→ 可视化.
______________________________________________________________________
选项A:定制代理(推荐)
自定义代理在主VS代码窗口中立即工作,不需要编译或单独的窗口。任何克隆此仓库的人都会自动获得它。
入门指南
- 在VS Code中打开此仓库。
- 打开聊天视图(Ctrl+Alt+I).
- 点击 代理 聊天面板底部的下拉菜单。
- 选择 BSides研究员 从列表中。
- 键入您的研究问题,然后按Enter键。
示例提示
Find the latest papers on prompt injection defensesSearch for research on LLM jailbreaking techniques and download the top 3 papersFind papers about adversarial attacks on multimodal models, download them,
screenshot the PDFs, and save an analysis with Mermaid diagramsGet the paper with arXiv ID 2502.05174 and analyse its defense architectureCompare the approaches in the papers I've already downloaded in the papers/ directoryCustom Agent将在下载论文和渲染屏幕截图(循环中的人)之前询问您的确认,然后引导您完成流程的每一步。
______________________________________________________________________
选项B:聊天参与者扩展(@bsides-researcher)
聊天参与者扩展程序通过斜线命令、确认对话框和可点击的后续建议提供了更精致的体验。它需要构建扩展并在扩展开发主机中运行它。
入门指南
- 构建扩展:
cd extension
npm install
npm run compile- 按 Ctrl+Shift+D → 选择 “运行@bsides研究员扩展” → press F5.
- 在新的“扩展开发主机”窗口中,打开“聊天”视图(Ctrl+Alt+I).
- 类型
@bsides-researcher然后是提示,或使用斜线命令。
斜杠命令
| 命令 | 描述 | 示例 |
|---|---|---|
/find | 搜索某一主题的论文 | @bsides-researcher /find prompt injection defenses |
/download | 通过arXiv ID下载论文 | @bsides-researcher /download 2502.05174 melon-provable-defense |
/render | 从PDF中提取页面截图 | @bsides-researcher /render papers/melon-provable-defense-prompt-injection.pdf |
/workflow | 端到端运行整个管道 | @bsides-researcher /workflow find and analyse papers on prompt injection |
示例提示
发现论文:
@bsides-researcher /find LLM supply chain attacks下载特定论文:
@bsides-researcher /download 2502.05174 melon-provable-defense将下载的PDF渲染为屏幕截图:
@bsides-researcher /render papers/melon-provable-defense-prompt-injection.pdf运行整个管道(搜索→ 下载→ 截图→ 分析→ 保存):
@bsides-researcher /workflow find and analyse papers on prompt injection defenses一般问题(无斜线命令):
@bsides-researcher What are the main categories of prompt injection attacks?仅扩展功能
- 确认对话框 --在对每个PDF进行屏幕截图之前,会出现一个“继续”/“取消”对话框,以便您可以单独批准每篇论文。
- 跟进建议 --提取屏幕截图后,会出现可点击的按钮(例如,“分析甜瓜可证明的防御屏幕截图”),这样你就可以选择要分析的论文。
- 自动工具链 --代理循环将工具结果反馈到模型中,以便它可以使用一个步骤的输出(例如,下载的文件名)作为下一步的输入(例如,对该文件进行截图)。
______________________________________________________________________
分析屏幕截图
渲染PDF后,其页面图像将保存到 PDF-Screenshots/ /.分析它们:
- 如果你想要一个确定性的、演示安全的选择工作流程,请先运行捆绑的分析技能助手:
.\skills\analyse-paper-screenshots\scripts\list-recent-screenshot-dirs.ps1
.\skills\analyse-paper-screenshots\scripts\select-analysis-images.ps1 -DirectoryName "
" -MaxImages 12 -AsFileRefs- 在聊天视图中,键入
#file:并仅从中选择推荐的屏幕截图图像PDF-Screenshots/.
- 请客服分析所附图片:
Analyse these paper screenshots and create a security research summary with Mermaid diagrams- 代理读取图像,提取关键发现,并为攻击/防御流程生成美人鱼图。
- 分析保存为Markdown文件
papers/--打开Markdown预览(Ctrl+Shift+V)观看美人鱼图的渲染。
事情的结局
| 输出 | 位置 |
|---|---|
| 下载的PDF | papers/.pdf |
| 页面截图 | `PDF-Screenshots/ |
/page_001.png, page_002.png`, … | |
| 分析Markdown | papers/-research-analysis.md |
| 美人鱼图 | 嵌入分析Markdown文件 |
______________________________________________________________________
演示
演讲完全来自VS Code,使用 VS代码的Marp.打开 presentation/slides.md 并使用Marp预览浏览12张幻灯片。
在现场演示期间 MCP应用服务器 直接在副驾驶聊天面板中呈现交互式架构图,展示“BSides Ballarat研究助理——管道”,带有5个可点击的舞台卡(发现→ 获取→ 渲染→ 分析→ 视觉化)。启动 bsidesSlides 从聊天面板调用MCP服务器,然后调用 show_architecture 工具。
项目文件
贡献
该项目正在为BSides Ballarat 2026演示进行现场建设。欢迎观看、分叉或公开问题/讨论。
许可证
麻省理工学院
