secure-coding Skill
✓ VerifiziertErzwingt sicherheitsbewusste Coding-Praktiken wie Input-Validierung, Injection-Prävention und Secrets Management während der Codegenerierung.
- GitHub Stars
- 211
- Dateien
- 2
- Letzter Commit
- 24. Okt. 2026
- Lizenz
- MIT
- Erlaubte Tools
- —
Was macht der secure-coding Skill?
secure-coding ist ein Agent Skill. Erzwingt sicherheitsbewusste Coding-Praktiken wie Input-Validierung, Injection-Prävention und Secrets Management während der Codegenerierung.
Zusammenfassung erzeugt aus der SKILL.md des Skills.
Über den secure-coding skill
Dieser SKILL ermöglicht es Entwicklern, bereits während der Codegenerierung ein sicherheitsbewusstes Denken anzuwenden. Der Fokus liegt darauf, eine starke Sicherheitslage aufrechtzuerhalten, indem Trust Boundaries, Input-Validierung und Injection-Prävention erzwungen werden. Wenn ein Agent damit beauftragt wird, User-Input, Authentifizierung, Datenbankabfragen oder externe APIs zu handhaben, sollte er diesen SKILL laden, um sicherzustellen, dass der resultierende Code Sicherheitsstandards wie die OWASP-Prinzipien einhält.
Dieser SKILL ist automatisch in codegenerierende Moleküle wie code-forge, refactor-safely und bug-fix integriert. Er arbeitet mit einer Self-Validation-Checkliste und einem aktiven Anti-Pattern-Scan, um Probleme wie hardcodierte Secrets, SQL-String-Konkatenation und zu weit gefasste Berechtigungen zu finden. Im Gegensatz zu Architektur- oder Clean-Code-Skills steuert dieses Tool spezifisch die Sicherheit des Codes, zum Beispiel indem es sicherstellt, dass Fehlermeldungen keine internen Stacktraces oder Dateipfade preisgeben.
Entwickler können Sicherheitsstandards über eine .lattice/config.yaml Datei anpassen. Dies ermöglicht es, Standard-Sicherheitsdokumente zu überschreiben oder zu ergänzen und Error-Handling-Patterns an spezifische Sprachidiome anzupassen. Der SKILL produziert Code, der Defense-in-Depth und Least-Privilege-Autorisierung priorisiert.
Was ein agent damit machen kann
- 1Sichere CodegenerierungGeneriere neue Code-Komponenten, die externen User-Input verarbeiten und dabei strikte Trust Boundaries einhalten.
- 2Vulnerability ScanningFühre einen Security-Review von bestehendem Code durch, um potenzielle Injection- oder Autorisierungsfehler zu identifizieren.
- 3Durchsetzung von Secrets ManagementIdentifiziere und entferne hardcodierte API-Keys oder Passwörter aus einer Codebase.
- 4Eigene SicherheitsstandardsWende projektspezifische Sicherheitsregeln an, indem du ein benutzerdefiniertes Dokument im Repository-Root konfigurierst.
Geschrieben basierend auf dem SKILL.md des skills. Jeder use case wurde gegen ein zitat daraus geprüft.
So installierst du den secure-coding Skill
Jeder Befehl kopiert den Skill-Ordner in das Skills-Verzeichnis des Clients. Starte den Client neu oder beginne eine neue Session, um ihn zu laden.Den secure-coding Skill in Plugin installieren
/plugin marketplace add techygarg/lattice /plugin install lattice@lattice
Den secure-coding Skill in Claude Code installieren
~/.claude/skills/secure-coding/SKILL.md
$ npx degit techygarg/lattice/skills/secure-coding ~/.claude/skills/secure-codingDen secure-coding Skill in Claude Code (project) installieren
.claude/skills/secure-coding/SKILL.md
$ npx degit techygarg/lattice/skills/secure-coding .claude/skills/secure-codingDen secure-coding Skill in Codex installieren
~/.agents/skills/secure-coding/SKILL.md
$ npx degit techygarg/lattice/skills/secure-coding ~/.agents/skills/secure-codingDen secure-coding Skill in Gemini CLI installieren
~/.gemini/skills/secure-coding/SKILL.md
$ npx degit techygarg/lattice/skills/secure-coding ~/.gemini/skills/secure-codingDen secure-coding Skill in Claude.ai installieren
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
Automatisierte Checks
Geluften am 14. Nov. 2026Vollständiger Bericht →Hat unsere automatischen Prüfungen bestanden. Das ist kein Sicherheitsaudit: Lesen Sie die Skripte, bevor ein Agent sie ausführt. Wie die Checks funktionieren
- Source Repository verknüpft und erreichbartechygarg/lattice/skills/secure-coding is public and reachablegithub.com/techygarg/lattice/tree/HEAD/skills/secure-coding ↗Bestanden
- Open Source Lizenz (OSI)MITspdx.org/licenses/MIT.html ↗Bestanden
- Commit oder Release im letzten JahrLast commit 2026-10-24github.com/techygarg/lattice/commits ↗Bestanden
- Keine Download-und-Ausführen-Muster oder Zugangsdatendiebstahl in SkriptenNo scripts in the skill folderBestanden
- Keine versteckten Anweisungen in SKILL.mdNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/techygarg/lattice/blob/HEAD/skills/secure-coding/ ↗Bestanden
- Vorab erlaubte Tools sind eingeschränktNo pre-approved tools; the agent asks before using onegithub.com/techygarg/lattice/blob/HEAD/skills/secure-coding/ ↗Bestanden
SKILL.md
Auf GitHub ansehenSecure 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.
Dateien in diesem Skill
2secure-coding Skill-Fragen
Wie installiere ich den secure-coding Skill in Claude Code?
Führe npx degit techygarg/lattice/skills/secure-coding ~/.claude/skills/secure-coding aus. Claude Code lädt Skills aus ~/.claude/skills (alle Projekte) oder .claude/skills (ein Projekt) und nutzt einen Skill, wenn seine Beschreibung zur Aufgabe passt.
Welche Clients können den secure-coding Skill nutzen?
Jeder Client, der das Agent Skills-Format liest: Claude Code, Codex, Gemini CLI und claude.ai (als ZIP hochladen). Skripte im Skill laufen nur dort, wo der Client Codeausführung erlaubt.
Was deckt der secure-coding SKILL ab?
Er steuert die Sicherheitslage des generierten Codes mit Fokus auf Trust Boundaries, Input-Validierung, Injection-Prävention, Secrets Management und Defense-in-Depth-Autorisierung.
Wie kann ich die Sicherheitsstandards für mein Projekt anpassen?
Du kannst die Standards anpassen, indem du eine .lattice/config.yaml Datei in deinem Repo-Root erstellst und einen benutzerdefinierten Dokumentenpfad unter paths.secure_coding angibst.