api-design-first
Pass
Audited by Gen Agent Trust Hub on Sep 29, 2026
Risk Level: SAFEINDIRECT_PROMPT_INJECTIONEXTERNAL_DOWNLOADSCOMMAND_EXECUTIONDYNAMIC_EXECUTION
Full Analysis
- [INDIRECT_PROMPT_INJECTION]: The skill processes untrusted user requirements to generate architectural specifications and code.
- Ingestion points: User-provided API requirements and resource models described in natural language are used to generate OpenAPI, GraphQL, and gRPC definitions in SKILL.md.
- Boundary markers: None identified; the skill does not instruct the agent to ignore or delimit embedded commands in user-provided API descriptions.
- Capability inventory: The skill provides shell scripts (
scripts/validate-spec.sh,scripts/generate-mock.sh) that execute external tools via npx and invoke Python commands. - Sanitization: There is no explicit sanitization of user-provided resource names or descriptions before they are interpolated into the generated specifications.
- [EXTERNAL_DOWNLOADS]: The skill invokes external package managers to fetch tools at runtime.
- Evidence:
scripts/generate-mock.shandscripts/validate-spec.shusenpxto fetch and execute@stoplight/prism-cliand@stoplight/spectral-clifrom the NPM registry. - [COMMAND_EXECUTION]: The provided YAML validation script contains a flaw that allows for arbitrary command execution.
- Evidence:
scripts/validate-spec.shcontains the commandpython3 -c "import yaml; yaml.safe_load(open('$SPEC'))". Because the$SPECvariable (the filename) is interpolated directly into the Python command string within single quotes, a filename containing a single quote (e.g.,test.yaml'); import os; os.system('whoami'); #) will execute arbitrary Python code. - [DYNAMIC_EXECUTION]: The skill relies on dynamic loading and execution of Node.js packages.
- Evidence: The mock and validation scripts dynamically resolve and run tools using
npx, and the validation script generates and executes Python code snippets on the fly to check YAML integrity.
Audit Metadata