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.pyallows for the execution of arbitrary shell commands viasubprocess.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) usesubprocess.runorsubprocess.Popenwithshell=Trueto launch language servers and check for system dependencies likego,elixir, orrustup. - [DYNAMIC_EXECUTION]: Several scripts in the
symbol-searchandcode-editorcategories (e.g.,find_symbol.py,rename_symbol.py) useos.execvto 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.venvdirectory relative to the skill root. - [DYNAMIC_EXECUTION]: The skill uses Python's
picklemodule for project-level caching of symbol trees inlib/solidlsp/util/cache.py. Usingpickle.loadon local files in the.tmpdirectory 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