dsh-skill-pack-security

September 4, 2026 · View on GitHub

dsh-skill-pack-security

  • Canal 1024 store: npm i -g dsh1024 uma vez, depois dsh1024 plugin --profile web add dsh-skill-pack-security (conta para o ranking de instalações do deepseek1024.com).

Oito skills de auditoria de segurança mais um portão automático de cadeia de suprimentos de plugins para o DeepSeek Harness.

As skills ensinam a metodologia de auditoria; a ferramenta plugin_vet executa a varredura pré-instalação — licença / SBOM / pin de commit / padrões maliciosos / cartão de risco em cinco dimensões.

License DSH plugin Node CI Version npm version npm downloads

English · 简体中文 · Español · Português · हिन्दी


Compatibility

SuperfícieStatus
HarnessDeepSeek Harness 0.1.2-rc.1 (adaptado em 2026-09-02): o envelope de sessão mantém seu campo ignorable apenas para compatibilidade de leitura de logs armazenados - o Session.append ainda não consegue estampá-lo, então o comportamento da porta não muda.
Node^22.19.0 || >=24.0.0 (o runtime do DeepSeek Harness)
PlataformasTodas (as skills são conteúdo; o provider é um plugin de host)
ModeloQualquer (as skills carregam sob demanda com a ferramenta skill; plugin_vet é determinístico)

What you get

O dsh-skill-pack-security é um pacote de skills + portão de cadeia de suprimentos para o DeepSeek Harness. Ele distribui oito metodologias de segurança como bundles SKILL.md que o modelo descobre no catálogo da sessão e carrega sob demanda com a ferramenta skill, mais o scanner automático plugin_vet pré-instalação. As skills ensinam a metodologia; o plugin executa as verificações estáticas.

  • Oito skills, duas edições — cada skill é distribuída com nomes e metadados idênticos em skills/ (chinês) e skills-en/ (inglês); instale um idioma por raiz.
  • Portão plugin_vet — um scanner sem dependências (licença / SBOM / pin de commit / padrões maliciosos / revisão de responsabilidade de dados / cartão de risco em cinco dimensões) registrado pelo plugin opcional provider/ em ctx.tools.
  • Os achados citam as skills — cada achado aponta para a seção de skill correspondente (por exemplo supply-chain-review §1) para continuar a auditoria manual.
  • Executável por um modelo — cada passo de skill é um comando real (gitleaks, trivy, pnpm audit, npm view, git …) com amostra de saída esperada e critério de código de saída.

Why skills, not tools?

FormaO que fazO que não consegue fazer
Plugin de ferramentas (ex.: scanners)Executa varreduras, devolve achadosInterpretar alertas, classificar falsos positivos, escrever relatórios redigidos
Camada de protocoloRestringe um protocoloGeneralizar entre repositórios e agentes
Pacote de skills (este repo)Ensina metodologia: triagem, relatórios, ordem de remediação — e automatiza as verificações estáticas pré-instalação via plugin_vetSubstituir uma auditoria manual de ponta a ponta

Instalado junto com um plugin de segurança do tipo ferramenta, os dois se compõem: a ferramenta executa a varredura, a skill conduz a interpretação, a triagem e o relatório. Este pacote combina as duas formas: as skills ensinam a metodologia e o plugin_vet executa o subconjunto estático automaticamente, com cada achado apontando de volta para as skills.

As 3000+ skills do ecossistema Claude Code provam o valor de distribuição dessa forma. O frontmatter SKILL.md do DSH (name, description, whenToUse) é compatível com o formato de skills do CC; este pacote usa apenas o subconjunto comum e seu conteúdo é totalmente original.

The eight skills

SkillPropósitoQuando usar
security-auditFluxo de auditoria em cinco fases: escopo → inventário → classificação de riscos → verificação → modelo de relatórioAuditorias de repo completo, relatórios, planejamento
secret-scanAuditoria de credenciais: uso de gitleaks/trivy, níveis de falso positivo, relatórios redigidos, ordem de remediaçãoVarredura de segredos, triagem de alertas, relatórios de vazamento
dependency-auditAuditoria de cadeia de suprimentos: leitura de pnpm/npm audit, licenças, risco de typosquat, deriva do lockfileRevisão de dependências, interpretação de relatórios
supply-chain-reviewRevisão rápida de PR/novas dependências: scripts de instalação perigosos, typosquat, builds reproduzíveisRevisar PRs que adicionam dependências
prompt-injection-reviewRevisão de superfícies de injeção em projetos de agentes: AGENTS.md, skills, descrições de ferramentas, MCP, webRevisar superfícies de injeção do contexto do modelo
threat-modelModelagem de ameaças em fase de projeto: limites de confiança, tabela STRIDE, árvores de ataque, mitigaçõesModelar novos recursos, revisão de segurança em fase de projeto
vuln-intelInteligência de vulnerabilidades: consultas NVD/CISA-KEV/GHSA/OSV com critérios de veredictoDado um id CVE/GHSA, verificar impacto e exploração
incident-responseResposta a incidentes em ambientes de agentes: conter → evidência → recuperar → postmortemIncidentes suspeitos em configurações DSH/de agentes

Cada bundle mantém seu arquivo principal ≤ 300 linhas (divulgação progressiva; os detalhes vivem em references/).

plugin_vet — the automated pre-install gate

O plugin_vet é o complemento automático do pacote: um scanner sem dependências registrado pelo plugin provider/ em ctx.tools. Aponte-o para um owner/repo do GitHub ou para um caminho de pacote local — ele baixa o tarball uma única vez (respeitando timeout + AbortSignal), varre dentro dos limites de orçamento e devolve um cartão renderizado.

  • Varredura de licença — localiza o arquivo LICENSE e o campo license; NOASSERTION/UNKNOWN/SEE LICENSE IN <arquivo>, um arquivo ou campo ausente é marcado; ids SPDX comuns são reconhecidos.
  • SBOM — extrai a árvore de dependências com versões do lockfile (pnpm/npm/yarn).
  • Bloqueio de commit — refs do manifesto de instalação e ações de workflows devem ser SHAs de commit imutáveis de 40 hex; refs @tag/ramo são marcadas como mutáveis.
  • Padrões maliciosos — scripts de ciclo de vida (preinstall/install/postinstall), domínios de exfiltração e payloads ofuscados/codificados.
  • Relatório de risco em cinco dimensões — licença / origem / dependências / scripts de build / manutenção, cada uma 0–100, dobradas em um veredicto global: PASS, WARN ou FAIL.

Portão de instalação. O veredicto alimenta um portão de instalação — gate.policy: warn (padrão, não bloqueante) imprime um aviso ante FAIL; gate.policy: deny bloqueia a instalação:

- id: skill-pack-security
  name: '@perrylink/dsh-skill-pack-security-provider'
  config:
    language: en
    vet:
      gate:
        policy: deny   # bloqueia instalações que falham no plugin_vet

Complementar ao dsh-plugin-check. As 36 verificações do validador oficial verificam o contrato e a qualidade de um plugin (esquema de configuração, registro de efeitos, forma JSON das ferramentas); o plugin_vet verifica a cadeia de suprimentos de onde um plugin vem. Execute ambos:

dsh-plugin-check (36 verificações)plugin_vet (este repo)
Pergunta respondidaEste plugin é bem formado e cumpre o contrato?Este pacote é seguro para instalar?
O que olhaCódigo do plugin, esquema, registros, contratos de ferramentasLICENSE, lockfile, refs de instalação/ações, scripts de ciclo de vida, exfil/ofuscação, manutenção
VeredictoPassa/falha por verificaçãoPASS / WARN / FAIL + portão
QuandoDesenvolvimento ou revisão de pluginsAntes de dsh plugin add, revisão de PR, portão de CI de cadeia de suprimentos
BloqueantePortão de CI (não zero ante violações)Configurável: warn (padrão) ou deny

Quick start

# 1. instale o bundle no seu perfil
dsh plugin --profile web add "github:PerryLink/dsh-skill-pack-security#main"

# ou do npm (versões publicadas)
dsh plugin --profile web add @perrylink/dsh-skill-pack-security-provider

# 2. reinicie e verifique a linha
dsh --profile web --dump-config | grep -A3 'id: skill-pack-security'

Install & uninstall

  • Canal git (último main): dsh plugin --profile web add "github:PerryLink/dsh-skill-pack-security#main" — monta o bundle do provider; prepack embebe ambas as edições no tarball.
  • Canal npm (versões publicadas): dsh plugin --profile web add @perrylink/dsh-skill-pack-security-provider.
  • Canal tarball: pnpm pack em provider/, depois dsh plugin --profile web add ./@perrylink-dsh-skill-pack-security-provider-<version>.tgz.
  • Desinstalar: dsh plugin --profile web remove @perrylink/dsh-skill-pack-security-provider (ou remova a linha; as cópias puras de skills são removidas com -Uninstall / --uninstall do instalador).

Installing the skills by hand

O provedor local de skills do DSH escaneia quatro raízes por rank (o rank menor vence conflitos de nome dentro de uma camada):

RankRaizEscopo
100<repoRaiz>/.dsh/skillsPor projeto, viaja com o repo
200<repoRaiz>/.agents/skillsPor projeto, diretório de agentes compartilhado
400<dshHome>/skills ($DSH_HOME ou ~/.dsh)Por usuário, somente DSH
500<agentsHome>/skills ($DSH_AGENTS_HOME ou ~/.agents)Por usuário, entre agentes

Ranks (o menor vence conflitos de nome dentro de uma camada): project-dsh 100 < project-agents 200 < custom 300 < user-dsh 400 < user-agents 500. O rank custom 300 é registrado por plugin (como o provider/ opcional deste pack), não é uma raiz de disco.

./scripts/install.ps1 -Target user-agents -Language zh   # Target: project-dsh | project-agents | user-dsh | user-agents; Language: zh (padrão) | en
bash ./scripts/install.sh --target user-agents --language en

What's inside

CaminhoO que é
skills/<nome>/SKILL.mdAs oito skills (edição chinesa); o frontmatter segue o contrato oficial do dsh-skill-filesystem
skills-en/<nome>/SKILL.mdAs oito skills (edição inglesa); mesmos nomes e metadados da edição chinesa
skills/<nome>/references/Detalhe com divulgação progressiva: matrizes de comandos, tabelas de triagem, modelos
scripts/install.ps1Instalador Windows de um comando para as quatro raízes (ambas as edições); registra um manifesto, suporta -Uninstall/-DryRun/-Force
scripts/install.shO equivalente POSIX (--uninstall/--dry-run/--force)
provider/Bundle provedor instalável por npm (declara dsh.bundle; embebe ambas as edições em pack/ via prepack; language: zh|en); registra o provedor de skills E o portão plugin_vet via ctx.effect(), falha em alto ante um skillsDir inválido
provider/src/vet/O motor de varredura plugin_vet sem dependências (licença / SBOM / bloqueio de commit / padrões maliciosos / relatório de risco)
package.jsonManifest do bundle raiz: declara dsh.bundle.patch (→ provider/cordis.patch.yml) e os dados de intake dshWorkshop
verify/verify-skill-pack.mtsVerificação headless contra o parser oficial, a ferramenta skill real e o runtime de ferramentas real — 25 verificações sobre ambas as edições
VERSIONFonte única de versão; cada metadata.version de SKILL.md e provider/package.json deve coincidir com ela (aplicado por CI)
docs/Verificação de conflitos do ecossistema, lista de publicação, planos de melhoria e demos do plugin_vet
CHANGELOG.md / SECURITY.md / CONTRIBUTING.mdHistórico de versões, política de relato de vulnerabilidades e regras de contribuição/verificação
.github/workflows/verify.ymlCI: verificação de 25 itens + exercício dos instaladores + build/pack do provider (Ubuntu e Windows)
.github/dependabot.ymlAtualizações semanais de dependências para o provider e GitHub Actions
LICENSEApache License 2.0
THIRD_PARTY_NOTICES.mdPostura de terceiros: motor sem dependências, ativos avaliados mas não portados, licenças de dependências peer

Configuration

Todas as opções são campos Schemastery Config (modificáveis a partir do cordis.yml). O provider/cordis.patch.yml documenta cada chave.

ChavePadrãoSignificado
languagezhEdição a publicar: a chinesa skills/ ou a inglesa skills-en/; ignorada quando skillsDir é definido
watchfalseObservar o diretório de skills empacotado (conteúdo estático, por isso desativado)
skillsDir(não definido)Raiz de skills explícita; anula o valor derivado de language e deve conter bundles <skill>/SKILL.md
vet.enabletrueRegistra a ferramenta plugin_vet
vet.timeoutMs15000Timeout de download do tarball em ms
vet.maxFiles800Teto de arquivos varridos
vet.maxFileBytes262144Teto de bytes por arquivo
vet.maxExtractBytes67108864Teto de bytes de extração
vet.maxDepNodes600Teto de nós da árvore de dependências
vet.maxFindingsPerCheck12Teto de achados por verificação
vet.dataResponsibilitytrueExecuta a revisão de responsabilidade de dados (desativável por implantação)
vet.externalScannerstrueOrquestra osv-scanner/npm audit quando seus CLIs estão presentes; false força a verificação de dependências autoconsultada integrada
vet.userAgentdsh-skill-pack-security/2.2.7 (+https://github.com/PerryLink/dsh-skill-pack-security)User-agent de download
vet.gate.policywarnPortão de instalação: warn (não bloqueante) ou deny (bloqueia ante FAIL)

Tools & surfaces

SuperfícieTipoNotas
plugin_vettoolVarredura de cadeia de suprimentos pré-instalação (licença / SBOM / bloqueio de commit / malicioso / cartão de risco); os achados citam seções de skills
skill-pack-securityskill providerRegistra a edição skills/ ou skills-en/ do pack em ctx.skills
Oito bundles SKILL.mdskillsA metodologia de auditoria, em duas edições de idioma
portão de instalaçãogatevet.gate.policy: warn | deny decide a instalação

Permissions & data

  • Permissões: o manifesto dshWorkshop declara files:read e network:fetch.
  • Dados: o plugin_vet baixa um tarball uma única vez (respeitando timeout + AbortSignal) e os relatórios redigem textos com forma de segredo; o plugin não injeta seções de prompt.

Security boundaries

  • Motor sem dependências. O plugin_vet usa apenas builtins de node: e imports relativos.
  • Portão pré-instalação de escopo acotado. Não é uma ferramenta de auditoria de propósito geral — deliberadamente complementar aos plugins escâner e ao validador oficial dsh-plugin-check.
  • Não bloqueante por padrão. O portão de instalação é warn salvo se você optar por deny.
  • Conteúdo original. Compatível com o formato de skills do Claude Code, mas sem conteúdo copiado de CC e sem marketplace de skills.
  • Motor original, sem ports de terceiros. O escaneo de licença e as verificações de padrões maliciosos são implementações originais sem dependências; os ativos GPL-Radar / LLM-detective / Sus-PY foram avaliados para portar, mas nenhum código-fonte público licenciado foi encontrado — veja THIRD_PARTY_NOTICES.md.

Verification

O verify/verify-skill-pack.mts importa o parser oficial dsh-skill-filesystem, a ferramenta real skill e o runtime de ferramentas real de um checkout local do deepseek-harness e executa 25 verificações sobre ambas as edições de idioma:

  1. Estrutura: ambas as edições presentes, 8 bundles de diretório em cada edição, sem skills planas soltas, name do frontmatter coincide com o diretório, ≤ 300 linhas, references/ conectado, metadata.version sincronizado com o arquivo VERSION
  2. Sem conflitos de nome com as skills oficiais de .agents/skills/ (derivadas do checkout em tempo de execução) nem com pacotes de skills comunitários conhecidos 3–6. Por edição (chinesa skills/, inglesa skills-en/): descoberta pelo registro via provedor oficial, cargas completas via ctx.skills.get(), a ferramenta skill real devolvendo <skill_content> (nomes desconhecidos/inválidos rejeitados), e o catálogo de sessão contendo apenas name + descriptionwhenToUse fica fora do catálogo do modelo (design oficial)
  3. 13 fixtures de frontmatter inválido exercitam as regras oficiais fail-closed (campos ausentes, chaves camel-case legadas, valores não booleanos, nomes não kebab, diretórios aninhados, desajuste de nome); skills em arquivo plano carregam e o aninhado **/SKILL.md não é descoberto
  4. O plugin provedor opcional monta a edição chinesa e a inglesa via ctx.effect(), desmonta limpo e rejeita má configuração (skillsDir vazio ou inexistente) 9–15. Verificações de auto-endurecimento: paridade estrutural zh↔en, cabeamento de referências (sem arquivos pendentes/órfãos), sincronização de versão do provider, ranks de raízes de skills documentados frente às constantes oficiais, padrões grep -E portáveis a POSIX, auto-verificação de segredos, lista de publicação segura em UTF-8 16–19. plugin_vet pelo runtime de ferramentas real: registra-se em ctx.tools; o fixture conforme passa; o fixture sem licença falha e cita dependency-audit §3; o fixture postinstall malicioso falha (scripts/exfil/ofuscação, citando supply-chain-review §1); o portão bloqueia a instalação sob policy: deny
  5. O motor de varredura não tem dependências (apenas builtins node: e imports relativos)
  6. A redação de relatórios mantém os textos com forma de segredo fora do resultado renderizado
# local: resolve automaticamente o checkout do harness junto ao pack, ou aponte-o explicitamente
$env:DSH_HARNESS_CHECKOUT = 'D:\deepseek-harness'
& D:\deepseek-harness\node_modules\.bin\tsx.CMD verify\verify-skill-pack.mts
# All 25 checks passed for dsh-skill-pack-security.

As mesmas 25 verificações rodam no GitHub a cada push via .github/workflows/verify.yml — no Ubuntu e Windows — mais um exercício de install.sh/install.ps1 e um build/pack independente do provider que verifica se o tarball carrega ambas as edições embutidas e o patch do bundle.

Known limitations

  • Não é uma ferramenta de auditoria completa. O plugin_vet é um portão de confiança pré-instalação; não pode substituir uma auditoria manual de ponta a ponta.
  • Somente varredura estática. As sinalizações de padrões maliciosos e manutenção são heurísticas sobre o pacote distribuído, não análise dinâmica.
  • Uma edição por raiz. Skills de mesmo nome em uma raiz se resolvem por rank, então apenas uma edição entra em um catálogo de sessão.

Roadmap

  • dsh-skill-pack-data-engineering — pipelines de dados, qualidade de dados, listas de verificação ETL (mesma plantilla)
  • dsh-skill-pack-oss-collab — etiqueta de PR, triagem de issues, fluxos de mantenedor
  • dsh-skill-pack-performance — metodologia de profiling, critérios de benchmark, listas de regressão
  • Mais skills dentro deste pack (mesmo limite de skill puro): sbom-lifecycle (fluxos de geração/envelhecimento/importação de SBOM), pen-test-review (escopo de compromissos autorizados e revisão de relatórios), compliance-audit (percursos ASVS/NIST-CSF)
  • Mantenha frescos os artefatos de demo do plugin_vet (docs/demos/run-demos.mjs) e precisa a tabela de complementaridade com dsh-plugin-check

Development

pnpm --dir provider run typecheck   # tsc --noEmit
pnpm --dir provider run build       # tsc --noEmitOnError
pnpm --dir provider run prepack     # embebe ambas as edições no tarball
tsx verify/verify-skill-pack.mts    # verificação headless de 25 verificações

Benchmark

O conjunto de regressão de amostras envenenadas (taxa de detecção / FPR / F1 por classe em 38 amostras, mais a lacuna frente a OSV/Socket) está em benchmark/RESULTS.md; regenere-o com pnpm --dir provider run build && node benchmark/run.mjs (zero dependências novas).

Topics

dsh, dsh-plugin, deepseek-harness, skill-pack, skills, security, security-audit, supply-chain, supply-chain-security, prompt-injection

Contributors

  • @PerryLink — autor e mantenedor: as oito skills em ambas as edições, os instaladores, a suíte de verificação, o bundle do provider, CI e a documentação.

Este projeto é um dos 33 plugins de DeepSeek Harness mantidos por PerryLink. Se este ajuda você, os outros provavelmente também:

PluginOne-liner
dsh-dsh-auto-reviewAuto-revisão de segundo modelo na cadeia de aprovação, com falha fechada por padrão
dsh-dsh-background-agentsAgentes filhos em segundo plano duráveis com barra lateral de UI web, mensagens e interrupção
dsh-dsh-budgetGovernança de custos para DeepSeek Harness: orçamentos, carbono e latência em um painel.
dsh-dsh-checkpoint-rewindEquivalente ao /rewind do Claude Code: instantâneos, bifurcações de sessão, restauração de uso único
dsh-dsh-claude-moveMigre sessões, memória, habilidades e CLAUDE.md do Claude Code para o DSH
dsh-dsh-clickControle de desktop nativo multiplataforma para DeepSeek Harness — Windows primeiro.
dsh-dsh-composer-historyHistórico de entrada estilo terminal para o compositor web: setas, busca Ctrl+R
dsh-dsh-data-qualityVerificações de qualidade de datasets e verificação de citações (a ponte numérica opcional consumida aqui)
dsh-dsh-defendDefesa contra injeção de prompt, jailbreak e vazamento de segredos para DeepSeek Harness.
dsh-dsh-doublecheckGuardião de disciplina de engenharia: sabatina de requisitos, portões de teste, revisão adversária
dsh-dsh-drawRoteamento unificado de geração de imagens estáticas para DeepSeek Harness.
dsh-dsh-fastDiagnóstico de desempenho só de leitura para DeepSeek Harness.
dsh-dsh-fund-researchRelatórios de pesquisa deterministas para fundos mútuos públicos chineses
dsh-dsh-githubIntegração de PR/issues do GitHub para o DSH, cada escrita controlada por aprovação
dsh-dsh-industry-researchOrquestração de pesquisa setorial que sela as suas entregas através do ctx.researchReport.assemble deste plugin
dsh-dsh-libraryBase de conhecimento documental local para DeepSeek Harness.
dsh-dsh-local-aiIntegração de modelos locais (Ollama) para DeepSeek Harness.
dsh-dsh-lsp-actionsDiagnósticos, formatação, autocompletar, ações de código e renomeação LSP sobre servidores de linguagem
dsh-dsh-maskMiddleware de mascaramento de PII: anonimiza no limite do modelo, restaura na camada de exibição
dsh-dsh-mcp-panelPainel de tempo de execução MCP somente leitura: comando /mcp + aba Settings com status, ferramentas e erros
dsh-dsh-mementoMemória entre sessões controlada por aprovação: costura ctx.memory + SQLite + ferramenta de memória
dsh-dsh-observeExportador de observabilidade OpenTelemetry e Langfuse para DeepSeek Harness.
dsh-dsh-output-stylesTroca de estilo em tempo de execução equivalente ao outputStyles do Claude Code
dsh-dsh-permission-rulesRegras de permissão declarativas allow/deny/ask estilo Claude Code com auditoria
dsh-dsh-plugin-guideBase de conhecimento de desenvolvimento de plugins como habilidade de agente sob demanda
dsh-dsh-research-reportMotor de relatórios de pesquisa verificáveis com evidência endereçada por conteúdo
dsh-dsh-scorePontuação de qualidade multidimensional para plugins de DeepSeek Harness.
dsh-dsh-session-pinFixe sessões na barra lateral web com ordenação durável
dsh-dsh-session-syncSincronização de sessões entre dispositivos para DeepSeek Harness — um espelho git dedicado do seu armazenamento de sessões.
dsh-dsh-talkLoop de sessão com voz para DeepSeek Harness: fale e ouça a resposta.
dsh-dsh-test-driveTest drives isolados de instalação e smoke para plugins de DeepSeek Harness.
dsh-dsh-translateTradução de parâmetros entre fornecedores e reparo determinístico de JSON para DeepSeek Harness.

License

Apache License 2.0 © 2026 dsh-skill-pack-security contributors

Instalar a partir do mercado do DSH Desktop

Todos os plugins PerryLink podem ser explorados no mercado integrado do DSH Desktop: Market → Sources → add source → colar https://perrylink-dsh-catalog.perrylink.workers.dev/catalog-source.json → selecionar. A instalação continua passando pela verificação de identidade npm do mercado e pela sua confirmação.