Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

openspec-sync-specs skill: containment check missing for create/update path, only present for delete

Abierto Apto para principiantes
#2,164 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
73/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
node.js, typescript
Área
security, tooling

Línea de trabajo

Lee la skill openspec-sync-specs y su copia reflejada .opencode/skills/openspec-sync-specs/SKILL.md; después, comprueba cómo la skill de archivo invoca este flujo de trabajo. Actualiza las instrucciones de creación y actualización para verificar que el destino y todos sus directorios superiores se resuelvan dentro de la raíz real openspec/specs/ antes de escribir. El trabajo estará terminado cuando la skill aborte si hay directorios de capability enlazados simbólicamente o destinos spec.md fuera de esa raíz.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

What you were trying to do

Running the openspec-sync-specs skill to merge a delta spec into the main spec.

What happened

The skill instructs the agent to write to <planningHome.root>/openspec/specs/<capability-path>/spec.md but only requires a real-path containment check for the special deletion case. If a repository contains a symlink at the capability directory or spec.md pointing outside openspec/specs/, the agent follows it and modifies the external target. The mirrored .opencode/skills/openspec-sync-specs/SKILL.md has the same issue, and the archive skill invokes this workflow inline.

What you expected instead

Before any create or update (not just deletion), the skill should require that the destination and every parent directory resolve inside the real openspec/specs/ root. A symlinked spec.md or capability directory pointing outside openspec/specs/ should cause the skill to abort.

Minimal steps to reproduce

  1. In a repo, create openspec/specs/my-cap/ as a symlink to a directory outside openspec/specs/
  2. Run the openspec-sync-specs skill for a change with a delta for my-cap
  3. The skill follows the symlink and writes outside openspec/specs/

OpenSpec version

1.15.0

Coding agent and model

OpenCode, Claude Sonnet 4.6

OS and Node version

macOS, Node 22

Lenguaje dominante
TypeScript
Estrellas
73k
Forks
5k
Merge medio
2 d 12 h
PR fusionados (30 d)
54

Preparar el entorno

Abrir en Codespaces

Inicia el contenedor de desarrollo del proyecto en tu navegador, con tu propia cuenta de GitHub.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de Fission-AI/OpenSpec

Todos los issues de Fission-AI/OpenSpec

Issues similares

Más issues de TypeScript

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.