Este relatório não está traduzido para o idioma solicitado. O relatório canônico em inglês é exibido no lugar.

Avaliação de segurança versionada

ID do relatório: SA-18789A6C

10/13/2026, 2:45:11 PM

spawn avaliação de segurança v12

Relatório de Certificação de Segurança da Skill

Histórico de auditoria
Versão do scanner 3.0.0 Modelo de auditoria: codex Relatório publicado mais recente
Nome da skill
spawn
Versão
v12
Mantenedor
Consiliency
Cobertura
12 Arquivos analisados · 1,587 Linhas analisadas
Versão da política
skillstore-security-audit-policy-v1

Maior gravidade de descoberta confirmada

Alto

1 constatação de segurança confirmada requer atenção.

Contexto de instalação

Confira a página atual de Habilidades

Esta página resume apenas as evidências do relatório. A página da Skill fornece o aviso canônico de instalação.

Abra a página atual do Skill

Este relatório não bloqueia nem autoriza o manifesto ou o ZIP.

The 86 findings include real shell quoting and temporary-file risks, alongside false positives from documentation, platform detection, and dictionary operations. Provider instructions also recommend disabling approval safeguards and, for Codex, the sandbox. No evidence found of credential theft, concealed malware, or instructions to manipulate this audit.

Posição do relatório

Relatório publicado mais recente

Mais recente refere-se à sequência do relatório, não à atualidade do artefato.

Atestado de auditoria

Atestação ativa

Uma atestação pública está disponível para este relatório exato.

Verificação humana

Não verificado

Nenhuma verificação humana está registrada para este relatório.

Cobertura

12 Arquivos analisados · 1,587 Linhas analisadas

24 itens exibidos para revisão

Limitações

Este relatório não alega execução em runtime ou sandbox e não prova a ausência de efeitos colaterais.

Cadeia de evidências

Siga as evidências desde a vinculação à origem até o contrato de instalação. As evidências disponíveis oferecem suporte à verificação; não são uma garantia de segurança.

  1. Fonte

    Commit e caminho vinculados

  2. Artefato

    Hashes de conteúdo e árvore vinculados

  3. Auditoria

    Concluído

  4. Contrato de instalação

    Abra o manifesto para verificar

    Abra o manifesto

Recursos observados

Observado significa que este relatório registrou evidências de suporte. Não registrado não prova que uma capacidade está ausente.

Contém scripts

Pode executar código incluído com o Skill.

Não registrado por esta auditoria

Acesso à rede

Pode conectar-se a serviços externos.

Não registrado por esta auditoria

Acesso ao sistema de arquivos

Pode ler ou gravar arquivos locais.

Observado em 23 locais de evidência

Variáveis de ambiente

Pode ler valores do ambiente do processo.

Observado em 3 locais de evidência

Comandos externos

Pode invocar comandos ou programas fora do Skill.

Observado em 48 locais de evidência

Itens de revisão de capacidade (23)
Alto
Python subprocess.run
subprocess.run(
The AppleScript contains unescaped shell_cmd text, including unquoted cwd. Quotes or metacharacters in directory names can change the executed script.
Alto
Python subprocess.run
subprocess.run(f"cmd.exe /c 'start cmd /k wsl -- {command}'", shell=True)
The fallback interpolates command into nested Unix and Windows shell text with shell=True. Embedded quotes can cross parser boundaries and execute unintended commands.
Alto
Python subprocess.Popen
subprocess.Popen(wt_cmd, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
The argument list launches PowerShell with generated script text. POSIX shlex.quote does not safely escape PowerShell cwd values, allowing directory text to become code.
Alto
Python subprocess.Popen
subprocess.Popen(wrapped_cmd, shell=True, cwd=cwd)
Caller-supplied command text is executed with shell=True and no restricted argument mode. Legitimate shell use is intended, but untrusted interpolated data can execute commands.
Alto
Python subprocess.Popen
subprocess.Popen(wrapped_cmd, shell=True, cwd=cwd)
The debug path executes arbitrary command text with shell=True. The caller trust boundary is unspecified, so unsafe interpolation remains a risk.
Alto
Python subprocess.Popen
subprocess.Popen(command, shell=True, cwd=cwd)
The fallback passes caller-supplied command directly to shell=True without validation. Requested shell execution is legitimate, but untrusted command construction is not protected.
Alto
PowerShell invocation
"wt.exe", "-w", "new", "powershell.exe",
PowerShell receives generated script text using POSIX quoting for cwd. That mismatch can interpret directory-name characters as PowerShell syntax.
Alto
Windows cmd.exe
subprocess.run(f"cmd.exe /c 'start cmd /k wsl -- {command}'", shell=True)
Command text is embedded in a cmd.exe command passed through another shell. Missing parser-specific escaping permits unintended interpretation of embedded quotes and metacharacters.
Médio
Temp directory access
agent_output_file = f"/tmp/fork-agent-{output_id}.json" if log_agent_output else None
Agent output is written by tee into shared /tmp without private permissions or exclusive creation. Sensitive responses may be readable under common umasks.
Médio
Temp directory access
debug_output_file = f"/tmp/fork-debug-{output_id}.txt" if log_to_file else None
Debug logs collect terminal output in shared /tmp without permission hardening. Logs may expose sensitive output to other local users.
Médio
Temp directory access
done_file = f"/tmp/fork-output-{output_id}.done"
The completion marker is not securely created or checked for ownership. Another local user who discovers the filename can spoof completion.
Médio
Temp directory access
agent_output_file = f"/tmp/fork-agent-{output_id}.json" if log_agent_output else None
The WSL script writes agent output into shared /tmp through tee. No private directory, restrictive permissions, or exclusive creation protects the response.
Médio
Temp directory access
debug_output_file = f"/tmp/fork-debug-{output_id}.txt" if log_to_file else None
The WSL debug log stores full terminal output in shared /tmp. Its creation does not enforce privacy or resist existing symlinks.
Médio
Temp directory access
done_file = f"/tmp/fork-output-{output_id}.done"
The WSL completion marker uses a shared temporary path without exclusive creation or ownership verification. A local attacker can spoof its existence.
Médio
Temp directory access
script_file = f"/tmp/fork-script-{output_id}.sh"
A shell script containing caller commands is placed directly in shared /tmp. Later nonexclusive creation and permissions 0755 expose its contents and permit symlink attacks.
Médio
Temp directory access
agent_output_file = f"/tmp/fork-agent-{output_id}.json" if log_agent_output else None
The tmux branch saves agent output in shared /tmp using tee. It does not ensure private permissions or exclusive file creation.
Médio
Temp directory access
debug_output_file = f"/tmp/fork-debug-{output_id}.txt" if log_to_file else None
The tmux debug path stores terminal output in a shared temporary file. Sensitive output can remain readable under common umasks.
Médio
Temp directory access
done_file = f"/tmp/fork-output-{output_id}.done"
The tmux completion marker has no secure creation or ownership checks. Its existence can be spoofed by another local user.
Médio
Temp directory access
agent_output_file = f"/tmp/fork-agent-{output_id}.json" if log_agent_output else None
Background execution writes responses into shared /tmp without permission hardening. Sensitive agent output can be exposed to other local users.
Médio
Temp directory access
debug_output_file = f"/tmp/fork-debug-{output_id}.txt" if log_to_file else None
The background debug file collects stdout and stderr without private permissions or exclusive creation. This creates disclosure and symlink risks.
Médio
Temp directory access
done_file = f"/tmp/fork-output-{output_id}.done"
The background completion marker is placed in shared /tmp and checked only for existence. Local users can forge completion after discovering its path.
Médio
Python file write/append
with open(script_file, 'w') as f:
open(script_file, 'w') follows existing symlinks and truncates their targets. The script is created in shared /tmp without exclusive or no-follow flags.
Médio
Python os file operations
os.chmod(script_file, 0o755)
chmod sets command-bearing scripts to 0755, exposing prompts to other local users. It also follows a substituted symlink when changing target permissions.

Descobertas de risco

As preocupações de segurança confirmadas são separadas dos itens que ainda precisam de revisão.

Preocupações de segurança confirmadas (1)

RISK-001 Alto
Approval and sandbox safeguards disabled by default
The Codex cookbook says: "Always run with `--dangerously-bypass-approvals-and-sandbox` for full auto mode". Cursor similarly recommends force-allowing commands, increasing exposure to destructive actions and injected repository instructions.
These are explicit operational instructions to remove approval controls, not merely flag descriptions. Codex examples also disable sandboxing.

Medidas corretivas

As correções sugeridas foram registradas por esta auditoria. Aplicá-las é responsabilidade da pessoa responsável pela manutenção.

  1. FIX-001
    Alto
    Provider cookbooks recommend bypassing approvals and sandbox protections.
    Keep approvals and workspace confinement enabled by default. Require explicit user consent before enabling unrestricted execution.
  2. FIX-002
    Alto
    The macOS launcher inserts cwd and commands into shell and AppleScript text without correct escaping.
    Quote cwd for the shell and escape AppleScript strings separately. Reject malformed inputs and test quotes, spaces, and shell metacharacters.
  3. FIX-003
    Alto
    Windows uses POSIX quoting for PowerShell, and the WSL fallback interpolates command text across multiple shell parsers.
    Use platform-specific argument handling and avoid nested shell interpolation. Test directory names and prompts containing quotes and metacharacters.
  4. FIX-004
    Alto
    Background execution accepts arbitrary shell strings without a restricted execution boundary.
    Offer an argument-list execution mode without shell=True. Require confirmation for shell mode and treat prompts and filenames as data.
  5. FIX-005
    Médio
    Output, completion markers, and executable scripts use shared temporary paths without secure creation or private permissions.
    Create a private temporary directory with exclusive file creation. Use permissions 0600 for logs and 0700 for scripts, then remove artifacts.

Evidência especializada

Identidade imutável do sujeito, metadados do scanner, correspondências descartadas e evidências no nível da origem.

Sujeito do artefato

Commit do Marketplace
18789a6c1a8a9ebc818b76ac8686bbd38eb802a8
Hash do conteúdo
6e33576dcdea5824d6a486f854a089549fe3520627d0bae4d0f41a48220d4175
Hash da árvore
a92bcb1c88fe565c8883adb9bf6c07b1bc13ca512914608e5abd34f6470511fd
Caminho do Skill
skills/consiliency/spawn
Hash da carga de auditoria
832fac0330b781f0197473c63359bca3

Metadados da análise

Modelo de auditoria: codex

Estado da análise: Concluído

O escopo limita-se aos arquivos, linhas, métodos e evidências registrados. Nenhuma execução em runtime ou sandbox é alegada.

Verificar e exportar

O manifesto e o arquivo de bloqueio vinculam os artefatos de instalação a hashes criptográficos. Esta alegação de integridade é separada da avaliação de segurança.

Atestado de auditoria: active