jackal-tracker
Pass
Audited by Gen Agent Trust Hub on Apr 26, 2026
Risk Level: SAFEPROMPT_INJECTIONEXTERNAL_DOWNLOADSCOMMAND_EXECUTION
Full Analysis
- [PROMPT_INJECTION]: The skill is susceptible to indirect prompt injection because it processes untrusted trader metadata (such as usernames and IDs) and interpolates them into an LLM decision prompt.
- Ingestion points: The
runtime.yamlfile (line 123) interpolates the{{signal_jackal_signals}}payload into thedecision_promptused by thejackal_entryaction. - Boundary markers: The prompt uses structured sections (e.g., "SIGNAL:") but lacks explicit negative constraints or delimiters to prevent the LLM from following instructions embedded within trader-supplied strings like
sourceTraderUsername. - Capability inventory: The LLM's decision directly triggers the
OPEN_POSITIONaction, which has financial implications (opening leveraged trades on Hyperliquid). - Sanitization: The
scripts/jackal-producer.pyscript fetches data from thediscovery_get_trader_stateMCP tool and includes it in the signal payload without escaping or sanitizing string fields. - [EXTERNAL_DOWNLOADS]: The skill's deployment instructions guide the user to download and execute scripts from a remote repository.
- Evidence:
SKILL.mdcontainscurlcommands fetching Python scripts and configuration files fromhttps://raw.githubusercontent.com/Senpi-ai/senpi-skills/main/jackal/. - Context: These resources belong to the skill's verified author (Senpi-ai) and are necessary for the skill's operation.
- [COMMAND_EXECUTION]: The skill performs shell command execution to interact with required platform binaries.
- Evidence:
scripts/jackal_config.pyandscripts/jackal-producer.pyutilizesubprocess.runto call themcporterandopenclawCLI tools. - Context: Commands are constructed using list-based arguments without
shell=True, reducing the risk of command injection.
Audit Metadata