Back to skills
SKILL.md
Verify Security
ASecuritySecurity verification gate. Scans code for vulnerabilities, detects dangerous patterns, and ensures security decisions are documented. Use when the user mentions security scans, vulnerability detection, security audits, code security, OWASP, injection detection, or sensitive-data leaks. Auto-triggers for new modules, security-related changes, offensive/defensive tasks, and completed refactors.
- 3 stars
- 0 votes
- 0 copies
- 2 views
- Added September 5, 2026
Works with
Security analysis
100/100Pro scans all 2 files and shows the line behind each finding
npx -y skills add me-cedric/agent-compass --skill verify-security --agent claude-codeAre you the author of Verify Security?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/me-cedric-verify-security)---
name: verify-security
description: Security verification gate. Scans code for vulnerabilities, detects dangerous patterns, and ensures security decisions are documented. Use when the user mentions security scans, vulnerability detection, security audits, code security, OWASP, injection detection, or sensitive-data leaks. Auto-triggers for new modules, security-related changes, offensive/defensive tasks, and completed refactors.
license: MIT
compatibility: node>=18
user-invocable: true
disable-model-invocation: false
allowed-tools: Bash, Read, Grep
argument-hint: <scan-path>
risk_level: medium
writes_files: false
requires_tools: []
---
# β Verification Gate Β· Security
## Core principle
```
Security is the foundation; a breach sinks the release.
Security decisions must be traceable.
Critical/High findings must be fixed before delivery.
```
## Automatic scan
Run the security scanner script (cross-platform):
```bash
# from the skill directory
node scripts/security_scanner.cjs <scan-path>
node scripts/security_scanner.cjs <scan-path> -v # verbose mode
node scripts/security_scanner.cjs <scan-path> --json # JSON output
node scripts/security_scanner.cjs <scan-path> --exclude vendor # exclude a directory
```
## Coverage
### Vulnerability classes detected
| Class | Checks | Severity |
|------|--------|--------|
| **Injection** | SQL injection, command injection, code injection | π΄ Critical |
| **Secrets** | Hardcoded keys, AWS keys, private keys | π΄ Critical |
| **XSS** | innerHTML, dangerouslySetInnerHTML | π High |
| **Deserialization** | pickle.loads, yaml.load | π High |
| **Path traversal** | Unvalidated file-path operations | π High |
| **SSRF** | Unvalidated URL requests | π High |
| **XXE** | Unsafe XML parsing | π High |
| **Weak crypto** | MD5/SHA1 in security contexts | π‘ Medium |
| **Insecure randomness** | Non-crypto RNG in security contexts | π‘ Medium |
| **Debug code** | console.log, print, debugger | π΅ Low |
### Documentation-level checks
Security-relevant code must be recorded in DESIGN.md:
- [ ] **Threat model** β which attacks are defended against
- [ ] **Security decisions** β why this approach was chosen
- [ ] **Security boundaries** β where the trust boundaries sit
- [ ] **Accepted risks** β which risks were consciously accepted
## Dangerous-pattern quick reference
### Python
```python
# π΄ Dangerous
eval(), exec(), os.system()
subprocess(..., shell=True)
pickle.loads(), yaml.load()
cursor.execute(f"SELECT * FROM t WHERE id = {id}")
# β
Safe alternative
ast.literal_eval()
subprocess([...], shell=False)
yaml.safe_load()
cursor.execute("SELECT * FROM t WHERE id = %s", (id,))
```
### JavaScript
```javascript
// π΄ Dangerous
eval(), innerHTML, document.write()
new Function(userInput)
// β
Safe alternative
JSON.parse(), textContent
template engines with auto-escaping
```
### Go
```go
// π΄ Dangerous
exec.Command("sh", "-c", userInput)
template.HTML(userInput)
// β
Safe alternative
exec.Command("cmd", args...)
html/template auto-escaping
```
## Verification flow
```
1. Run security_scanner.cjs
2. Review findings, sorted by severity
3. Check that security decisions are documented
4. Emit the security report
5. Critical/High findings must be fixed before delivery
```
## Auto-trigger moments
| Scenario | Trigger |
|------|----------|
| New module | When module creation completes |
| Security-related change | Auth, authorization, crypto, input handling |
| Offensive/defensive task | When a red/blue-team task completes |
| Refactor done | When a refactoring task completes |
| Pre-commit | Before committing code |
## Report format
```
## Security Verification Report
β pass | β fail
- π΄ Critical: N
- π High: N
- π‘ Medium: N
- π΅ Low: N
### Findings
| File | Line | Kind | Severity | Description |
|------|------|------|--------|------|
| ... | ... | ... | ... | ... |
### Verdict
Deliverable / fix before delivery
```
---
Files in this skill
- SKILL.md
- scripts/security_scanner.cjs
Attribution
Comments
Loading commentsβ¦
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.