Skip to main content
Glama
arielfikru

scanything

by arielfikru

scan_github

Read-only

Statically scans a public GitHub repo archive at a pinned commit for malware indicators—install hooks, obfuscated exec/eval, risky workflows, and hidden binaries—without cloning or running it.

Instructions

Download a public GitHub repository (zip archive pinned to one commit) and scan it statically: install hooks, obfuscated exec/eval, auto-run VS Code tasks, risky workflows, binaries inside, plus repository metadata. Nothing is cloned, built or run. Returns the same compact report and scan_id as scan_file.

Input Schema

NameRequiredDescriptionDefault
repoYeshttps://github.com/OWNER/REPO[/tree/REF] or github:OWNER/REPO[@REF]
virustotalNohash lookup of the binaries inside

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true; the description is consistent and adds real value with "zip archive pinned to one commit" and "Nothing is cloned, built or run", which tells the agent scanning is static and deterministic. It omits GitHub API rate limits and any size/private-repo restrictions, which are relevant for an openWorld network tool.

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 dense sentence, front-loaded with the action and immediately followed by what is checked and the safety guarantee. No filler sentences.

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

Completeness4/5

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

With no output schema, the description compensates by referencing the report shape via scan_file. It stops short of describing report contents or limits, but for a two-parameter scan tool this is largely sufficient.

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 the schema already documents both parameters and their accepted formats. The description adds only the implied notion that a scan is pinned to a single commit/REF, which the schema itself already conveys via the [/tree/REF] syntax; the virustotal option is not amplified at all.

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

Purpose5/5

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

States a specific verb and resource ("Download a public GitHub repository ... and scan it statically") and enumerates exactly what is examined: hooks, obfuscated exec/eval, VS Code tasks, workflows, binaries, metadata. It also ties itself to its sibling by promising "the same compact report and scan_id as scan_file", so an agent can distinguish this from scan_file at a glance.

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

Usage Guidelines4/5

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

Makes the usage context clear — public repos only, and the "Nothing is cloned, built or run" note tells the agent this is a safe static analysis path. It does not explicitly state when to prefer it over scan_file (repo URL vs local file), leaving that inference to the agent.

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