Google Scholar API
Analysis
The skill mostly matches its Google Scholar search purpose, but its artifacts expose or encourage unsafe handling of SerpAPI keys.
Findings (5)
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.
Checks for instructions or behavior that redirect the agent, misuse tools, execute unexpected code, cascade across systems, exploit user trust, or continue outside the intended task.
response = requests.get(pdf_url, headers=headers, stream=True, timeout=30) ... with open(save_path, 'wb') as f:
The skill downloads files from PDF links and writes them to local paths.
google-search-results>=2.4.2; requests>=2.31.0
Dependencies are specified with lower-bound ranges instead of exact pinned versions.
Checks whether tool use, credentials, dependencies, identity, account access, or inter-agent boundaries are broader than the stated purpose.
# api_key = "0430...f53a" # ❌ 不要这样做!
A published documentation example contains a real-looking API key literal rather than a placeholder.
print(f"API Key: {os.getenv('SERP_API_KEY')}")The troubleshooting guidance tells the user or agent to print the secret environment variable.
"api_key": self.api_key ... print(f"Error searching Google Scholar: {e}", file=sys.stderr) ... return {"error": str(e), "organic_results": []}The API key is placed in request parameters, and raw request exceptions are printed and returned without redaction.
