Back to skill

Security audit

AWS Patrol

Security checks across malware telemetry and agentic risk

Overview

This AWS monitoring skill is mostly purpose-aligned, but it can collect, store, and automatically share sensitive cloud inventory, security, and cost reports without enough safeguards.

Install only if you are comfortable giving the skill broad AWS read-only visibility. Use a dedicated least-privilege AWS profile, set AWS_PATROL_OUTPUT to a private directory, restrict generated report permissions, and review or redact reports before enabling scheduled runs or chat delivery.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Taint TrackingDirect Taint Flow, Variable-Mediated Taint Flow, Credential Exfiltration Chain
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (8)

Tainted flow: 'out_path' from os.environ.get (line 8, credential/environment) → open (file write)

Medium
Category
Data Flow
Content
actions_html += '</div>'
html = html.replace('{{ACTION_ITEMS}}', actions_html)

with open(out_path, 'w') as f:
    f.write(html)
print(f"Written to {out_path}")
Confidence
87% confidence
Finding
with open(out_path, 'w') as f:

Tainted flow: 'out' from os.environ.get (line 419, credential/environment) → open (file write)

Medium
Category
Data Flow
Content
OUT_DIR = os.environ.get('AWS_PATROL_OUTPUT', os.getcwd())
out = os.path.join(OUT_DIR, 'aws-security-cost.json')
with open(out, 'w') as f:
    json.dump(result, f, indent=2, default=str)

print(f"\nDone! Written to {out}", file=sys.stderr)
Confidence
87% confidence
Finding
with open(out, 'w') as f:

Tainted flow: 'out' from os.environ.get (line 209, credential/environment) → open (file write)

Medium
Category
Data Flow
Content
OUT_DIR = os.environ.get('AWS_PATROL_OUTPUT', os.getcwd())
out = os.path.join(OUT_DIR, 'aws-patrol-detail.json')
with open(out, 'w') as f:
    json.dump(result, f, indent=2, default=str)

print(f"\nDone! {result['summary']}", file=sys.stderr)
Confidence
84% confidence
Finding
with open(out, 'w') as f:

Missing User Warnings

Medium
Confidence
83% confidence
Finding
The README promotes fully automated collection of AWS infrastructure data, screenshot generation, and delivery to chat without clearly warning that reports may contain sensitive operational, security, cost, and account details. In this context, automated messaging/export increases the chance of unreviewed disclosure to unintended recipients or insecure channels, especially when run on a schedule.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The skill instructs users to send generated infrastructure reports via messaging, but the report contents include security posture, health events, cost data, and operational findings that may be sensitive. Without warnings, redaction guidance, or destination controls, this can lead to inadvertent disclosure of cloud inventory and security weaknesses to inappropriate recipients or insecure channels.

Missing User Warnings

Medium
Confidence
70% confidence
Finding
The script automatically consumes AWS profile-related environment variables and performs broad account-wide enumeration across IAM, EC2, S3, Cost Explorer, Savings Plans, RDS, and ElastiCache with only minimal stderr logging. In an agent or automation context, this increases the risk of users triggering unexpectedly sensitive cloud reconnaissance and metadata exposure without informed consent.

Missing User Warnings

Medium
Confidence
82% confidence
Finding
The script writes a consolidated report containing sensitive infrastructure, security posture, and cost details to local disk without clear warning or safeguards. In shared runners, developer workstations, or CI environments, this can leave high-value cloud inventory data exposed to other users, backups, or artifact collection systems.

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The script automatically writes a detailed AWS infrastructure inventory to disk without prompting, warning, or applying visible safeguards. Because the report includes instance IDs, private IPs, load balancer DNS names, alarms, health events, and registration statuses, silent persistence can expose sensitive operational data to other users, backup systems, artifact collectors, or compromised hosts.

VirusTotal

VirusTotal findings are pending for this skill version.

View on VirusTotal

Static analysis

No suspicious patterns detected.