Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

Google Business Optimizer

v1.0.1

Automate management of your Google Business Profile, including review responses, hours updates, competitor tracking, and local search rank monitoring.

0· 351·1 current·2 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
!
Purpose & Capability
The declared purpose (manage Google Business Profile: reviews, hours, competitor tracking, rank monitoring) aligns with the code's behavior (uses Google API endpoints, webhooks, local state and logs). However there are inconsistencies: SKILL.md instructs an OAuth flow with a downloaded credentials.json and treats GBP_ACCOUNT_ID as required, while the code and skill.json primarily expect an API key (GBP_API_KEY) and list GBP_ACCOUNT_ID as optional. The registry metadata at the top claimed 'no homepage' but skill.json lists a homepage; support/contact URLs in the docs are placeholder domains. These mismatches reduce confidence that manifest/instructions and implementation are coherent.
Instruction Scope
SKILL.md confines runtime actions to expected tasks: calling Google APIs, sending notifications to configured webhooks/email, storing state under ~/.openclaw/skills/google-business-optimizer, and running scheduled heartbeat tasks. It does ask users to supply credentials and configure webhooks. There is no instruction to read unrelated system files, but the docs ask for credentials.json (OAuth) while the code uses an API key—this scope mismatch is notable.
!
Install Mechanism
The registry metadata states 'No install spec — instruction-only', yet the package contains a TypeScript 'index.ts' and a runtime node entry in skill.json. There is no install/build step or dependency declaration. This inconsistency raises questions about how the code will be executed in the platform (TypeScript runtime, compilation, or bundling). The skill imports child_process.execSync (present in code) but the visible code doesn't show how/if external binaries are used — this should be confirmed before install.
!
Credentials
The skill legitimately needs Google credentials and location identifiers to operate. However SKILL.md and skill.json disagree on which env vars are 'required' (SKILL.md lists GBP_API_KEY, GBP_LOCATION_ID, GBP_ACCOUNT_ID as required; skill.json marks GBP_ACCOUNT_ID optional; initial metadata said 'none required'). The code reads GBP_API_KEY, GBP_LOCATION_ID, GBP_ACCOUNT_ID from config or process.env. The optional OPENAI_API_KEY, SLACK_WEBHOOK, EMAIL_TO, etc. are proportional for AI responses and notifications. Because of the conflicting statements about required secrets and the OAuth vs API-key mismatch, users should be cautious about which credentials they provide and prefer least-privilege keys.
Persistence & Privilege
The skill persists state, logs, and data under the user's home directory (~/.openclaw/skills/google-business-optimizer), and the HEARTBEAT automation is enabled in the manifest. It does not request 'always: true' and does not attempt to modify other skills or global agent settings. Persisting state and scheduling periodic tasks is coherent with the described automation features, but the user should be aware the skill will write files to their home directory and can run scheduled tasks until disabled.
What to consider before installing
This skill mostly looks like a legitimate Google Business Profile automation tool, but there are several mismatches you should resolve before installing or providing credentials: - Confirm the credential method: SKILL.md instructs OAuth (credentials.json + auth --login) while the code and skill.json expect an API key (GBP_API_KEY). Ask the author which method is supported and avoid uploading a full OAuth credentials file unless you trust the source. - Verify required env vars: SKILL.md marks GBP_ACCOUNT_ID as required whereas the manifest marks it optional. Only supply the minimum privileges (e.g., a service/API key scoped to the GBP operations) and avoid giving broad account credentials. - Source and support: The package metadata contains placeholder/local support URLs (e.g., *.local) and the registry 'Source' was 'unknown'. Prefer installing code from a known repository or vendor and verify the repository URL in skill.json before use. - Review code for exec usage and PDF/report generation: index.ts imports child_process.execSync (potential to run shell commands) — ask for or review the full source to confirm there are no arbitrary command executions or downloads. - Sandbox and audit: If you proceed, run the skill in a safe environment (or sandbox) first, monitor network activity, and inspect created files under ~/.openclaw/skills/google-business-optimizer. Provide webhooks and API keys that are revocable and have least privilege. Revoke or rotate keys if you later uninstall the skill or suspect misuse. If the author can clarify and fix the OAuth vs API-key inconsistency, harmonize required env vars, and point to a verifiable repository/homepage, the concerns here would be largely resolved.

Like a lobster shell, security has layers — review code before you run it.

latestvk97feb26d25zjp41g6mtsna1zs828x7c

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Comments