graphify

Warn

Audited by Gen Agent Trust Hub on Oct 10, 2026

Risk Level: MEDIUMPERSISTENCECOMMAND_EXECUTIONDYNAMIC_EXECUTIONEXTERNAL_DOWNLOADSINDIRECT_PROMPT_INJECTIONMETADATA_POISONING
Full Analysis
  • [PERSISTENCE]: The hooks.py file contains logic to install git post-commit and post-checkout hooks. These hooks are designed to execute background Python processes (nohup $GRAPHIFY_PYTHON -c ... & disown) every time a commit or branch switch occurs, which ensures the tool's logic runs automatically without explicit user invocation.
  • [COMMAND_EXECUTION]: The tool relies heavily on subprocess.run() to interface with system utilities and external CLI tools. Affected modules include prs.py (calling GitHub CLI gh), google_workspace.py (calling Google Workspace CLI gws), llm.py (calling Claude Code claude), and hooks.py/__main__.py (calling git and python).
  • [DYNAMIC_EXECUTION]: __init__.py and extract.py utilize importlib.import_module() to lazily load language-specific extractors and heavy dependencies. This pattern allows for the dynamic loading of code based on the files being processed.
  • [EXTERNAL_DOWNLOADS]: The SKILL.md instructions for various platforms (Claude, Codex, Aider, etc.) include commands to install the graphifyy package from PyPI (pip install graphifyy) if it is not already present in the environment.
  • [INDIRECT_PROMPT_INJECTION]: The skill processes untrusted data from local files and remote URLs (via ingest.py). While llm.py uses boundary markers (=== {rel} ===) and security.py provides sanitization for labels, the tool has the capability to write files and execute shell commands based on its analysis of this untrusted content, creating an attack surface for indirect injection.
  • [METADATA_POISONING]: The skill metadata in .openskills.json and internal source references point to the 'safishamsi' GitHub organization and the 'graphifyy' package name, which does not align with the designating vendor 'skeletorflet' provided in the analysis context.
Audit Metadata
Risk Level
MEDIUM
Analyzed
Oct 10, 2026, 07:54 PM