autoresearch
Autonomous experiment loop for optimization research. Use when the user wants to: - Optimize a metric through systematic…
Validate security findings from commit-security-scan by assessing exploitability, filtering false positives, and generating proof-of-concept exploits. Use after running commit-security-scan to confirm vulnerabilities.
$ npx -y skills add factory-ai/factory-plugins --skill vulnerability-validation --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/vulnerability-validationContext preview
The summary Claude sees to decide when to auto-load this skill.
Validate security findings from commit-security-scan by assessing exploitability, filtering false positives, and generating proof-of-concept exploits. Use after running commit-security-scan to confirm vulnerabilities.
name: vulnerability-validation description: Validate security findings from commit-security-scan by assessing exploitability, filtering false positives, and generating proof-of-concept exploits. Use after running commit-security-scan to confirm vulnerabilities. version: 1.0.0 tags: [security, validation, exploitability]
Validate security findings by assessing whether they are actually exploitable in the context of this codebase. This skill filters false positives, confirms real vulnerabilities, and generates proof-of-concept exploits.
| Input | Description | Required | Default | | --------------- | ------------------------------------------------ | -------- | -------------------------- | | Findings file | Path to `security-findings.json` | Yes | `security-findings.json` | | Threat model | Path to threat model | No | `.factory/threat-model.md` | | Finding IDs | Specific findings to validate (comma-separated) | No | All findings | | Severity filter | Only validate findings at or above this severity | No | All severities |
Follow these steps for each finding to validate:
1. Read `security-findings.json` from `commit-security-scan` 2. Read `.factory/threat-model.md` for system context 3. Identify which findings to validate based on inputs
For each finding, determine if the vulnerable code is reachable:
1. **Trace entry points**
2. **Map the call chain**
3. **Classify reachability**
Determine if an attacker can control the vulnerable input:
1. **Identify the source**
2. **Trace data flow**
3. **Assess attacker control**
Check if existing security controls prevent exploitation:
1. **Input validation**
2. **Framework protections**
3. **Security middleware**
4. **Reference threat model**
Determine how difficult it is to exploit:
| Rating | Criteria | | ----------------- | ------------------------------------------------------------------- | | `EASY` | No special conditions, standard tools, publicly known technique | | `MEDIUM` | Requires specific conditions, timing, or chained vulnerabilities | | `HARD` | Requires insider knowledge, rare conditions, or advanced techniques | | `NOT_EXPLOITABLE` | Theoretical vulnerability but not practically exploitable |
Consider:
For confirmed vulnerabilities, create a proof-of-concept:
1. **Craft exploit payload**
2. **Document the request**
3. **Describe expected vs actual behavior**
Example PoC structure:
{
"payload": "' OR '1'='1",
"request": "GET /api/users?search=' OR '1'='1",
"expected_behavior": "Returns users matching search term",
"actual_behavior": "Returns all users due to SQL injection"
}Assign a CVSS 3.1 score based on:
| Metric | Options | | ------------------------ | -------------------------------------------------- | | Attack Vector (AV) | Network (N), Adjacent (A), Local (L), Physical (P) | | Attack Complexity (AC) | Low (L), High (H) | | Privilege
Official Factory plugins marketplace containing curated skills, droids, and tools.
Autonomous experiment loop for optimization research. Use when the user wants to: - Optimize a metric through systematic…
Create a pull request with Conventional Commits formatting, a templated body, and local verification. Use when the user asks to…
Follow up on an existing PR by rebasing on the base branch, addressing reviewer comments, fixing CI issues, and pushing updates.…
Intercept and debug HTTP traffic from any CLI, service, or script using HTTP Toolkit. Use when you need to inspect LLM API calls,…
Control terminal TUIs, browsers, and native desktop apps for testing, demos, QA, and computer-use tasks. Use when you need to…
Automate browser interactions for web testing, form filling, screenshots, and data extraction. Use when the user needs to: -…