Back to skill

Security audit

War Intelligence Monitor

Security checks for vulnerabilities and agentic risk

Overview

The skill has a coherent emergency-monitoring purpose, but it asks for highly sensitive location and safety data and directs persistent automated alerts without enough user-control or privacy guidance.

Review carefully before installing. Use only coarse location data where possible, keep the config out of synced folders and repositories, restrict file permissions, avoid storing shelter details or contact numbers unless needed, and do not enable cron jobs or external alerts until you have reviewed the exact schedule, command, recipients, payload contents, and removal steps.

Vulnerability Patterns
  • System PersistenceInstalls backdoors, hooks, services, or scheduled tasks that survive the run
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T06 · System Persistence

Error
Location
SKILL.md:38
Finding

Persistent Cross-Session Monitoring Through Scheduled Cron Jobs

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:38-63; references/setup-guide.md:32-42
Vulnerability Type: Cross-session scheduled-task persistence
Risk Level: High

Evidence

SKILL.md:38-63:

text
### 1. Set Up Cron Jobs

Create two monitoring jobs:

**Urgent Monitoring (every 30 min)**
text
Execute war intel monitoring:
1. Search latest news: [conflict keywords]
2. Check for red alert keywords (airspace closed, missile launch, air raid, explosion)
3. If emergency detected, send alert immediately
4. Include distance from user location for each target mentioned

Alert format:
🚨 [RED ALERT] {event}
📍 Distance from you: ~{X}km
⚡ Immediate actions: {actions}
📊 Next 24-72h forecast: {prediction}
text
**Daily Briefing (3x daily)**
text
Generate daily briefing:
1. Search past 6 hours news
2. Check airspace status
3. Query flight prices and availability to evacuation target
4. Provide risk assessment and recommendations

references/setup-guide.md:32-42:

text
## Step 3: Set Up Monitoring

Ask the agent to create cron jobs:

text
Set up war intel monitoring for me:
- Read my config from war-intel-config.json
- Create urgent monitoring cron (every 30 min)
- Create daily briefing cron (3x daily at 8am, 2pm, 8pm)
- Send alerts to [Discord/Telegram/etc.]
text

Technical Analysis

The Skill explicitly directs an Agent to create recurring cron jobs. These jobs are designed to continue executing after the initiating interaction has ended, giving the Skill cross-session persistence through the host scheduler.

The documentation does not require the Agent to:

  • Display the complete scheduled command before installation.
  • Obtain separate confirmation immediately before creating each job.
  • Set an expiration time or execution limit.
  • Constrain the job to a dedicated low-privilege environment.

...[truncated 1694 chars]

Remediation
View remediation

Remediation Suggestions

  1. Require explicit, informed confirmation immediately before installing each scheduled task.
  2. Show the exact schedule, command, working directory, data sources, output destination, and account identity before installation.
  3. Give every job a default expiration date or bounded execution count.
  4. Run monitoring under a dedicated least-privilege account or sandbox with access only to the required configuration.
  5. Do not place secrets, coordinates, contact details, or messaging credentials directly in cron command lines.
  6. Maintain an auditable job identifier and document commands for listing, pausing, and deleting the job.
  7. Provide a nonpersistent foreground mode as the default; make cron installation an optional advanced feature.
  8. Require separate approval before enabling any external alert destination.
  9. Record only minimal operational metadata, and prevent sensitive alert contents from entering scheduler or system logs.

T09 · Insecure Skill Coding Practices

Warning
Location
references/config-template.json:2
Finding

Plaintext Storage and Potential External Disclosure of Sensitive Safety Data

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:11-34; references/config-template.json:2-39; references/setup-guide.md:9-15,32-42
Vulnerability Type: Insecure handling of precise location, shelter, evacuation, and contact data
Risk Level: Medium

Evidence

SKILL.md:11-34:

json
{
  "user_location": {
    "name": "Your Location Name",
    "coordinates": [latitude, longitude],
    "shelter_primary": "Nearest shelter location",
    "shelter_secondary": "Backup shelter location"
  },
  "evacuation_target": "Target city/country",
  "known_targets": [
    {"name": "Military Base A", "distance_km": 20, "type": "military"},
    {"name": "Airport", "distance_km": 15, "type": "infrastructure"},
    {"name": "Port", "distance_km": 25, "type": "infrastructure"}
  ],
  "emergency_contacts": {
    "police": "emergency number",
    "ambulance": "emergency number",
    "embassy": "embassy number"
  }
}

references/config-template.json:2-39:

json
"user_location": {
  "name": "Your City, District",
  "coordinates": [0.0, 0.0],
  "shelter_primary": "Building basement / underground parking",
  "shelter_secondary": "Nearby mall basement or metro station"
},
"evacuation_target": "Home Country/City",
"housing_risks": [
  "Large windows",
  "High floor",
  "Near military facility"
],
"known_targets": [
  {
    "name": "Example Military Base",
    "distance_km": 20,
    "type": "military",
    "notes": "Air force base, potential high-value target"
  },
  {
    "name": "International Airport",
    "distance_km": 15,
    "type": "infrastructure",
    "notes": "May close during conflict"
  },
  {
    "name": "Major Port",
    "distance_km": 25,
    "type": "infrastructure",
    "notes": "Strategic shipping facility"
  }
],
"emergency_contacts": {
  "local_police": "911",
  "local_ambulance": "911",
  "embassy_hotline": "+1-xxx
...[truncated 3521 chars]
Remediation
View remediation

Remediation Suggestions

  1. Collect only the minimum location precision required for useful alerts; prefer a city, district, or coarse geofence over a home address and exact coordinates.
  2. Separate contact credentials and sensitive personal data from the general monitoring configuration.
  3. Store sensitive values in an operating-system secret store or another protected configuration mechanism rather than ordinary plaintext JSON.
  4. If a local file is unavoidable, create it with owner-only permissions and verify those permissions before reading it.
  5. Define an explicit outbound allowlist and require user confirmation of the destination before sending the first alert.
  6. Redact exact coordinates, shelter names, home addresses, phone numbers, and evacuation details from outbound messages by default.
  7. Keep sensitive values out of command-line arguments, cron definitions, prompts retained by providers, and application logs.
  8. Display the exact outbound payload for approval during setup and provide a safe test using synthetic data.
  9. Document retention, deletion, backup, and incident-response procedures for the configuration and generated alerts.
  10. Use separate identifiers for nearby targets rather than storing unnecessary military-site details alongside the user's precise location.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill directs users to place highly sensitive data in a plain config.json, including precise location, shelter locations, evacuation plans, and emergency contacts, but provides no privacy, storage, or access-control guidance. In the context of a wartime monitoring skill, this information is unusually sensitive because local file exposure, backups, logs, or repo commits could reveal a user's whereabouts and emergency procedures to unauthorized parties.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The guide tells the user to store highly sensitive data such as home address, coordinates, nearby shelters, evacuation target, nearby military-related sites, and emergency contacts in a local config file, then have the agent read it, without any privacy warning or minimization guidance. In the context of a war-intelligence skill, this information is exceptionally sensitive because exposure could reveal the user's location, movement plans, and proximity to strategic targets.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
93% confidence
Finding

The setup guide explicitly instructs the agent to create recurring cron jobs and send alerts to external services, which introduces persistent system-side effects and outbound communications beyond simple informational briefings. In a skill handling wartime monitoring and sensitive user context, this can cause unauthorized automation, unintended data disclosure, and actions the user may not fully understand or review.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The instructions promote recurring automation and outbound alerting but do not warn that this creates persistent tasks on the user's system and may continuously send potentially sensitive conflict-related or location-derived information to third-party services. That lack of transparency is risky because users may not appreciate the ongoing operational and privacy impact after initial setup.

Content

No source excerpt is available for this finding.