serena-skills

Warn

Audited by Gen Agent Trust Hub on Jun 16, 2026

Risk Level: MEDIUMCOMMAND_EXECUTIONEXTERNAL_DOWNLOADSREMOTE_CODE_EXECUTION
Full Analysis
  • [COMMAND_EXECUTION]: The script scripts/shell-executor/execute_shell_command.py allows for the execution of arbitrary shell commands via subprocess.run(shell=True). While intended for developer workflows, this provides high-privilege access to the host environment.
  • [EXTERNAL_DOWNLOADS]: The skill downloads binaries and extensions from numerous well-known external sources to support different programming languages. These include:
  • Microsoft Visual Studio Marketplace (AL and MATLAB extensions)
  • GitHub Releases (Clangd, Clojure LSP, Marksman, Taplo, PowerShell Editor Services, etc.)
  • Google APIs Storage (Dart SDK)
  • Azure NuGet feeds (C# language server)
  • Hashicorp (Terraform language server)
  • [REMOTE_CODE_EXECUTION]: Binaries downloaded from the aforementioned external sources are executed at runtime to provide Language Server Protocol (LSP) functionality. These components run as subprocesses with access to the project's source code and environment.
  • [COMMAND_EXECUTION]: Multiple library files (e.g., lib/solidlsp/ls_handler.py, lib/solidlsp/language_servers/common.py) use subprocess.run or subprocess.Popen with shell=True to launch language servers and check for system dependencies like go, elixir, or rustup.
  • [DYNAMIC_EXECUTION]: Several scripts in the symbol-search and code-editor categories (e.g., find_symbol.py, rename_symbol.py) use os.execv to perform process replacement. This logic is used to auto-activate a local virtual environment by re-executing the script using the interpreter found in a .venv directory relative to the skill root.
  • [DYNAMIC_EXECUTION]: The skill uses Python's pickle module for project-level caching of symbol trees in lib/solidlsp/util/cache.py. Using pickle.load on local files in the .tmp directory is a security risk if an attacker can modify those cache files, leading to potential code execution upon deserialization.
  • [DATA_EXFILTRATION]: The skill includes powerful discovery and reading tools (file-ops/read_file.py, file-ops/search_for_pattern.py) that can be used to scan for and retrieve sensitive information (credentials, keys, configuration) within the project directory tree.
Audit Metadata
Risk Level
MEDIUM
Analyzed
Jun 16, 2026, 06:29 PM
Security Audit — agent-trust-hub — serena-skills