T09 · Insecure Skill Coding Practices
- Location
references/artifact-pipelines.md:23- Finding
Execution of Untrusted Target-Project Toolchains During Validation
- Content
View full analysis
Vulnerability Details
File Location:
references/artifact-pipelines.md:23,36,62;references/workflow.md:47;references/quality-gates.md:37
Vulnerability Type: Execution of untrusted project installation, build, test, lint, rendering, and native toolchain commands
Risk Level: HighVulnerable Instructions
references/artifact-pipelines.md:23text 5. Rebuild and run tests after reinsertion.references/artifact-pipelines.md:34-39text ### Validation - Run the build, tests, and linting if available. - Visually inspect pages at desktop and mobile breakpoints. - Check buttons, menus, cards, tables, and form labels for overflow. - Verify placeholders, links, and interpolation variables remain intact.references/artifact-pipelines.md:60-64text ### Validation - Re-render the docs if a toolchain exists. - Verify headings, anchors, tables, and code fences remain intact. - Check that localized captions and alt text still match the media they describe.references/workflow.md:45-48text ## 7. Reinsert and rebuild - Reinsert translations into the original structure whenever possible. - Preserve ordering, relationships, metadata, notes, and text runs if the format supports them. - Rebuild with the native toolchain when that is the most reliable path.references/quality-gates.md:35-41text ## Code and web gates - Install, build, and run tests where practical. - Verify no syntax errors were introduced while translating literals. - Inspect key pages at desktop and mobile breakpoints. - Check buttons, forms, nav items, modals, tables, and cards for overflow or clipping. - Verify locale bundles, fallback chains, and interpolation variables still work.Technical Analysis
The Skill directs an Agent to install dependencies and execute build, test, lint, documentation-rendering, or native toolchain commands belonging to a user-supplied localization target. Such targets must be treated as untrusted. ...[truncated 2831 chars]
- Remediation
View remediation
Remediation Suggestions
- Treat every localization target and its toolchain as untrusted.
- Replace unconditional validation guidance with static or non-executing checks by default.
- Require explicit user approval before installing dependencies or running any target-project command.
- Before approval, disclose the exact command, working directory, expected side effects, and whether network access is required.
- Inspect package manifests, lockfiles, lifecycle scripts, test setup files, build plugins, documentation plugins, and command definitions before execution.
- Run approved commands only inside a disposable sandbox or container with:
- No mounted credentials or host configuration.
- A minimal read-only source mount where practical.
- A dedicated writable output directory.
- Restricted process and filesystem permissions.
- Outbound network access disabled by default.
- Resource and execution-time limits.
- Disable lifecycle scripts where supported, such as using package-manager options that prevent install hooks.
- Require pinned dependencies and integrity verification before installation.
- Prefer existing trusted dependencies and offline caches over downloading mutable packages.
- Separate translation output from validation output and verify that validation did not introduce unrelated file changes.
- Document when dynamic validation was skipped because it could not be performed safely.
- Add explicit wording such as:
text Do not install dependencies or execute build, test, lint, rendering, or native project commands from an untrusted target by default. Use static validation unless the user explicitly approves the exact commands and they can be run in an isolated environment without credentials or unrestricted network access.
