Skill secure-coding
✓ VerifiedMenerapkan praktik coding yang sadar keamanan, termasuk validasi input, pencegahan injection, dan manajemen secrets selama proses code generation.
- Bintang GitHub
- 211
- File
- 2
- Commit terakhir
- 24 Okt 2026
- Lisensi
- MIT
- Tool yang diizinkan
- —
Apa fungsi skill secure-coding?
secure-coding adalah agent skill. Menerapkan praktik coding yang sadar keamanan, termasuk validasi input, pencegahan injection, dan manajemen secrets selama proses code generation.
Ringkasan dibuat dari SKILL.md skill ini.
Tentang skill secure-coding
Skill ini memungkinkan developer untuk menerapkan pola pikir sadar keamanan selama proses code generation. Fokus utamanya adalah menjaga postur keamanan yang kuat dengan menegakkan kesadaran terhadap trust boundary, validasi input, dan pencegahan injection. Saat sebuah agent ditugaskan untuk menangani input user, autentikasi, query database, atau API eksternal, agent tersebut harus memuat skill ini untuk memastikan kode yang dihasilkan mematuhi standar keamanan seperti prinsip OWASP.
Skill ini terintegrasi secara otomatis ke dalam molekul pembuat kode seperti code-forge, refactor-safely, dan bug-fix. Cara kerjanya adalah dengan menjalankan checklist self-validation dan pemindaian anti-pattern aktif untuk menangkap masalah seperti hardcoded secrets, konkatenasi string SQL, dan izin (permissions) yang terlalu luas. Berbeda dengan skill arsitektur atau clean-code, tool ini secara spesifik mengatur keamanan kode, seperti memastikan pesan error tidak membocorkan internal stack traces atau file paths.
Developer dapat menyesuaikan standar keamanan melalui file .lattice/config.yaml. Hal ini memungkinkan Anda untuk menimpa atau menambahkan dokumen keamanan default dan menyesuaikan pola error handling dengan idiom bahasa pemrograman tertentu. Skill ini menghasilkan kode yang memprioritaskan defense-in-depth dan least privilege authorization.
Apa yang bisa dilakukan agent dengannya
- 1Secure code generationMenghasilkan komponen kode baru yang menangani input user eksternal sambil tetap menjaga trust boundaries yang ketat.
- 2Vulnerability scanningMelakukan review keamanan pada kode yang sudah ada untuk mengidentifikasi potensi celah injection atau flaw pada authorization.
- 3Secrets management enforcementMengidentifikasi dan menghapus API keys atau password yang ter-hardcode dari codebase.
- 4Custom security standardsMenerapkan aturan keamanan spesifik proyek dengan mengonfigurasi dokumen kustom di root repository.
Ditulis dari SKILL.md milik skill tersebut. Setiap use case diverifikasi dengan kutipan darinya.
Cara install skill secure-coding
Setiap perintah menyalin folder skill ke direktori skills client. Restart client atau mulai sesi baru untuk memuatnya.Install skill secure-coding di Plugin
/plugin marketplace add techygarg/lattice /plugin install lattice@lattice
Install skill secure-coding di Claude Code
~/.claude/skills/secure-coding/SKILL.md
$ npx degit techygarg/lattice/skills/secure-coding ~/.claude/skills/secure-codingInstall skill secure-coding di Claude Code (project)
.claude/skills/secure-coding/SKILL.md
$ npx degit techygarg/lattice/skills/secure-coding .claude/skills/secure-codingInstall skill secure-coding di Codex
~/.agents/skills/secure-coding/SKILL.md
$ npx degit techygarg/lattice/skills/secure-coding ~/.agents/skills/secure-codingInstall skill secure-coding di Gemini CLI
~/.gemini/skills/secure-coding/SKILL.md
$ npx degit techygarg/lattice/skills/secure-coding ~/.gemini/skills/secure-codingInstall skill secure-coding di 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
Pengecekan otomatis
Berjalan 15 Nov 2026Laporan lengkap →Lolos cek otomatis kami. Ini bukan audit keamanan: baca skripnya sebelum membiarkan agent menjalankannya. Cara kerja checks
- Source repository terhubung dan dapat dijangkautechygarg/lattice/skills/secure-coding is public and reachablegithub.com/techygarg/lattice/tree/HEAD/skills/secure-coding ↗Lolos
- Lisensi open source (OSI)MITspdx.org/licenses/MIT.html ↗Lolos
- Ada commit atau release dalam satu tahun terakhirLast commit 2026-10-24github.com/techygarg/lattice/commits ↗Lolos
- Skrip tanpa unduh-lalu-jalankan atau pencurian kredensialNo scripts in the skill folderLolos
- Tidak ada instruksi tersembunyi di SKILL.mdNo override phrases, safeguard switches, credential requests or hidden charactersgithub.com/techygarg/lattice/blob/HEAD/skills/secure-coding/ ↗Lolos
- Tool yang diizinkan otomatis dibatasiNo pre-approved tools; the agent asks before using onegithub.com/techygarg/lattice/blob/HEAD/skills/secure-coding/ ↗Lolos
- SKILL.md mengikuti format Agent SkillsValid name and description; says when to use it; 68 linesgithub.com/techygarg/lattice/blob/HEAD/skills/secure-coding/ ↗Lolos
SKILL.md
Lihat di 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.
Berkas dalam skill ini
2Pertanyaan seputar skill secure-coding
Bagaimana cara install skill secure-coding di Claude Code?
Jalankan npx degit techygarg/lattice/skills/secure-coding ~/.claude/skills/secure-coding. Claude Code memuat skill dari ~/.claude/skills (semua proyek) atau .claude/skills (satu proyek) dan menggunakan skill saat deskripsinya cocok dengan tugas.
Client mana saja yang bisa menggunakan skill secure-coding?
Client apa pun yang membaca format Agent Skills: Claude Code, Codex, Gemini CLI, dan claude.ai (unggah sebagai ZIP). Script dalam skill hanya berjalan di client yang mengizinkan eksekusi kode.
Apa saja cakupan dari secure-coding skill ini?
Skill ini mengatur postur keamanan dari kode yang dihasilkan, dengan fokus pada trust boundaries, validasi input, pencegahan injection, manajemen secrets, dan defense-in-depth authorization.
Bagaimana cara saya menyesuaikan standar keamanan untuk proyek saya?
Anda dapat menyesuaikan standar dengan membuat file .lattice/config.yaml di root repo Anda dan menentukan path dokumen kustom di bawah paths.secure_coding.