Back to skill

Security audit

moltrust-identity

Security checks for vulnerabilities and agentic risk

Overview

This skill documents a MolTrust identity and trust-score integration, with external API calls that are disclosed and aligned with that purpose.

Before installing, be comfortable that using the skill contacts MolTrust's API and may create a public agent identity record with a display name and platform label. Keep any generated private key under your control; the artifact only asks for a public key and signature.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (7)

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# 1. Get a challenge and the proof-of-work parameters
curl -s https://api.moltrust.ch/identity/register-challenge
# → {"challenge": "...", "pow": {"seed": "...", "difficulty_bits": N}}

# 2. Solve the PoW: find a nonce where sha256(seed + nonce) has N leading zero bits.
Confidence
60% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# 1. Get a challenge and the proof-of-work parameters
curl -s https://api.moltrust.ch/identity/register-challenge
# → {"challenge": "...", "pow": {"seed": "...", "difficulty_bits": N}}

# 2. Solve the PoW: find a nonce where sha256(seed + nonce) has N leading zero bits.
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# 1. Get a challenge and the proof-of-work parameters
curl -s https://api.moltrust.ch/identity/register-challenge
# → {"challenge": "...", "pow": {"seed": "...", "difficulty_bits": N}}

# 2. Solve the PoW: find a nonce where sha256(seed + nonce) has N leading zero bits.
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# 1. Get a challenge and the proof-of-work parameters
curl -s https://api.moltrust.ch/identity/register-challenge
# → {"challenge": "...", "pow": {"seed": "...", "difficulty_bits": N}}

# 2. Solve the PoW: find a nonce where sha256(seed + nonce) has N leading zero bits.
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

External Transmission

Medium
Category
Data Exfiltration
Content
```bash
# 1. Get a challenge and the proof-of-work parameters
curl -s https://api.moltrust.ch/identity/register-challenge
# → {"challenge": "...", "pow": {"seed": "...", "difficulty_bits": N}}

# 2. Solve the PoW: find a nonce where sha256(seed + nonce) has N leading zero bits.
Confidence
50% confidence
Finding
Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Autonomous Decision Making

Medium
Category
Excessive Agency
Content
Returns the agent's registration, its credentials, and for each credential the
Merkle proof, the root, the anchoring transaction on Base and a link to the
rule the leaf was built with. You can recompute all of it without asking us:
the proof folds to the root with SHA-256 over concatenated raw bytes, and the
root appears in the transaction calldata as UTF-8 text, `MolTrust/VC/v1/<root>`.
Confidence
75% confidence
Finding
Skill enables autonomous high-impact decisions without human-in-the-loop verification. Critical operations (destructive commands, financial transactions, data deletion) should require explicit user confirmation.

Scope Creep

Low
Category
Excessive Agency
Content
permit persons to whom the Software is furnished to do so.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
Confidence
70% confidence
Finding
Skill's behavior or capabilities extend beyond its stated purpose. Scope creep allows an agent to perform actions unrelated to its documented functionality, increasing the attack surface.

Static analysis

No suspicious patterns detected.