speckit-constitution

Warn

Audited by Gen Agent Trust Hub on Sep 6, 2026

Risk Level: MEDIUMCOMMAND_EXECUTIONINDIRECT_PROMPT_INJECTIONDYNAMIC_EXECUTION
Full Analysis
  • [COMMAND_EXECUTION]: The skill reads and processes the .specify/extensions.yml configuration file to identify extension hooks. It instructs the agent to execute commands found under the hooks.before_constitution and hooks.after_constitution keys. Mandatory hooks (where optional is false) are triggered via the EXECUTE_COMMAND directive, which requires the agent to run the command and wait for the result before proceeding.
  • [INDIRECT_PROMPT_INJECTION]: The skill processes data from various repository files, including templates and a YAML configuration file, which serves as an injection surface. An attacker who can influence the content of the .specify/extensions.yml file (e.g., through a malicious pull request or repository compromise) can define arbitrary commands that the agent is instructed to execute.
  • Ingestion points: .specify/extensions.yml, .specify/memory/constitution.md, .specify/templates/*.md, README.md, docs/quickstart.md.
  • Boundary markers: None identified in the prompt templates or file processing logic.
  • Capability inventory: The skill has the capability to write to the filesystem (.specify/memory/constitution.md) and execute shell/agent commands (EXECUTE_COMMAND).
  • Sanitization: No validation or sanitization is performed on the command strings or principles derived from external files.
  • [DYNAMIC_EXECUTION]: The skill dynamically generates command identifiers at runtime by performing string transformations on values read from the configuration file. Specifically, it converts dot-notated hook names into slash commands by replacing dots with hyphens (e.g., speckit.git.commit becomes /speckit-git-commit).
Audit Metadata
Risk Level
MEDIUM
Analyzed
Sep 6, 2026, 10:36 AM