static-vulnerability-detector — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited static-vulnerability-detector (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Analyze code for security vulnerabilities with CWE classification and severity assessment.
Systematically examine code for vulnerability patterns:
Memory Safety (C/C++):
Injection Vulnerabilities:
Authentication & Authorization:
Cryptographic Issues:
Deserialization:
Input Validation:
For each vulnerability category, identify:
Dangerous Functions:
strcpy, sprintf, gets, scanfpickle.loads, eval, execos.system, subprocess with shell=TrueUnsafe Patterns:
Context Analysis:
Assign severity based on:
CRITICAL:
HIGH:
MEDIUM:
LOW:
Assess confidence in finding:
HIGH: Clear vulnerability pattern, no mitigating factors MEDIUM: Vulnerability likely but context unclear LOW: Potential issue requiring manual verification
Structure findings as:
## Vulnerability: [Title]
**ID**: VULN-[number]
**CWE**: CWE-[ID]
**Severity**: [CRITICAL/HIGH/MEDIUM/LOW]
**Confidence**: [HIGH/MEDIUM/LOW]
**Location**: [File:Line]
### Description
[What the vulnerability is]
### Code Snippet[vulnerable code]
### Impact
- [Potential consequences]
### Remediation[fixed code]
### References
- [CWE link]
- [OWASP reference]Buffer Overflow (CWE-119):
// VULNERABLE
char buf[10];
strcpy(buf, user_input); // No bounds checkUse-After-Free (CWE-416):
// VULNERABLE
free(ptr);
ptr->field = value; // Use after freeSQL Injection (CWE-89):
# VULNERABLE
query = f"SELECT * FROM users WHERE id = {user_id}"
cursor.execute(query)Command Injection (CWE-78):
# VULNERABLE
os.system("ping " + user_host)XSS (CWE-79):
// VULNERABLE
element.innerHTML = user_input;Missing Authentication (CWE-306):
# VULNERABLE
@app.route('/admin')
def admin_panel():
return render_template('admin.html') # No auth checkHard-coded Credentials (CWE-798):
# VULNERABLE
PASSWORD = "admin123"
API_KEY = "sk-1234567890"Weak Algorithm (CWE-327):
# VULNERABLE
hash = hashlib.md5(password.encode()).hexdigest()Weak Random (CWE-330):
# VULNERABLE
token = random.randint(1000, 9999) # For security tokenUntrusted Data (CWE-502):
# VULNERABLE
obj = pickle.loads(user_data) # RCE possiblePath Traversal (CWE-22):
# VULNERABLE
with open(f'/uploads/{filename}', 'r') as f: # ../../../etc/passwd
content = f.read()SSRF (CWE-918):
# VULNERABLE
response = requests.get(user_url) # Can access internal servicesTrack tainted data from source to sink:
Sources (user input):
Sinks (dangerous operations):
Sanitization (check for):
Dangerous function calls:
Missing security controls:
Weak configurations:
For detailed vulnerability patterns and remediation, see cwe_patterns.md.
Key CWE categories:
# Security Vulnerability Report
**Scan Date**: [Date]
**Code Base**: [Project]
**Total Findings**: [Count]
## Severity Breakdown
- Critical: [Count]
- High: [Count]
- Medium: [Count]
- Low: [Count]For each vulnerability:
Prioritized action items:
For complete vulnerability detection examples including:
See examples.md.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.