Skip to main content
Glama
adversarial-rea

adversarial-rea

by Cultistsid

trace_calls

List bounded direct native call sites to specified sinks in a Mach-O binary by architecture, with a result limit. Use it to inspect direct calls when flow and exploitability are unknown.

Instructions

Observed direct native call instructions; flow and exploitability remain unknown

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "target_path": "<target_path>"
    },
    "name": "trace_calls"
  }
}

Input Schema

NameRequiredDescriptionDefault
archNoSelect a Mach-O slice; host selects the current architecturehost
limitNo
sinksNoExact normalized sink names; empty array lists all bounded call sites
target_pathYesPath to native binary

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

C2.6/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full disclosure burden. It adds a useful limitation about missing flow and exploitability context, but omits read/write safety, permissions, output behavior, and other operational traits.

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

Conciseness4/5

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

The description is a single concise sentence with no filler, and the caveat is clearly placed after the main capability statement. It is efficient, though slightly cryptic in wording.

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 4-parameter analysis tool with no annotations and no output schema, the description is too thin. It does not explain what the tool returns, how to interpret results, or how to use parameters like sinks and limit.

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 coverage is moderate at 75%, with arch, sinks, and target_path documented but limit undocumented. The description adds no parameter-specific meaning beyond the schema, so the baseline of 3 is appropriate.

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

Purpose3/5

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

The description indicates the tool observes direct native call instructions, which is a specific resource, but the verb 'Observed' is passive and the tool name 'trace_calls' is not fully expanded into an action. It does not differentiate itself from sibling analysis tools such as disassemble or find_dangerous_patterns.

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

Usage Guidelines2/5

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

The caveat that flow and exploitability remain unknown implies a limitation, but there is no explicit guidance on when to use this tool versus siblings. It does not state prerequisites or alternatives.

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