Social Media Automation
Security checks across static analysis, malware telemetry, and agentic risk
Overview
This appears to be a legitimate social-media automation tool, but it can publish and interact from your social accounts and run scheduled posts, so it needs careful review before use.
Install only if you are comfortable granting the skill access to your social-media accounts. Use dedicated or least-privilege credentials, keep the .env and database files private, and require explicit review before any post, reply, retweet, like, or scheduled publication is created.
Static analysis
No static analysis findings were reported for this release.
VirusTotal
VirusTotal findings are pending for this skill version.
Risk analysis
Artifact-based informational review of SKILL.md, metadata, install specs, static scan signals, and capability signals. ClawScan does not execute the skill or run runtime probes.
If an agent or user invokes this command with the wrong text or account, it can publish public content under the user's social-media identity.
The CLI post command directly publishes to X/Twitter when invoked, without a visible confirmation step in the provided function.
console.print(f"[cyan]Posting to X (Twitter):[/cyan] {text[:50]}...")
result = client.post_tweet(text)Only allow posting after an explicit user request and review. Prefer adding a confirmation, dry-run, or approval gate before post, reply, retweet, and like actions.
Scheduled or recurring content may be posted automatically after the initial scheduling action.
The scheduler starts a background worker that checks for due scheduled posts every minute while the process is running.
self.scheduler = BackgroundScheduler(timezone=pytz.timezone("Asia/Tokyo"))
self.scheduler.start()
self.scheduler.add_job(
self.process_scheduled_posts,
"interval",
minutes=1,Review scheduled and recurring jobs carefully, run the scheduler only in a supervised context, and provide a clear way to list, cancel, and stop jobs.
Compromise or misuse of these tokens could let someone post or interact through the connected accounts.
The skill requires or supports account credentials that can grant access to social-media accounts; this is expected for the purpose, but it is sensitive and the registry metadata does not declare credentials.
TWITTER_BEARER_TOKEN=your_bearer_token_here TWITTER_API_KEY=your_api_key_here TWITTER_API_SECRET=your_api_secret_here TWITTER_ACCESS_TOKEN=your_access_token_here TWITTER_ACCESS_SECRET=your_access_secret_here # Bluesky Credentials (optional) BLUESKY_HANDLE=your_handle.bsky.social BLUESKY_APP_PASSWORD=your_app_password_here # LinkedIn Credentials (optional) LINKEDIN_ACCESS_TOKEN=your_access_token_here
Use least-privilege tokens, prefer a dedicated social-media account, keep the .env file private, and revoke tokens if the skill is no longer used.
Installing a different package build could run code that differs from the artifacts reviewed here.
The documentation offers an external package install path that may fetch code from a package index rather than the reviewed local files.
pipx install social-media-automation
Install from the reviewed local checkout when possible, or verify and pin the package version/source before using pipx.
Drafts, templates, and scheduled content may remain on disk and could later be reused or posted if not reviewed.
The skill persists social-media content and configuration data in a local SQLite database.
- SQLiteデータベースによるデータ永続化 # Database DB_PATH=./data/social_media.db
Avoid storing sensitive unpublished content unnecessarily, protect the database path, and periodically review or delete old drafts and schedules.
