Back to skill
Skillv1.0.0
ClawScan security
Android Smssdk Integration · ClawHub's context-aware review of the artifact, metadata, and declared behavior.
Scanner verdict
SuspiciousApr 29, 2026, 8:39 AM
- Verdict
- suspicious
- Confidence
- medium
- Model
- gpt-5-mini
- Summary
- The skill generally matches its stated purpose (integrating SMSSDK into an Android project) but contains several practical and security-relevant inconsistencies and risky instructions that you should review before running it.
- Guidance
- This skill is broadly coherent with its stated goal, but exercise caution before allowing it to operate on your codebase: - Back up your project (or use a test copy) before letting the skill modify files. The skill will edit build.gradle/settings.gradle/gradle.properties and source files. - Don’t run './gradlew' in a project you don’t trust — Gradle can execute arbitrary build scripts. Prefer to run Gradle yourself after inspecting changes. - The included Python script requires Python + openpyxl; the skill metadata does not declare that. Install those manually (and inspect the script) before running. - The skill will read and insert your AppKey/AppSecret. Treat appSecret as a secret: do not commit it to public VCS, and confirm where the skill writes it. Prefer to manage secrets via your standard secret-storage mechanism. - Ask the skill (or the integrator) to show a diff or a dry-run of all file changes and to create backups before applying edits. If you need higher assurance, request that the skill only provide patch suggestions (text diffs) and require you to apply them locally, rather than performing automatic edits or running Gradle.
Review Dimensions
- Purpose & Capability
- noteThe name/description (SMSSDK integration) matches the actions described: asking for a project path, generating a config template, modifying Gradle files, inserting privacy authorization code, and optionally running gradle sync. However the skill includes a Python script that requires the openpyxl package and Python runtime, yet the skill metadata does not declare Python or that dependency — an omission that is inconsistent with the runtime instructions.
- Instruction Scope
- concernThe SKILL.md instructs the agent to validate arbitrary project paths, read and modify project files (settings.gradle, build.gradle, gradle.properties, arbitrary activity files), insert code into user source files, and run './gradlew --refresh-dependencies'. All of those actions are within the domain of an integration helper, but they are high-privilege operations on arbitrary code. Running Gradle in the project's context can execute project-defined build scripts (potentially untrusted code). The instructions do not require explicit user confirmation for each file edit beyond a generic confirmation step, and they do not document safeguards (backup, dry-run, or explicit listing of changes) before making modifications.
- Install Mechanism
- noteNo install spec is provided (instruction-only), which minimizes supply-chain risk. But the included assets/generate_excel_template.py requires Python and the openpyxl library. The skill does not declare that Python or openpyxl must be present nor provide an install step; attempting to run the script may fail. No external download URLs or installer behavior are present.
- Credentials
- noteThe skill does not request environment variables or external credentials, which is proportionate to its purpose. However it handles sensitive local secrets (appSecret/appKey) by reading them from a user-provided Excel file and then embedding them into project files. The skill gives no guidance about secure handling of appSecret (e.g., do not commit to VCS, store in CI secrets, or use gradle.properties with secure storage).
- Persistence & Privilege
- okThe skill does not request always:true, does not modify other skills or global settings in the metadata, and is user-invocable only. That scope of persistence and privilege is appropriate.
