repo-maintainer

Pass

Audited by Gen Agent Trust Hub on Sep 21, 2026

Risk Level: SAFECOMMAND_EXECUTIONINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTION
Full Analysis
  • [COMMAND_EXECUTION]: The script scripts/repo_maintainer.py executes git commands via subprocess.run to perform repository analysis.
  • Evidence: The run_git and disabled_filter_config functions call the Git CLI to inspect repository state and diffs.
  • Mitigation: The script includes extensive security hardening, such as disabling potentially malicious Git filters (clean, process, required), sanitizing environment variables (stripping GIT_ prefixed variables), and using list-based arguments for subprocess to prevent shell injection.
  • [INDIRECT_PROMPT_INJECTION]: The skill is designed to ingest and analyze untrusted data from repository changes, creating a surface for indirect prompt injection.
  • Ingestion points: scripts/repo_maintainer.py reads file contents and Git diff outputs directly from the repository being maintained.
  • Boundary markers: The instructions in SKILL.md advise treating analyzer results as conservative signals and emphasize independent verification of results by the agent.
  • Capability inventory: The skill can read any file in the repository, execute Git commands, and write manifest files to disk.
  • Sanitization: The analyzer includes markdown_escape and markdown_code functions to sanitize data rendered in reports, preventing the injection of formatting or bidirectional control characters into the agent's context.
  • [DYNAMIC_EXECUTION]: The test suite utilizes dynamic module loading for local script verification.
  • Evidence: tests/test_repo_maintainer.py uses importlib.util.spec_from_file_location and module_from_spec to load the repo_maintainer.py script for unit testing.
  • Context: This is a standard Python testing practice used to verify local code and does not involve the execution of untrusted remote content.
Audit Metadata
Risk Level
SAFE
Analyzed
Sep 21, 2026, 10:57 PM
Security Audit — agent-trust-hub — repo-maintainer