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-C43861A6

7/23/2026, 2:45:18 PM

scientific-slides avaliação de segurança v9

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
scientific-slides
Versão
v9
Mantenedor
davila7
Cobertura
17 Arquivos analisados · 11,051 Linhas analisadas
Versão da política
skillstore-security-audit-policy-v1

Maior gravidade de descoberta confirmada

Alto

4 constatações de segurança confirmadas requerem 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.

No malicious intent, prompt injection, or covert command execution was found. Most static alerts are documentation or syntax false positives. Confirmed risks involve third-party uploads, broad .env discovery, and API-key exposure in process arguments.

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

17 Arquivos analisados · 11,051 Linhas analisadas

13 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.

Observado em 16 locais de evidência

Acesso ao sistema de arquivos

Pode ler ou gravar arquivos locais.

Observado em 6 locais de evidência

Variáveis de ambiente

Pode ler valores do ambiente do processo.

Observado em 33 locais de evidência

Comandos externos

Pode invocar comandos ou programas fora do Skill.

Observado em 50 locais de evidência

Itens de revisão de capacidade (9)
Alto
Generic API/secret keys
cmd.extend(["--api-key", api_key])
The wrapper appends the actual API key to the child process argument list. Command-line arguments can be visible to same-host process inspection and logs.
Baixo
HTTP client library
def _make_request(self, model: str, messages: List[Dict[str, Any]],
This function implements outbound OpenRouter requests that can carry user prompts and attached images. The network behavior is intentional but security-relevant.
Baixo
HTTP client library
response = self._make_request(
This call sends the generation prompt and any encoded attachments through the OpenRouter request helper. User content therefore leaves the local environment.
Baixo
HTTP client library
response = self._make_request(model=self.review_model, messages=messages)
The review call uploads the generated slide image and original prompt to an external model through OpenRouter. This is real third-party data transfer.
Baixo
Python HTTP libraries
response = requests.post(
requests.post transmits the assembled model payload and authorization header to OpenRouter. This is a real outbound network operation.
Baixo
dotenv library
load_dotenv(dotenv_path=env_path, override=False)
The call loads a discovered .env file from a parent working-directory path. It can import credentials from outside the intended project.
Baixo
dotenv library
load_dotenv(dotenv_path=env_path, override=False)
The call loads a discovered .env file while traversing package parent directories. This search can consume credentials from unrelated scopes.
Baixo
Python dotenv loader
load_dotenv(dotenv_path=env_path, override=False)
The dotenv loader is invoked on an ancestor of the working directory, not only an explicitly selected project file. That broadens secret access unexpectedly.
Baixo
Python dotenv loader
load_dotenv(dotenv_path=env_path, override=False)
The dotenv loader is invoked on a package ancestor found by traversal. This can place unrelated secrets into the process environment.

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 (4)

RISK-001 Alto
Environment file access
"""Load .env file from current directory, parent directories, or package directory."""
The function explicitly searches current, ancestor, and package directories for .env files. This scope is broader than the active project.
RISK-002 Alto
Environment file access
env_path = cwd / ".env"
The loop constructs .env paths across as many as five working-directory ancestors. It may select and load credentials belonging to another project.
RISK-003 Alto
Environment file access
env_path = script_dir / ".env"
The loop searches as many as five package-directory ancestors for .env files. This creates unintended cross-project credential access.
RISK-004 Alto
Potential Upload of Confidential Research Figures
The workflow tells agents to discover and attach research figures, then sends attachments to OpenRouter without an explicit confidentiality warning or consent checkpoint.
The instructions require checking for existing figures and attaching them, while the implementation encodes those files into a third-party API request.

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
    Research figures can be uploaded to OpenRouter without a dedicated consent checkpoint.
    Require explicit approval before every attachment upload and warn users not to send confidential, unpublished, regulated, or proprietary material.
  2. FIX-002
    Alto
    The wrapper places the OpenRouter API key in a child process argument.
    Remove the --api-key child argument and let the child read OPENROUTER_API_KEY from its inherited environment.
  3. FIX-003
    Alto
    The dotenv loader searches multiple working and package ancestor directories.
    Load only an explicitly selected project .env file, and do not search parent directories automatically.

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
c43861a65bb95efcae259cd161c9d6f4dc7eec6f
Hash do conteúdo
6725dfb5db229db70aacaa5c42de5c0b97c5c0d0056a8286fcb8672b9dbbc5f5
Hash da árvore
00a4173f3132e432aba67fb0d08346eac70ec23118b296923bdaf8b85b6e813d
Caminho do Skill
skills/davila7/scientific-slides
Hash da carga de auditoria
e76ad412c5d03a6a8c6a2c61974ef300

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