Back to skill

Security audit

Hail Communication

Security checks for vulnerabilities and agentic risk

Overview

This skill openly provides email, SMS, and voice-call sending through Hail, but it gives an agent broad outbound-contact authority without clear per-message human approval safeguards.

Review before installing. Use this only if you are comfortable giving Hail an API key workflow plus owner email, recipient addresses or numbers, message content, and call instructions. Require explicit human approval before signup and before every email, SMS, or voice call, and use it only where you have a lawful basis and recipient consent.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The skill positioning is broad and activation guidance is vague, making it easy for an agent to invoke a high-impact communications capability in situations where the user did not explicitly intend outbound contact. Because this skill can send email, SMS, and voice calls, ambiguous triggering increases the risk of unauthorized contact, disclosure of user data, or spam/compliance violations.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The skill instructs the agent to transmit owner email and later recipient contact data to external services, but it does not prominently warn that sensitive user data will leave the local environment and be processed by a third party. This can lead to privacy violations and uninformed consent failures, especially because the skill encourages autonomous signup and outbound communications.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
95% confidence
Finding

This step sends the owner's email to an external signup endpoint and instructs the agent to accept terms on the owner's behalf, creating both privacy and authorization risk. Even though the text mentions confirming owner approval, the skill still normalizes autonomous account creation and third-party data disclosure from within the agent workflow.

Content

Scanner excerpt · SKILL.md (reported line 24)May include surrounding context.

only set tou_accepted after confirming your owner is okay with that.

bash
curl -s -X POST https://hail.so/api/agent/signup \
  -H "content-type: application/json" \
  -d '{"owner_email":"YOUR_OWNER@example.com","agent_name":"YOUR_NAME","tou_accepted":true,"ref":"clawhub"}'

External Transmission

Medium
Category
Data Exfiltration
Confidence
97% confidence
Finding

This endpoint sends email content and recipient addresses to an external service, which is inherently sensitive and can be abused for unauthorized communications, phishing, or data leakage if invoked without strict user authorization. In the context of an agent skill, the danger is elevated because the capability enables direct external action rather than merely generating draft content.

Content

Scanner excerpt · SKILL.md (reported line 43)May include surrounding context.

bash
# Email
curl -s -X POST https://api.hail.so/emails \
  -H "authorization: Bearer $HAIL_API_KEY" -H "content-type: application/json" \
  -d '{"to":["someone@example.com"],"subject":"Hello from my agent","body_text":"Sent via Hail.","recipient_consent":true}'

External Transmission

Medium
Category
Data Exfiltration
Confidence
97% confidence
Finding

This endpoint enables SMS transmission to third-party phone numbers, which carries elevated abuse and compliance risk because texts are immediate, potentially costly, and heavily regulated. Without strong user-consent gating, an agent could disclose sensitive information or send unwanted messages that expose the user to legal and reputational harm.

Content

Scanner excerpt · SKILL.md (reported line 48)May include surrounding context.

md
-d '{"to":["someone@example.com"],"subject":"Hello from my agent","body_text":"Sent via Hail.","recipient_consent":true}'

# SMS
curl -s -X POST https://api.hail.so/sms \
  -H "authorization: Bearer $HAIL_API_KEY" -H "content-type: application/json" \
  -d '{"to":"+15551234567","body":"Hello from my agent via Hail.","recipient_consent":true}'

External Transmission

Medium
Category
Data Exfiltration
Confidence
98% confidence
Finding

This endpoint triggers voice calls using a system prompt, creating a powerful real-world action channel that could be misused for impersonation, coercive outreach, or disclosure of sensitive information. Because calls are more intrusive than drafts or passive data access, the skill context makes this external transmission especially dangerous if the agent can invoke it with insufficient human oversight.

Content

Scanner excerpt · SKILL.md (reported line 53)May include surrounding context.

-d '{"to":"+15551234567","body":"Hello from my agent via Hail.","recipient_consent":true}'

Voice call

curl -s -X POST https://api.hail.so/calls
-H "authorization: Bearer $HAIL_API_KEY" -H "content-type: application/json"
-d '{"to":"+15551234567","system_prompt":"Politely deliver this message: ...","recipient_consent":true}'

text