ci: preparar análisis estático aislado del repositorio
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 1/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- github-actions, javascript, typescript
Línea de trabajo
Start by reviewing the proposed files under .github/security-drafts/ and the pinned Semgrep CE and zizmor versions. The issue reports local validation of candidate 7b54a97d2310538ac226711a9fb585ca57a4b020, including 24 zizmor entrypoint tests and an offline CLI run; inspect those checks and the reported safeguards. Done means the isolated CLI and inactive workflow are delivered with UNPUBLISHED_REVIEW_REQUIRED; publishing a trusted baseline and activating it are separate decisions.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Pre-flight checks
- I searched existing issues and found no duplicate.
- I understand that this proposal requires product review before implementation.
El asistente consultó issues abiertas y cerradas; #82 cubre CI/tests y Gitleaks, no este nuevo alcance. El mantenedor confirmó directamente la declaración de comprensión, aprobó este alcance y autorizó crear esta issue con status:approved. La implementación fue preparada y verificada localmente con autorización previa; esta issue registra su entrega, no una aprobación retroactiva inferida.
Problem to solve
La CI existente comprueba tests/build y secretos, pero no añade una capa que inspeccione blobs Git como datos con política de repositorio, cobertura independiente y análisis estático aislado. Ejecutar herramientas/configuración del checkout objetivo como si fueran confiables ampliaría el riesgo de analizar una PR.
Proposed solution
Publicar las herramientas revisadas para una futura baseline confiable: checker de política, exportación Git e inventario/hash, precheck de parseo JS/TS, Semgrep CE 1.180.0 y zizmor 1.30.1 fijados, provisionado verificado de 67 artefactos, contenedores offline y normalización de avisos sin snippets ni mensajes del scanner.
Entregar una CLI y un workflow todavía inactivo en .github/security-drafts/, con bloqueo UNPUBLISHED_REVIEW_REQUIRED. La baseline deberá fijarse a un SHA publicado y revisado antes de una adopción autorizada aparte.
Affected area
CI or automation
Scope and non-goals
- Infracciones de política, fallos operativos y cobertura desconocida bloquean; hallazgos de scanners son avisos contextuales.
- Excepciones binarias únicamente por ruta/hash aprobados; no constituyen garantía de benignidad.
- El único ajuste de aplicación es la regexp equivalente de ProviderLogo autorizada y cubierta por pruebas.
- No se modifican los workflows activos de CI, Gitleaks ni Release. Sin merge automático, activación, cambios de visibilidad/protecciones, secretos, firma o release.
- No se certifican ausencia general de malware, Rust/dataflow/exfiltración ni portabilidad del scanner a Windows.
Validación local del candidato 7b54a97d2310538ac226711a9fb585ca57a4b020: 219 tests frontend, 145 Node, typecheck/build correctos; 24 pruebas Python del entrypoint zizmor verificadas independientemente. Política correcta y CLI offline real: 87 fuentes JS/TS y 3 workflows, cero hallazgos y limpieza comprobada. Los artefactos usados fueron revalidados por tamaño y SHA-256. No equivale a una ejecución de este workflow en GitHub.
Las revisiones nativas se cerraron por unidades. El corte inicial incompleto de zizmor fue rechazado; se preservó su autoridad y se recuperó con el auditor completo y sus pruebas, aprobado posteriormente. No se atribuye TDD a pruebas añadidas tras la implementación.
El mantenedor eligió una sola PR, conservando los commits revisados y aceptando la mayor carga de revisión: 44 archivos, 4.249 adiciones y 2 eliminaciones. Las PR usarán Refs sin cierre automático de esta issue. La integración y la activación siguen siendo decisiones independientes.
Alternatives considered
Se evaluaron PR encadenadas; el mantenedor eligió una PR única. Se descartó aceptar cobertura sólo porque el scanner devolviera éxito, ejecutar código del target o activar un workflow sin baseline confiable. No se recortaron pruebas para reducir el diff. El rollback de una futura adopción retiraría esta capa mediante un cambio revisado, sin alterar CI/Gitleaks/Release existentes.
- Lenguaje dominante
- TypeScript
- Estrellas
- 10
- Forks
- 2
- Merge medio
- 1 h 17 min
- PR fusionados (30 d)
- 53
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de egdev6/quorb
-
feat(widget): dockear al monitor principal por defecto y avisar si el widget queda en otro displayAbierto
Dificultad 3/5 1-2 días Aptitud para principiantes 35/100
egdev6/quorb#113 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
odd type:feature
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
Los mantenedores suelen responder en 1 día
-
odd type:feature
Dificultad 4/5 3-5 días Aptitud para principiantes 15/100
Los mantenedores suelen responder en 1 día
-
odd type:feature
Dificultad 4/5 3-5 días Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
odd type:chore
Dificultad 5/5 Más de una semana Aptitud para principiantes 22/100
egdev6/quorb#105 · 1 comentario ·
Los mantenedores suelen responder en 1 día
Todos los issues de egdev6/quorb
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
callstackincubator/simlock#639 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
aws/agentcore-cli#2606 ·
Los mantenedores suelen responder en 1 día
-
ai-driven-qa bug Cosmetic
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
Los mantenedores suelen responder en 1 día
-
ai-driven-qa bug claude Minor
Dificultad 2/5 1-3 horas Aptitud para principiantes 64/100
linagora/twake-mail-admin#301 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día