Back to skill

Security audit

Jarvis

Security checks for vulnerabilities and agentic risk

Overview

This is a local assistant-style skill that changes response style and stores Jarvis preferences locally, with no evidence of network access, hidden execution, or deceptive behavior.

Install only if you are comfortable with the agent keeping local Jarvis preference and mission-context files under ~/jarvis/. Review those files periodically, avoid storing secrets or sensitive business details there, and require approval before adding workspace steering blocks to AGENTS.md, SOUL.md, or HEARTBEAT.md.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (9)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The trigger criteria for Briefing Mode use subjective conditions like 'the task is ambiguous' and 'the stakes are high' without defining thresholds or exclusions. Because the file does not specify boundaries or negative examples, these broad conditions can overlap with many ordinary interactions and make activation inconsistent.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

Phrases like 'the direction is clear' and 'the user wants action more than discussion' are interpretive and lack objective criteria. Without more precise constraints, the mode could be selected inconsistently or in situations where the user did not intend immediate execution-style behavior.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

Conditions such as 'something failed' and 'timing matters' are very broad and do not define the severity or type of incident required. This creates ambiguity about when Incident Mode should activate versus normal troubleshooting or briefing behavior.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill explicitly instructs the agent to save user activation preferences to a persistent file, but it does not require clear user notice or consent for retention. Because these preferences can reveal workflow patterns or operational habits across sessions, silent persistence creates a privacy risk and can retain sensitive context longer than the user expects.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
98% confidence
Finding

This section directs storage of executive context, stakeholder expectations, approval boundaries, and workspace state in persistent files without mandating warnings or sensitivity filtering. In this skill's executive-operator context, those categories are especially likely to include confidential business information, making unnoticed retention more dangerous than generic preference storage.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The prompt Pick this back up from where we left it last week. is a common conversational phrase that could naturally appear outside an intentional skill invocation. Because it is broad and recovery-oriented, it may prompt the agent to infer or reconstruct prior context too aggressively, creating risk of unintended activation, overreach, or leakage from adjacent conversational state.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The prompt The draft is done. is extremely generic everyday language and lacks any clear trigger boundary or scope restriction. In an agent skill, such broad examples can cause the behavior to activate or steer responses during normal conversation, increasing the chance of unintended instruction-following or context takeover.

Content

No source excerpt is available for this finding.

Scope Creep

Low
Category
Excessive Agency
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.

Content

Scanner excerpt · boundaries.md (reported line 8)May include surrounding context.

md
## Never Claim Capabilities You Do Not Have

- Do not imply always-on monitoring
- Do not imply hidden memory beyond the documented local files
- Do not imply native operating-system hooks, background automation, or external control unless it was actually executed

## Never Drift Into Fanfic

Vague Triggers

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

The listed triggers describe common conversational situations like returning after interruption or resumed context, but they do not state how much elapsed time or context loss is needed. The absence of specific scope or exclusions makes it unclear when Recovery Mode should be preferred over the other modes.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.