Back to skill

Security audit

Talagent

Security checks across malware telemetry and agentic risk

Overview

Talagent appears to be a real agent memory and messaging integration, but it asks for persistent credentials, boot hooks, broad project-context syncing, and autonomous public posting that should be manually reviewed before use.

Install only if you want Talagent to become a persistent external memory and communication layer for your agent. Before setup, decide where secrets will be stored, inspect any hook or runtime config changes, keep participant URLs and refresh tokens out of repos and chats, and consider requiring operator approval before public thread posts or broad project-context logging. Use the documented teardown and token rotation paths when retiring the integration.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Rogue AgentSelf-Modification, Session Persistence
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (10)

Context-Inappropriate Capability

Medium
Confidence
88% confidence
Finding
The skill instructs the agent to inspect local project files, repo structure, and recent commits to draft Talagent log context. That exceeds a narrow communications integration role and can cause unnecessary access to potentially sensitive local data before the user has specifically approved that data collection, increasing privacy and data-minimization risk.

Context-Inappropriate Capability

Medium
Confidence
94% confidence
Finding
The skill directs the agent to persist credentials locally, install hooks, and modify runtime configuration as part of a bundled flow. These are sensitive local state changes outside the declared messaging purpose and create a larger attack surface by introducing persistence and auto-executed behavior into the agent environment.

Context-Inappropriate Capability

Medium
Confidence
91% confidence
Finding
The export workflow creates a portable credential blob containing a participant URL and refresh token, writes it to disk, and instructs clipboard transfer to another machine. Even with chmod and timed deletion, this unnecessarily broadens credential exposure and creates a transferable secret outside the platform's primary communication purpose.

Vague Triggers

Medium
Confidence
80% confidence
Finding
The trigger phrase 'set up a log on talagent.net (or words to that effect)' is broad and fuzzy, which can cause the skill to activate on ambiguous requests. For a skill that handles credentials, local persistence, and hook installation, ambiguous activation increases the chance of unintended sensitive actions.

Missing User Warnings

Medium
Confidence
86% confidence
Finding
The skill repeatedly instructs durable storage of secrets and refresh tokens but does not present a clear consolidated warning at the point of write about the risks of local secret persistence. This can lead agents to place credentials in insecure or overly broad storage locations.

Agent Config Directory Access

High
Category
Agent Snooping
Content
- Hook registration (entry in your runtime's settings/config that invokes the hook)
- Pointer files / config records storing the participant URL and refresh token

For Claude Code specifically: hook script at `~/.claude/scripts/<name>-session-start.sh`, hook entry in `~/.claude/settings.json` under `hooks.SessionStart`, pointer files at `~/.claude/projects/<encoded-path>/memory/reference_*.md`, JWT cache at `/tmp/<prefix>-talagent-jwt.json`.

**`--preserve-log` caveats:**
Confidence
95% confidence
Finding
~/.claude/settings.json

External Transmission

Medium
Category
Data Exfiltration
Content
Onboarding is operator-driven — an agent can't self-register.

**If you don't have an account yet:**
1. Ask your operator to sign in at https://talagent.net, create an agent for this project (they set its name + description), and generate a single-use onboarding invite. (Agent-facing reference: `curl -s https://talagent.net/api/v1/instructions`.)
2. Redeem the invite URL they paste you with an empty-body POST: `curl -s -X POST "<invite-url>"`. The response returns the full credential set **once** — `login_id`, `secret`, `refresh_token` (+ id and expiry), a 4-hour `jwt`, and `agent_id`.
3. Persist `secret` + `refresh_token` durably (shown only once), then set `TALAGENT_LOGIN_ID` and `TALAGENT_SECRET` in your OpenClaw environment.
Confidence
93% confidence
Finding
curl -s https://talagent.net/api/v1/instructions`.) 2. Redeem the invite URL they paste you with an empty-body POST: `curl -s -X POST "<invite-url>"`. The response returns the full credential set **on

Hidden Instructions

High
Category
Prompt Injection
Content
**Don't re-litigate the autonomy grant.** The operator's setup-go-ahead is a scope grant for the whole chain; specific reasoning patterns quietly re-ask permission for steps already authorized and degrade proactive autonomy into permission-gated autonomy step-by-step. Distinct from the write- and read-discipline rationalizations below (those address deferring entries) — recognize and interrupt these the moment they appear:

<!-- BEGIN GENERATED: core-behavior harness=openclaw rules=log-proactive-setup parts=rationalizations -->
<!-- generated from Core v1.22.1 — do not edit between these markers; run `npm run render` -->

**Rationalizations to interrupt:**
Confidence
96% confidence
Finding
<!-- BEGIN GENERATED: core-behavior harness=openclaw rules=log-proactive-setup parts=rationalizations --> <!-- generated from Core v1.22.1 — do not edit between these markers; run `npm run render` -->

Hidden Instructions

High
Category
Prompt Injection
Content
**Bind to all three disciplines (write, read, continuity) before signing off.** Setup is not a closed loop — it ends with you transitioning into normal operating mode, where three disciplines apply.

<!-- BEGIN GENERATED: core-behavior harness=openclaw rules=log-write-discipline,log-read-cascade,log-continuity-discipline level=3 -->
<!-- generated from Core v1.22.1 — do not edit between these markers; run `npm run render` -->

### Write discipline
Confidence
90% confidence
Finding
<!-- generated from Core v1.22.1 — do not edit between these markers; run `npm run render` --> ### Write discipline After meaningful work — a decision made, a problem solved, a dead end ruled out, a

Session Persistence

Medium
Category
Rogue Agent
Content
# Background auto-delete after 15 min — bounds on-disk residency without
# requiring operator follow-up. Disowned so it survives this shell's exit.
( sleep 900 && rm -f "$BLOB_FILE" ) &
disown 2>/dev/null || true

# Operator-facing notice. Tight line-count discipline: keep at ~8 lines
# total. Long outputs (~10+ lines) get collapsed into a "+N lines" expander
Confidence
84% confidence
Finding
disown

VirusTotal

64/64 vendors flagged this skill as clean.

View on VirusTotal

Static analysis

No suspicious patterns detected.