Skip to content
Back to skills

Gate Security

ASecurity

Detects leaked secrets, injection patterns, and sensitive data exposure across changed files. Uses real tooling when configured, LLM judgment for analysis. Internal gate — invoked by verify.

  • 9 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added May 26, 2026
developmentrustgobashsqlgitapisecurity

Works with

  • api

Security analysis

A100/100

Scanned May 27, 2026

npx -y skills add Obsidian-Owl/specwright --skill gate-security --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Gate Security?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Gate Security
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/obsidian-owl-gate-security/badge)](https://www.skillsdirectory.com/skills/obsidian-owl-gate-security)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: gate-security
description: >-
  Detects leaked secrets, injection patterns, and sensitive data exposure
  across changed files. Uses real tooling when configured, LLM judgment
  for analysis. Internal gate — invoked by verify.
allowed-tools:
  - Read
  - Bash
  - Glob
  - Grep
  - Write
---

# Gate: Security

## Goal

Ensure the codebase doesn't leak secrets, introduce injection vulnerabilities,
or expose sensitive data. Use real security tooling when available. Use LLM
judgment for analysis that tools can't do.

## Inputs

- `{projectArtifactsRoot}/config.json` -- `commands.lint`, SAST tool config if available
- `{repoStateRoot}/work/{selectedWork.id}/workflow.json` -- selected work unit
- Changed files (detected via `git diff`)

## Outputs

- Evidence file at `{workDir}/evidence/security-report.md`
- Gate status in the selected work's `workflow.json`
- Findings shown inline with severity, location, and remediation

## Constraints

**Scope (MEDIUM freedom):**
- Focus on changed files. Use `git diff --name-only` against main branch.
- If no changed files detected, check all files in work scope.

**Phase 1 — Detection (LOW freedom, BLOCK severity):**
- Scan for secrets: API keys, tokens, passwords, private keys in source files.
- Scan for .env files, credential files, or key files staged for commit.
- Check .gitignore covers sensitive patterns.
- If a configured SAST tool exists (e.g., `semgrep`, `eslint-plugin-security`), run it.
- Any secret or credential found = BLOCK finding.

**Phase 2 — Analysis (HIGH freedom, WARN severity):**
- Review changed code for injection patterns (SQL, command, XSS, path traversal).
- Check that external data is treated as untrusted (per Constitution security practices).
- Check that authentication/authorization patterns aren't weakened (per Constitution auth/authz practices).
- Findings are WARN unless clearly exploitable (then BLOCK).

**Phase 3 — Logical security (HIGH freedom, WARN severity):**
- Missing authentication (CWE-306): mutation-capable handler functions (HTTP routes, gRPC handlers, GraphQL resolvers) performing state-changing operations without any visible auth check. Only flag when auth is completely absent. Skip if no mutation-capable handler patterns detected in changed files.
- For code-level error handling analysis (CWE-636, CWE-209), defer to gate-semantic which owns those categories with tiered tooling.
- All Phase 3 findings are WARN. Never BLOCK.
- Phase 3 focuses on logical control-flow; defer to Phase 2 when a finding is already captured as an injection pattern.

**Verdict (LOW freedom):**
- Follow `protocols/evidence.md#verdict-rendering`.
- Any BLOCK finding = gate FAIL.
- WARN-only findings = gate WARN (passes but flagged).
- Cite relevant Constitution practices where applicable.

## Protocol References

- `protocols/evidence.md#verdict-rendering` -- verdict rendering
- `protocols/evidence.md` -- evidence storage
- `protocols/state.md` -- gate status updates

## Failure Modes

| Condition | Action |
|-----------|--------|
| No SAST tool configured | Skip tool-based detection, rely on LLM analysis |
| No changed files detected | Scan all project source files |
| SAST tool not installed | WARN finding, suggest installation, continue with LLM |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.