T03 · Remote Payload Retrieval and Execution
- Location
SKILL.md:81- Finding
Unverified Skill Archive Executes Attacker-Controlled Installer
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:81-87
Vulnerability Type: Unverified remote payload execution
Risk Level: CriticalVulnerable Code
bash # ١. تأكد من وجود الملف ls ~/Downloads/xxx.zip # ٢. فك الملف unzip -o ~/Downloads/xxx.zip -d ~/Downloads/hermes-skills-temp/ # ٣. شغّل التثبيت bash ~/Downloads/hermes-skills-temp/install.shTechnical Analysis
The receiving workflow extracts an externally supplied ZIP archive and immediately executes the
install.shfile contained in that archive. Checking that the ZIP exists does not establish its authenticity or integrity.The workflow does not perform any of the following controls:
- Cryptographic signature verification
- Trusted publisher validation
- Checksum verification against a trusted manifest
- Validation that
install.shmatches the installer shipped by this project - Static inspection of the shell script
- Sandboxed execution
- User confirmation after displaying the commands that will run
Consequently, anyone who can convince a recipient to download or save a crafted archive can provide an arbitrary shell payload. Temporary download links further separate the reviewed instructions from the payload eventually retrieved by the recipient.
Attack Path
- An attacker creates a ZIP archive containing an apparently valid Skill directory and a malicious root-level
install.sh. - The attacker distributes the archive directly or through a temporary download URL.
- The recipient asks the Hermes agent to install the archive using the documented prompt.
- The agent extracts the archive into
~/Downloads/hermes-skills-temp/. - The agent runs the archive-controlled
install.shwithout verifying it. - The malicious script executes with all privileges available to the recipient's user account.
Impact Assessment
Successful exploitation provides arbitrary command execution under the recipient agen ...[truncated 403 chars]
- Remediation
View remediation
Remediation Suggestions
- Never execute an installer supplied by the incoming archive.
- Keep the installer as trusted local code and use it only to process validated Skill data files.
- Require a signed manifest containing the publisher identity, archive digest, allowed paths, and digest of every packaged file.
- Verify signatures and hashes before extraction or installation.
- Extract into a newly created private directory and reject absolute paths, traversal components, symlinks, hard links, devices, and other special files.
- Present the validated file list and requested changes to the user before installation.
- If execution is unavoidable, run it in a restricted sandbox without credentials, network access, or write access outside a dedicated staging directory.
- Delete the staging directory safely after installation.
