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-2AAB20A3

10/13/2026, 2:51:12 AM

invoice-winning-numbers avaliação de segurança v1

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
invoice-winning-numbers
Versão
v1
Mantenedor
tahodev
Cobertura
1 Arquivos analisados · 158 Linhas analisadas
Versão da política
skillstore-security-audit-policy-v1

Maior gravidade de descoberta confirmada

Médio

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

The 19 backtick alerts, eight URL alerts, and two entropy alerts are false positives involving Markdown, official public sources, and readable multilingual text. Seven temporary-file alerts identify predictable shared paths that permit local tampering or symlink-based overwrites. Automatic rechecking also lacks explicit consent and can misuse carrier suffixes or reuse invoice numbers across periods; no credential exfiltration evidence was found.

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

1 Arquivos analisados · 158 Linhas analisadas

9 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 8 locais de evidência

Acesso ao sistema de arquivos

Pode ler ou gravar arquivos locais.

Observado em 7 locais de evidência

Variáveis de ambiente

Pode ler valores do ambiente do processo.

Não registrado por esta auditoria

Comandos externos

Pode invocar comandos ou programas fora do Skill.

Observado em 19 locais de evidência

Itens de revisão de capacidade (7)
Médio
Temp directory access
curl -sm 30 https://invoice.etax.nat.gov.tw/lastNumber.html -o /tmp/lastNumber.html
curl writes to a predictable shared temporary filename without private-directory isolation. A local attacker can pre-create a symlink to overwrite another agent-writable file.
Médio
Temp directory access
h = open('/tmp/lastNumber.html', encoding='utf-8').read()
The parser trusts a predictable shared temporary file without ownership or isolation checks. Another local user can replace its contents and falsify prize results.
Médio
Temp directory access
h = open('/tmp/lastNumber.html', encoding='utf-8').read()
Batch matching reads the same predictable shared file without establishing trusted provenance. Local file replacement can produce false winning or losing results.
Médio
Temp directory access
curl -sm 30 https://invoice.etax.nat.gov.tw/cloudNowNumber.html -o /tmp/cloud.html
curl writes the cloud-prize page to a predictable shared filename. A pre-created symlink can redirect the write to another agent-writable file.
Médio
Temp directory access
grep -oE 'pdf/[^"]+\.pdf' /tmp/cloud.html | sort -u
PDF link extraction trusts a predictable shared file that another local user can replace. Tampering can substitute prize-document paths and compromise subsequent matching.
Médio
Temp directory access
curl -sm 30 'https://invoice.etax.nat.gov.tw/pdf/<檔名>.pdf' -o /tmp/prize.pdf
The PDF download writes to a fixed shared temporary path. A pre-created symlink can overwrite an unrelated file writable by the agent.
Médio
Temp directory access
pdftotext /tmp/prize.pdf /tmp/prize.txt
pdftotext reads a predictable PDF path and writes a predictable text path. Local replacement can tamper with inputs, while output symlinks can redirect writes.

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

RISK-001 Médio
Recurring Actions Without Explicit Consent
Line 144 says the agent may schedule rechecking itself ('代理可自行排定') after receiving invoice numbers or carrier suffixes. This expands a prior lookup into recurring processing without explicit scheduling or retention consent.
Both the Chinese workflow and English summary authorize proactive rechecking of saved identifiers. No explicit opt-in, retention limit, or cancellation requirement appears.
RISK-002 Médio
Invalid Inputs and Period Reuse in Automatic Matching
Line 144 allows fixed invoice numbers or carrier suffixes to trigger rechecking every draw. Carrier suffixes cannot identify invoices, and reusing invoice numbers across periods can report invalid wins.
The matching instructions require complete eight-digit numbers or ten-character cloud serials. Automatic guidance nevertheless accepts carrier suffixes and omits invoice issue-period checks.

Medidas corretivas

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

  1. FIX-001
    Médio
    Predictable shared temporary paths permit file replacement and symlink-based overwrites.
    Create a private directory with mktemp -d, keep downloads and converted text inside it, and remove it after processing.
  2. FIX-002
    Médio
    Automatic rechecking can retain invoice identifiers and create recurring actions without explicit user consent.
    Require explicit approval for scheduling and retention, define expiry, and provide cancellation and deletion controls.
  3. FIX-003
    Médio
    Carrier suffixes cannot identify invoices, and saved invoice numbers can produce invalid matches in later periods.
    Require complete invoice identifiers and issue periods; reject carrier suffixes as matching inputs and process each invoice only for its period.

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
2aab20a3878daa05021884e089a7dd7739e08581
Hash do conteúdo
ca3b9ae4c05e6f5c79e17782439e2752a52e868ae68520d960a65d0658387925
Hash da árvore
04cd24105791209fd6426b2b4e7caf98cefc31227b389030edb102e3075e31db
Caminho do Skill
skills/tahodev/invoice-winning-numbers
Hash da carga de auditoria
696ae53a987eec60466f0a1b2a668dfb

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