Back to skill

Security audit

Birdnet

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward read-only wrapper for a user’s BirdNET-Go server, with minor configuration hygiene considerations.

Install only if you intend to let the skill query your BirdNET-Go instance. Keep the config URL pointed at a trusted local server, and avoid placing API keys or unrelated secrets in the birdnet config file.

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
  • Rogue AgentSelf-Modification, Session Persistence
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • 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 (2)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
86% confidence
Finding

The skill invokes shell commands (bash scripts/birdnet.sh ...) but does not declare any explicit tool scope such as permissions or allowed-tools. That weakens execution boundaries and can allow broader-than-intended command execution in agents that rely on manifest-declared scopes for enforcement or user review.

Content

No source excerpt is available for this finding.

Session Persistence

Medium
Category
Rogue Agent
Confidence
72% confidence
Finding

The skill instructs the user to store persistent configuration under ~/.clawdbot/credentials/birdnet/config.json, which creates session-persistent state in a credentials path. Even though the example only contains a local URL, persistent files in a credentials area can expose internal service locations or be repurposed later for secrets, and they may be accessible to other skills or processes depending on the environment.

Content

Scanner excerpt · SKILL.md (reported line 14)May include surrounding context.

Setup

Create ~/.clawdbot/credentials/birdnet/config.json:

json
{
  "url": "http://192.168.1.50:783"

Static analysis

No suspicious patterns detected.