Git Federation Searcher

PassAudited by ClawScan on May 1, 2026.

Overview

The artifacts match a Git-instance search helper, but it sends searches to configured external hosts and can persist optional Git API tokens and custom endpoints.

This skill appears coherent for searching federated Git hosts. Before installing, make sure you are comfortable sending search terms to the default and custom Git instances, use only least-privileged tokens for private hosts, protect the persisted instances.json configuration, and limit /gitadd access if using it in a shared Telegram bot.

Findings (4)

Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.

What this means

Your search terms and network requests may go to public Git hosts or any custom host you add.

Why it was flagged

The skill allows user-configured Git instance URLs and uses curl to query them. This is expected for federation search, but it means configured endpoints receive search traffic from the agent environment.

Skill content
def add_instance(self, name: str, url: str, inst_type: str = "gitea", api_token: str = "") -> bool: ... result = subprocess.run(["curl", "-s", "-m", "10", url], capture_output=True, text=True)
Recommendation

Only add trusted Git instances, and avoid sensitive search terms unless you are comfortable sending them to every configured host.

What this means

A Git API token could allow access to private repository search results, and the token may be stored in the skill's configuration.

Why it was flagged

The GitInstance model supports API tokens, save_config serializes the instance data, and searches append tokens to API URLs. This is purpose-aligned for private instances but is sensitive credential handling.

Skill content
api_token: str = "" ... data = {name: asdict(inst) for name, inst in self.instances.items()} ... url += f"&access_token={instance.api_token}"
Recommendation

Use least-privileged, read-only tokens where possible, protect the skill directory, and remove tokens from configuration when no longer needed.

What this means

Telegram bot mode may require installing an undeclared package, which should be sourced carefully.

Why it was flagged

The included Telegram integration imports an external Telegram package even though the requirements artifact says there are no external dependencies. This is a dependency declaration gap rather than evidence of malicious behavior.

Skill content
from telegram import Update
from telegram.ext import ContextTypes, CommandHandler
Recommendation

If using Telegram commands, install dependencies from trusted sources and pin versions in deployment documentation.

What this means

A previously added instance can continue receiving future search queries until it is removed or disabled.

Why it was flagged

Custom Git instances are written to persistent configuration and will affect future searches. This is expected functionality, but the persisted host list becomes trusted context for later use.

Skill content
CONFIG_FILE = SKILL_DIR / "instances.json" ... self.instances[name.lower().replace(" ", "_")] = instance
self.save_config()
Recommendation

Review configured instances periodically and restrict who can add instances, especially in shared Telegram bot deployments.