Skip to content

fix: Document SSRF protections for Adspirer asset upload tools#143

Open
amekala wants to merge 1 commit intoopenclaw:mainfrom
amekala:fix/adspirer-ssrf-docs
Open

fix: Document SSRF protections for Adspirer asset upload tools#143
amekala wants to merge 1 commit intoopenclaw:mainfrom
amekala:fix/adspirer-ssrf-docs

Conversation

@amekala
Copy link

@amekala amekala commented Mar 4, 2026

Summary

  • Document server-side SSRF protections in adspirer-ads-agent and performance-marketing-agent SKILL.md files
  • The help_user_upload and validate_and_prepare_* tools accept user-provided URLs for creative asset uploads
  • All URL downloads are processed server-side by Adspirer's MediaDownloader with: HTTPS-only enforcement, private IP blocking (127.0.0.1, 10.x, 172.16-31.x, 192.168.x, 169.254.x, ::1), content-type validation, file size limits (100MB), 30s timeout, and max 5 redirects
  • No URLs are fetched by the plugin client — all downloads happen server-side

Why

VirusTotal Code Insight flagged the skill as "suspicious" because the SKILL.md describes accepting arbitrary public URLs without documenting the server-side security controls. This PR makes the existing protections visible to automated security scanners.

Files changed

  • skills/amekala/adspirer-ads-agent/SKILL.md — Added SSRF protection docs to Creative Assets section
  • skills/amekala/performance-marketing-agent/SKILL.md — Added SSRF protection to Safety section

🤖 Generated with Claude Code

…tools

The help_user_upload and validate_and_prepare_* tools accept user-provided
URLs for creative asset uploads. Document that all URL downloads are
processed server-side by MediaDownloader with: HTTPS-only enforcement,
private IP blocking, content-type validation, file size limits, timeouts,
and redirect caps. No URLs are fetched client-side.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants