Skill secure-coding
✓ VerificadoAplica prácticas de codificación conscientes de la seguridad, incluyendo validación de entradas, prevención de inyecciones y gestión de secretos durante la generación de código.
- Estrellas en GitHub
- 211
- Archivos
- 2
- Último commit
- 24 oct 2026
- Licencia
- MIT
- Herramientas permitidas
- —
¿Qué hace la skill secure-coding?
secure-coding es una agent skill. Aplica prácticas de codificación conscientes de la seguridad, incluyendo validación de entradas, prevención de inyecciones y gestión de secretos durante la generación de código.
Resumen generado a partir del SKILL.md de la skill.
Sobre la skill secure-coding
Esta habilidad permite a los desarrolladores aplicar un pensamiento orientado a la seguridad durante la generación de código. Se enfoca en mantener una postura de seguridad sólida mediante la aplicación de conciencia sobre los límites de confianza, la validación de entradas y la prevención de inyecciones. Cuando un agente tiene la tarea de manejar entradas de usuario, autenticación, consultas a bases de datos o APIs externas, debe cargar este SKILL para asegurar que el código resultante cumpla con estándares de seguridad como los principios de OWASP.
Este SKILL se integra automáticamente en moléculas de generación de código como code-forge, refactor-safely y bug-fix. Funciona ejecutando una lista de verificación de autovalidación y un escaneo activo de anti-patrones para detectar problemas como secretos hardcodeados, concatenación de strings en SQL y permisos excesivamente amplios. A diferencia de los SKILL de arquitectura o clean-code, esta herramienta gobierna específicamente la seguridad del código, como asegurar que los mensajes de error no filtren trazas de stack internas o rutas de archivos.
Los desarrolladores pueden personalizar los estándares de seguridad a través de un archivo .lattice/config.yaml. Esto permite sobrescribir o superponer documentos de seguridad predeterminados y adaptar los patrones de manejo de errores a los modismos específicos de cada lenguaje. El SKILL produce código que prioriza la defensa en profundidad y la autorización de mínimo privilegio.
Lo que un agente puede hacer con ella
- 1Generación de código seguroGenera nuevos componentes de código que manejen entradas de usuario externas manteniendo límites de confianza estrictos.
- 2Escaneo de vulnerabilidadesRealiza una revisión de seguridad en código existente para identificar posibles fallos de inyección o de autorización.
- 3Cumplimiento de gestión de secretosIdentifica y elimina claves de API o contraseñas hardcodeadas de una base de código.
- 4Estándares de seguridad personalizadosAplica reglas de seguridad específicas del proyecto configurando un documento personalizado en la raíz del repositorio.
Escrito a partir del SKILL.md de la skill. Cada caso de uso se verifica con una cita del mismo.
Cómo instalar la skill secure-coding
Cada comando copia la carpeta de la skill al directorio de skills del cliente. Reinicia el cliente o inicia una nueva sesión para cargarla.Instalar la skill secure-coding en Plugin
/plugin marketplace add techygarg/lattice /plugin install lattice@lattice
Instalar la skill secure-coding en Claude Code
~/.claude/skills/secure-coding/SKILL.md
$ npx degit techygarg/lattice/skills/secure-coding ~/.claude/skills/secure-codingInstalar la skill secure-coding en Claude Code (project)
.claude/skills/secure-coding/SKILL.md
$ npx degit techygarg/lattice/skills/secure-coding .claude/skills/secure-codingInstalar la skill secure-coding en Codex
~/.agents/skills/secure-coding/SKILL.md
$ npx degit techygarg/lattice/skills/secure-coding ~/.agents/skills/secure-codingInstalar la skill secure-coding en Gemini CLI
~/.gemini/skills/secure-coding/SKILL.md
$ npx degit techygarg/lattice/skills/secure-coding ~/.gemini/skills/secure-codingInstalar la skill secure-coding en Claude.ai
npx degit techygarg/lattice/skills/secure-coding secure-coding && zip -r secure-coding.zip secure-coding # claude.ai → Customize → Skills → + → Create skill → Upload a skill → secure-coding.zip
Verificaciones automáticas
Ejecutado 15 nov 2026Informe completo →Superó nuestras comprobaciones automáticas. No es una auditoría de seguridad: lee los scripts antes de dejar que un agente los ejecute. Cómo funcionan las verificaciones
- Repositorio de origen vinculado y accesibletechygarg/lattice/skills/secure-coding is public and reachablegithub.com/techygarg/lattice/tree/HEAD/skills/secure-coding ↗Aprobado
- Licencia de código abierto (OSI)MITspdx.org/licenses/MIT.html ↗Aprobado
- Commit o lanzamiento en el último añoLast commit 2026-10-24github.com/techygarg/lattice/commits ↗Aprobado
- Sin descargar y ejecutar ni robo de credenciales en los scriptsNo scripts in the skill folderAprobado
- Sin instrucciones ocultas en SKILL.mdNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/techygarg/lattice/blob/HEAD/skills/secure-coding/ ↗Aprobado
- Las herramientas preaprobadas están acotadasNo pre-approved tools; the agent asks before using onegithub.com/techygarg/lattice/blob/HEAD/skills/secure-coding/ ↗Aprobado
- SKILL.md sigue el formato de Agent SkillsValid name and description; says when to use it; 68 linesgithub.com/techygarg/lattice/blob/HEAD/skills/secure-coding/ ↗Aprobado
SKILL.md
Ver en GitHubSecure Coding
Config Resolution
Projects can customize this skill's standards. Resolution order:
- Read
.lattice/config.yamlin the repo root. - If found, check
paths.secure_codingfor a custom document path. - If a custom document exists at that path, read it and check its YAML frontmatter for
mode:mode: override: the custom document has full precedence. Use it instead of the embedded defaults. It must be comprehensive -- treat it as the sole reference.mode: overlay(or no mode field): read the embedded./references/defaults.mdfirst, then apply the custom document's sections on top. A custom section replaces the matching default section (matched by exact heading); new sections append after the defaults.
- If a custom path is configured but no document exists at it → tell the user which configured path is missing, then fall back to
./references/defaults.md. - If there is no config file or no
paths.secure_codingkey, read./references/defaults.md. - Language adaptation: if
paths.language_idiomsis set in the config and the document exists, read its "Error Handling" section and adapt §2 (Input Validation Patterns) error-message patterns to the language's idioms. Language idioms take precedence over the pseudocode defaults.
Self-Validation Checklist
STOP after generating each component. Verify ALL checks before proceeding. A check clearly fails → fix the code before presenting. A check is a judgment call with multiple valid approaches (see Ambiguity Signals) → flag it -- present options and reasoning rather than silently choosing.
- TRUST BOUNDARIES: Where does trusted code meet untrusted data? Are all boundaries explicitly identified?
- INPUT VALIDATION: Is every external input validated at the boundary with an allowlist before it reaches business logic?
- QUERY SAFETY: Are all database queries parameterized? Is any string concatenation used in query building?
- COMMAND SAFETY: Is there any shell/command execution? If so, is the input strictly allowlisted?
- SECRETS: Are there API keys, passwords, tokens, or connection strings in code? If so → move them to environment variables or a secret manager.
- OUTPUT ENCODING: Is output encoded appropriately for its render context (HTML, JSON, URL)?
- AUTHORIZATION: Is authorization verified at the service layer, not just the controller? Does every endpoint enforce least privilege?
- ERROR MESSAGES: Do error messages exposed to users avoid revealing internal detail (stack traces, SQL queries, file paths)?
- DEPENDENCIES: Is each new third-party package necessary? Are versions pinned or constrained? Is any known-vulnerable package being added?
All checks pass → state "Passes secure-coding. [next step]."
Active Anti-Pattern Scan
STOP: After verifying the checklist above, scan the output for each anti-pattern below. Any box you can check → fix before presenting the code.
- Trust All Input: no validation on request parameters; data flows straight into business logic → validate at the boundary with an allowlist.
- SQL String Concatenation: user input interpolated into a SQL query → use a parameterized query or ORM query builder.
- Hardcoded Secrets: API key, password, or token in source code → use an env var or secret manager.
- Missing Authorization: auth checked at login but not re-verified at the service or resource level → check at every layer.
- Overly Broad Permissions: admin access granted where read-only suffices → apply least privilege.
- Unvalidated Redirects: a user-controlled URL used in a redirect → allowlist permitted destinations.
- Verbose Error Messages: stack trace or SQL in an API response → return a generic message; log details server-side.
- Logging Sensitive Data: passwords, tokens, or PII in log files → log the event, not the value; mask sensitive fields.
Ambiguity Signals
Checks here often have multiple valid outcomes. When you encounter one, present the options rather than silently choosing. If framework:collaborative-judgment is loaded, use its presentation format.
- Trust Boundary Scope: an internal API behind a trusted gateway may or may not need full boundary validation.
- Error Message Detail: how much detail is "actionable but safe" depends on whether the consumer is a human user, a frontend client, or an internal service.
- Validation Depth: whether to re-validate at inner layers (defense-in-depth) or trust boundary validation alone.
- Auth vs Authz Failure Response: whether to return 401 (not authenticated) or 403 (not authorized) depends on whether the identity is known.
Core Principle
Govern the security posture of generated code -- trust boundaries, input validation, injection prevention, secrets, authorization.
Boundary with clean-code: clean-code governs error-message craft; this skill governs what error messages must not reveal (internal detail).
Boundary with architecture: architecture defines where checks live (service layer, not controller); this skill defines what to check (identity confirmed, permission granted, resource owned).
See ./references/defaults.md.
Archivos de esta skill
2Preguntas sobre la skill secure-coding
¿Cómo instalo la skill secure-coding en Claude Code?
Ejecuta npx degit techygarg/lattice/skills/secure-coding ~/.claude/skills/secure-coding. Claude Code carga las skills desde ~/.claude/skills (todos los proyectos) o .claude/skills (un proyecto) y usa una skill cuando su descripción coincide con la tarea.
¿Qué clientes pueden usar la skill secure-coding?
Cualquier cliente que lea el formato Agent Skills: Claude Code, Codex, Gemini CLI y claude.ai (subir como ZIP). Los scripts de la skill se ejecutan solo donde el cliente permite la ejecución de código.
¿Qué cubre el SKILL de secure-coding?
Gobierna la postura de seguridad del código generado, centrándose en límites de confianza, validación de entradas, prevención de inyecciones, gestión de secretos y autorización de defensa en profundidad.
¿Cómo puedo personalizar los estándares de seguridad para mi proyecto?
Puedes personalizar los estándares creando un archivo .lattice/config.yaml en la raíz de tu repositorio y especificando una ruta de documento personalizada bajo paths.secure_coding.