How dongsenzhang/msb works
MSB evaluates whether LLM agents resist MCP attacks: a run selects an attack, task, model, and scenario; the agent plans and invokes MCP tools, handles their responses, and produces a result. The benchmark includes attack-server scenarios and records execution/environment state for metrics. The shared mcp_use layer provides server sessions, connectors, tool adaptation, and agent orchestration. Several scenario implementations and runtime modules are unsampled, so their internal links are omitted; documented benchmark stages and capabilities are retained.
Main entry points: main.py Run orchestration · word_document_server/main.py Word MCP server · content_tools.py Document content · format_tools.py Document formatting
Components 27
Benchmark workflow
- Run orchestration
main.py - Attack setup
agent_attack.py - Attack prompts
data/prompt_template.py - Result metrics
metrics.py
Attack scenarios
- Attack tools
data/tools/attack_tools/main.py - Academic search
data/tools/attack_tools/academic_search/PubMed_MCP_Server - Web search
data/tools/attack_tools/information_gathering/DuckDuckGo_Search_Server - Terminal control
data/tools/attack_tools/it_development_management/Terminal_Controller - Memory tool
data/tools/attack_tools/llm_enhancement/Memory_Tool - Image generation
data/tools/attack_tools/image_generation/Flux_ImageGen_Server
Agent runtime
- MCP agent
mcp_use/agents/mcpagent.py - Server selection
mcp_use/managers/server_manager.py - LangChain adapter
mcp_use/adapters/langchain_adapter.py
MCP connectivity
- MCP client
mcp_use/client.py - MCP session
mcp_use/session.py - MCP connector
mcp_use/connectors/base.py - Sandbox options
mcp_use/types/sandbox.py
Word server
- Word MCP server
data/tools/attack_tools/office_assistance/Office_Word_Document_Server/word_document_server/main.py - Document content
data/tools/attack_tools/office_assistance/Office_Word_Document_Server/word_document_server/tools/content_tools.py - Document formatting
data/tools/attack_tools/office_assistance/Office_Word_Document_Server/word_document_server/tools/format_tools.py - Footnote operations
data/tools/attack_tools/office_assistance/Office_Word_Document_Server/word_document_server/core/footnotes.py - Document styles
data/tools/attack_tools/office_assistance/Office_Word_Document_Server/word_document_server/core/styles.py - Document tables
data/tools/attack_tools/office_assistance/Office_Word_Document_Server/word_document_server/core/tables.py - Document utilities
data/tools/attack_tools/office_assistance/Office_Word_Document_Server/word_document_server/utils/document_utils.py - File utilities
data/tools/attack_tools/office_assistance/Office_Word_Document_Server/word_document_server/utils/file_utils.py - Comment operations
data/tools/attack_tools/office_assistance/Office_Word_Document_Server/word_document_server/tools/comment_tools.py
Other components
- Benchmark operator
Connections 26
- Benchmark operator → Run orchestration: starts run
README.md - Run orchestration → MCP agent: runs task
main.py - Run orchestration → Attack prompts: imports prompts
main.py - Run orchestration → Attack setup: supports evaluation
- Attack setup → Attack tools: selects tools
- Run orchestration → Result metrics: evaluates results
README.md - Result metrics → Run orchestration: analyzes logs
README.md - Result metrics → Attack setup: analyzes environment state
README.md - MCP agent → MCP client: uses client
mcp_use/agents/mcpagent.py - MCP agent → Server selection: delegates server management
mcp_use/agents/mcpagent.py - Server selection → MCP client: creates sessions
mcp_use/managers/server_manager.py - Server selection → LangChain adapter: converts connector tools
mcp_use/managers/server_manager.py - MCP client → MCP session: creates session
mcp_use/client.py - MCP session → MCP connector: connects through
mcp_use/session.py - LangChain adapter → MCP connector: calls MCP tools
mcp_use/adapters/langchain_adapter.py - MCP client → Sandbox options: accepts options
mcp_use/client.py - Word MCP server → Document content: registers tools
data/tools/attack_tools/office_assistance/Office_Word_Document_Server/word_document_server/main.py - Word MCP server → Document formatting: registers tools
data/tools/attack_tools/office_assistance/Office_Word_Document_Server/word_document_server/main.py - Word MCP server → Footnote operations: exposes operations
- Document content → Document styles: uses styles
data/tools/attack_tools/office_assistance/Office_Word_Document_Server/word_document_server/tools/content_tools.py - Document content → Document utilities: uses utilities
data/tools/attack_tools/office_assistance/Office_Word_Document_Server/word_document_server/tools/content_tools.py - Document content → File utilities: uses utilities
data/tools/attack_tools/office_assistance/Office_Word_Document_Server/word_document_server/tools/content_tools.py - Document formatting → Document styles: uses styles
data/tools/attack_tools/office_assistance/Office_Word_Document_Server/word_document_server/tools/format_tools.py - Document formatting → Document tables: uses tables
data/tools/attack_tools/office_assistance/Office_Word_Document_Server/word_document_server/tools/format_tools.py - Document formatting → File utilities: uses utilities
data/tools/attack_tools/office_assistance/Office_Word_Document_Server/word_document_server/tools/format_tools.py - Word MCP server → Comment operations: registers tools
data/tools/attack_tools/office_assistance/Office_Word_Document_Server/word_document_server/main.py