T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:66- Finding
Execution of Mutable Third-Party Code with a Write-Capable GitHub Token
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 66–77
Vulnerability Type: Remote third-party payload retrieval and execution
Risk Level: HighVulnerable Code
bash # 1. Clone the repo (pinned to v1.0.0 tag) git clone --branch v1.0.0 https://github.com/captainsvbot/AutonomousGitHubTeam.git cd autonomous-github-team # 2. Configure — edit config.env cp config.example.env config.env nano config.env # set GH_TOKEN and TARGET_REPO # 3. Audit the agents first (important!) # Review agents/*.sh before running anything # 4. Run bash agents/orchestrator.shRelated metadata at lines 27–29 also defines an external clone operation and represents the version only through a
pinnedReftag:text "command": "git clone https://github.com/captainsvbot/AutonomousGitHubTeam.git /path/to/autonomous-github-team", "pinnedRef": "v1.0.0", "note": "Clone is pinned to a specific release tag. Always review the tagged commit before running.",Technical Analysis
The Skill instructs users to download Bash scripts from a third-party GitHub repository and execute
agents/orchestrator.shafter placing a write-capable GitHub personal access token inconfig.env. None of the downloaded executable files are included in the audited project, so their implementation and effective behavior cannot be validated from this package.Although the clone command selects the
v1.0.0tag, a Git tag is not equivalent to immutable commit verification. A mutable or replaced tag can resolve to different content after the Skill has been reviewed. The instructions do not verify an expected commit SHA, cryptographic signature, or trusted content digest before executing the downloaded scripts.The metadata clone command is even less restrictive because the actual command does not specify a branch, tag, or commit. The separate
pinnedRefmetadata property does not, by itself, prove that the clone operation check ...[truncated 2266 chars]- Remediation
View remediation
Remediation Suggestions
- Vendor the required scripts into the Skill package so the exact executable content is available during review.
- If remote retrieval is unavoidable, resolve and pin an immutable full Git commit SHA rather than relying on a release tag.
- After cloning, explicitly check out the expected commit and verify that
git rev-parse HEADexactly matches the approved SHA. - Publish trusted SHA-256 digests or signed release artifacts and verify them before executing any script. Abort on verification failure.
- Update the metadata clone command so its executable command enforces the approved revision rather than relying only on the separate
pinnedReffield. - Review the complete transitive execution chain, including every script, executable, package, and remote resource invoked by
agents/orchestrator.sh. - Run the payload in an isolated container or disposable virtual machine with restricted filesystem access, outbound network controls, and no unrelated credentials.
- Use a short-lived, fine-grained GitHub token restricted to one test repository and only the permissions required for the selected operation.
- Avoid storing the token in a plaintext project configuration file where possible. Supply it through a protected secret manager and ensure it is not inherited by unnecessary subprocesses.
- Enforce branch protection, mandatory independent review, signed commits where appropriate, and environment approval gates for releases.
- Test exclusively against an isolated fork before granting access to a production repository.
- Revoke and rotate the token immediately if integrity verification fails or the external repository is suspected of compromise.
