Skip to main content
Glama

trace_symbolic_taint

Proves whether attacker-controlled inputs reach dangerous memory sinks using symbolic dataflow taint analysis, revealing exploitable paths in binaries.

Instructions

Symbolic dataflow taint analysis proving whether attacker-controlled inputs propagate to dangerous memory sinks.

Input Schema

NameRequiredDescriptionDefault
binary_pathYesPath to binary
sink_symbolYesVulnerable sink function
source_symbolYesInput source symbol

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changed
    • addedInput schema / properties / binary_path / description
      Added value: +"Path to binary"
    • changedInput schema / properties / sink_symbol / description
      Previous value: -"Target sink function"New value: +"Vulnerable sink function"
  2. First observedv2.0.0

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description bears the full burden. It discloses the analysis's nature (symbolic, propagation-proving) but says nothing about preconditions such as symbol availability or obfuscation resistance, no indication of cost/runtime for a whole-binary symbolic analysis, and no hint of what a result looks like (no output schema exists either).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler; the core technique and the question it answers arrive immediately. Nothing is redundant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex symbolic-analysis tool with no annotations and no output schema, one sentence is insufficient: it omits prerequisites, expected runtime, precision/caveats, and any description of the result it returns. An agent would need to guess whether it is safe to call and what it will get back.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so binary_path, source_symbol, and sink_symbol are already documented. The description adds only the framing that source is 'attacker-controlled input' and sink is 'dangerous memory sink', which is marginal added meaning over the schema's own labels.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Names a specific technique (symbolic dataflow taint analysis) and states exactly what question it answers: whether attacker-controlled inputs reach dangerous memory sinks. This is distinguishable from sibling analysis tools like trace_binary_xrefs or decompile_native_function, though the description never explicitly contrasts them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by the phrase 'proving whether attacker-controlled inputs propagate to dangerous memory sinks' – an agent can infer this is for vulnerability-reachability questions – but there is no statement of when to prefer it over sibling analyses or what prerequisites must hold (e.g., symbolized binaries).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.