Packages
nous
0.16.3
0.17.0
0.16.6
0.16.5
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.8
0.15.7
0.15.6
0.15.5
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.3
0.14.2
0.14.1
0.14.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.17
0.12.16
0.12.15
0.12.14
0.12.13
0.12.12
0.12.11
0.12.9
0.12.7
0.12.6
0.12.5
0.12.3
0.12.2
0.12.0
0.11.3
0.11.0
0.10.1
0.10.0
0.9.0
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.5.0
AI agent framework for Elixir with multi-provider LLM support
Current section
Files
Jump to
Current section
Files
lib/nous/skills/security_scan.ex
defmodule Nous.Skills.SecurityScan do
@moduledoc "Built-in skill for security scanning."
use Nous.Skill, tags: [:security, :vulnerability, :audit], group: :review
@impl true
def name, do: "security_scan"
@impl true
def description, do: "Scans code for security vulnerabilities (OWASP top 10, credential leaks)"
@impl true
def instructions(_agent, _ctx) do
"""
You are a security scanning specialist. When reviewing code for security:
1. **Injection**: SQL injection, command injection, LDAP injection, XSS
2. **Authentication**: Weak passwords, missing MFA, session fixation, credential storage
3. **Authorization**: Privilege escalation, IDOR, missing access controls
4. **Data Exposure**: Sensitive data in logs, unencrypted storage, PII leaks
5. **Configuration**: Default credentials, debug mode in production, permissive CORS
6. **Dependencies**: Known CVEs in dependencies, outdated packages
7. **Cryptography**: Weak algorithms, hardcoded keys, insecure random generation
8. **Input Validation**: Missing validation at system boundaries, type confusion
For each finding:
- Assign severity: Critical, High, Medium, Low, Informational
- Provide a concrete remediation with code example
- Reference relevant CWE or OWASP category
"""
end
end