Skip to content

feat: add tool-injection attack module (20 vectors) for MCP tool injection testing#67

Open
shenyou080530 wants to merge 4 commits into
crucible-security:mainfrom
shenyou080530:feature/tool-injection-module
Open

feat: add tool-injection attack module (20 vectors) for MCP tool injection testing#67
shenyou080530 wants to merge 4 commits into
crucible-security:mainfrom
shenyou080530:feature/tool-injection-module

Conversation

@shenyou080530

Copy link
Copy Markdown

Problem

Agents with tool access (MCP servers, function calling) are vulnerable to tool injection attacks that exploit parameter manipulation, chain poisoning, and unauthorized invocation. The MCP module (8 vectors) only tests trust boundaries.

Solution

Added ToolInjectionModule with 20 attack vectors (TA-001 through TA-020) covering parameter injection, tool chaining, chain poisoning, unauthorized invocation, context manipulation, role confusion, argument smuggling, result piggybacking, hallucination induction, multi-agent collusion, backdoor activation, social engineering, data exfiltration, prompt leakage, resource exhaustion, privilege escalation, dependency confusion, token theft, workflow hijacking, and timing side-channel attacks.

Files changed

  • crucible/attacks/tool_injection.py (new): 20 attack classes + ALL_TOOL_INJECTION_ATTACKS registry
  • crucible/models.py: Added TOOL_INJECTION to AttackCategory
  • crucible/attacks/base.py: Added OWASP-AGENT-004 mapping
  • crucible/modules/security.py: Registered ToolInjectionModule

Testing

Each attack follows existing BaseAttack pattern with name, title, category, severity, description, remediation, references, 4 payloads, and detection patterns. Module registration follows existing pattern.

Closes #49

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

add tool-augmented agent attack module for MCP tool injection

1 participant