Back to skill

Security audit

SMILES Profiling

Security checks for vulnerabilities and agentic risk

Overview

The skill does what it says: it profiles a user-provided SMILES string by sending it to named chemistry services, with no evidence of hidden persistence, credential use, or unrelated data access.

Install only if you are comfortable sending each SMILES string to the listed third-party chemistry services. Avoid using confidential, proprietary, or pre-publication compounds unless those providers' terms and retention practices are acceptable for your work.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Tp4

High
Category
MCP Tool Poisoning
Confidence
91% confidence
Finding

The skill description promises comprehensive single-SMILES profiling across several sources, but the detected behavior reportedly omits key sources and instead focuses on TSV-based smoke testing and scoring. This mismatch is security-relevant because operators may grant trust, access, or automation based on the declared purpose while the actual behavior is materially different, increasing the chance of misuse, unsafe assumptions, and incorrect downstream decisions.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding

The skill directs use of multiple external web services, which implies network access, but it does not declare any tool scope or allowed-tools restrictions. Undeclared network capability weakens least-privilege controls and can allow broader-than-expected outbound access, making review, enforcement, and auditing harder.

Content

No source excerpt is available for this finding.

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
80% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · autoresearch.config.md (reported line 17)May include surrounding context.

md
- **Extract command**: `grep '^SCORE=' run.log | tail -1 | cut -d= -f2`

## Target Files
- `/home/openclaw/.openclaw/workspace/skills/smiles-profiling/SKILL.md` (workflow wording, ordering, failure handling)
- `/home/openclaw/.openclaw/workspace/skills/smiles-profiling/references/endpoints.md` (endpoint facts and stability notes)
- `/home/openclaw/.openclaw/workspace/skills/smiles-profiling/references/tool-notes.md` (reporting priorities and caveats)
- `/home/openclaw/.openclaw/workspace/skills/smiles-profiling/scripts/*.py` (smoke harness / parsers)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The script automatically sends the user-supplied SMILES string to multiple third-party services (SwissTargetPrediction, PubChem, ADMETlab, ChEMBL, and PK-Smart) without any explicit disclosure, confirmation, or privacy warning at the point of use. Even if a SMILES string is 'just chemistry data', it may encode proprietary compounds, pre-publication research, or sensitive drug-discovery assets, so silent transmission can leak confidential information to external providers and logs outside the user's control.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The code submits user-provided SMILES strings to SwissTargetPrediction and ADMETlab external services without any disclosure, consent prompt, or even a warning in output that proprietary chemical structures are being transmitted off-system. In a cheminformatics context, SMILES often represent confidential compounds, so silent exfiltration to third-party services creates a real data-handling and privacy risk even if the behavior is functionally intended.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The WebSocket flow sends the normalized SMILES to the external PK-Smart service by constructing Streamlit widget state and transmitting it directly, again without any warning or consent. This is slightly more concerning than simple HTTP form submission because it is less obvious to users and may bypass expectations about what data leaves the environment.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.