Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Comprehensive security analysis and vulnerability detection
.claude/skills/miosa-osa-security-auditor/SKILL.md| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-08 | ✗→✓ | ▲ Improved | 26% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 51% | 0% |
| case-11 | ✗→✓ | ▲ Improved | -27% | 0% |
| case-12 | ✗→✓ | ▲ Improved | 64% | 0% |
| case-13 | ✗→✓ | ▲ Improved | -6% | 0% |
This skill activates when:
.env*, *secret*, *credential*, Dockerfile, *.tf, *security*Identify the security surface and project characteristics.
Actions:
1. Detect project type and languages
2. Identify sensitive file patterns
3. Check for existing security configurations
4. Review .gitignore for security patternsRun static code analysis for vulnerabilities.
Tools:
- Semgrep: Multi-language SAST
- Bandit: Python-specific security
- ESLint security plugin: JavaScript/TypeScript
- Gosec: Go security
Rulesets:
- p/security-audit
- p/owasp-top-ten
- p/secrets
- p/sql-injection
- p/xssCheck for vulnerable dependencies.
Tools:
- Trivy: Universal vulnerability scanner
- npm audit: Node.js dependencies
- pip-audit: Python dependencies
- OSV-Scanner: Cross-language CVE database
Focus:
- Known CVEs (Critical/High priority)
- Outdated packages
- License complianceFind exposed credentials and sensitive data.
Tools:
- Gitleaks: Fast secret detection
- TruffleHog: Verified secret scanning
Patterns:
- AWS credentials (AKIA...)
- API keys
- Private keys
- Database connection strings
- JWT tokensAnalyze security configurations.
Checks:
- Security headers (HSTS, CSP, X-Frame-Options)
- CORS configuration
- Cookie security flags
- TLS configuration
- Authentication settingsGenerate prioritized findings report.
Format:
- SARIF for tool integration
- Markdown for human review
- CVSS scoring
- OWASP Top 10 mapping
- CWE correlation| Category | Checks | |----------|--------| | A01 Broken Access Control | Authorization checks, IDOR, CORS | | A02 Cryptographic Failures | TLS, encryption, key management | | A03 Injection | SQLi, XSS, Command injection | | A04 Insecure Design | Threat modeling, secure patterns | | A05 Security Misconfiguration | Headers, defaults, errors | | A06 Vulnerable Components | Dependencies, CVEs | | A07 Auth Failures | Session, passwords, MFA | | A08 Data Integrity | Signatures, CI/CD security | | A09 Logging Failures | Audit logs, sensitive data | | A10 SSRF | URL validation, network segmentation |
| Severity | CVSS | Response Time | Examples | |----------|------|---------------|----------| | CRITICAL | 9.0+ | Immediate | RCE, Active exploit, Secrets | | HIGH | 7.0-8.9 | 24 hours | SQLi, XSS, Auth bypass | | MEDIUM | 4.0-6.9 | 7 days | Info disclosure, CSRF | | LOW | 0.1-3.9 | 30 days | Minor misconfig |
json{ "finding_id": "SEC-001", "severity": "CRITICAL", "cvss": 9.8, "category": "A03:2021-Injection", "cwe": "CWE-89", "title": "SQL Injection", "location": { "file": "src/db/queries.ts", "line": 45, "column": 12 }, "description": "User input directly interpolated in SQL query", "evidence": "const query = `SELECT * FROM users WHERE id = ${userId}`", "remediation": "Use parameterized queries with prepared statements", "references": [ "https://owasp.org/www-community/attacks/SQL_Injection", "https://cwe.mitre.org/data/definitions/89.html" ] }
markdown# Security Audit Summary ## Risk Assessment: HIGH ## Findings Overview | Severity | Count | Categories | |----------|-------|------------| | Critical | 2 | A03, A06 | | High | 5 | A01, A02, A07 | | Medium | 8 | A05, A09 | | Low | 3 | A05 | ## Critical Issues (Immediate Action) 1. SQL Injection in user input handling 2. Hardcoded AWS credentials ## Recommendations 1. Fix critical issues within 24 hours 2. Update vulnerable dependencies 3. Add security headers 4. Implement proper secret management
@dependency-analyzer: Deep SCA analysis@code-reviewer: Security-focused code review@devops-engineer: Infrastructure security@master-orchestrator: Status updatesAfter completing security audits:
/mem-save pattern "SQL injection pattern in TypeScript template literals"
/mem-save solution "Remediated XSS by switching to React's built-in escaping"
/mem-save decision "Adopted parameterized queries project-wide"| Case | Status | Duration (ms) | Turns | Tokens | Tool calls | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Without | With | Δ | Without | With | Δ | Without | With | Δ | Without | With | Δ | ||
case-01 | fail→fail | 6,689 | 16,131 | +141% | 1 | 1 | 0% | 1,139 | 2,833 | +149% | 0 | 0 | — |
case-02 | fail→fail | 9,970 | 30,625 | +207% | 1 | 1 | 0% | 1,605 | 3,173 | +98% | 0 | 0 | — |
case-03 | fail→fail | 12,511 | 12,137 | -3% | 1 | 1 | 0% | 1,250 | 2,322 | +86% | 0 | 0 | — |
case-04 | fail→fail | 7,288 | 8,729 | +20% | 1 | 1 | 0% | 541 | 1,954 | +261% | 0 | 0 | — |
case-05 | fail→fail | 22,569 | 33,387 | +48% | 1 | 1 | 0% | 3,421 | 5,874 | +72% | 0 | 0 | — |
case-06 | fail→fail | 15,028 | 24,564 | +63% | 1 | 1 | 0% | 2,296 | 6,038 | +163% | 0 | 0 | — |
case-07 | pass→pass | 22,052 | 21,034 | -5% | 1 | 1 | 0% | 3,085 | 4,740 | +54% | 0 | 0 | — |
case-08 | fail→pass | 15,288 | 10,701 | -30% | 1 | 1 | 0% | 2,593 | 3,262 | +26% | 0 | 0 | — |
case-09 | pass→pass | 17,905 | 20,366 | +14% | 1 | 1 | 0% | 3,024 | 4,318 | +43% | 0 | 0 | — |
case-10 | fail→pass | 50,399 | 45,919 | -9% | 1 | 1 | 0% | 1,924 | 2,907 | +51% | 0 | 0 | — |
case-11 | fail→pass | 145,440 | 18,670 | -87% | 1 | 1 | 0% | 2,525 | 1,848 | -27% | 0 | 0 | — |
case-12 | fail→pass | 8,920 | 4,021 | -55% | 1 | 1 | 0% | 1,210 | 1,988 | +64% | 0 | 0 | — |
case-13 | fail→pass | 16,032 | 66,719 | +316% | 1 | 1 | 0% | 2,238 | 2,095 | -6% | 0 | 0 | — |
case-14 | pass→pass | 6,504 | 8,097 | +24% | 1 | 1 | 0% | 1,194 | 2,935 | +146% | 0 | 0 | — |
case-15 | pass→pass | 7,539 | 10,047 | +33% | 1 | 1 | 0% | 957 | 2,906 | +204% | 0 | 0 | — |
case-16 | pass→pass | 5,006 | 5,251 | +5% | 1 | 1 | 0% | 780 | 2,507 | +221% | 0 | 0 | — |
case-17 | pass→pass | 18,822 | 25,165 | +34% | 1 | 1 | 0% | 3,150 | 4,047 | +28% | 0 | 0 | — |
case-18 | fail→fail | 20,411 | 27,060 | +33% | 1 | 1 | 0% | 3,403 | 4,351 | +28% | 0 | 0 | — |
case-19 | pass→pass | 14,978 | 4,196 | -72% | 1 | 1 | 0% | 2,009 | 1,827 | -9% | 0 | 0 | — |
case-20 | pass→pass | 25,688 | 17,432 | -32% | 1 | 1 | 0% | 2,948 | 3,565 | +21% | 0 | 0 | — |
case-21 | fail→pass | 49,063 | 23,800 | -51% | 1 | 1 | 0% | 2,725 | 3,027 | +11% | 0 | 0 | — |
case-22 | pass→pass | 145,866 | 32,572 | -78% | 1 | 1 | 0% | 985 | 1,926 | +96% | 0 | 0 | — |
DecimalAI ran this skill against gemini-3.6-flash twice over the same eval suite — once with the skill loaded and once without — and compared the two runs case by case. 22 cases were attempted. The headline lift of +27 percentage points is the difference between those two pass rates over the 22 comparable cases. 1 case got worse with the skill loaded, and it is included in that figure.
Without the skill loaded, the model failed this case. With it loaded, the same prompt on the same model passed. This is one improved case from the latest verified run; every case, including any that regressed, is in the table above.
Other measured skills in the registry, with their headline benchmark lift.