Security Policy
Relevant source files
The following files were used as context for generating this wiki page:
The Security Policy of the opencode-skills-collection project establishes the framework for vulnerability reporting, version support, and the management of skill-based risks. It defines the trust boundaries for code in the repository, configuration files, and infrastructure deployment scripts. The policy is centered around a risk-based filtering mechanism that categorizes skills based on their potential impact on the system.
Sources: SECURITY.md:18-24, bundled-skills/security-auditor/SKILL.md:12-25
Vulnerability Management and Support
The project maintains a structured approach to supporting software versions and responding to security discoveries. Support is currently limited to the 3.x branch, with all previous major versions (0.x through 2.x) explicitly marked as unsupported.
Reporting Process
Vulnerabilities are handled through private disclosure to info@davideladisa.it. The project team commits to an initial response within 7 working days and targets a resolution for critical issues within 14 days. Public disclosure is prohibited until a resolution is reached.
Sources: SECURITY.md:3-16
Support Status Matrix
| Version | Supported |
|---|---|
| 3.x | ✅ Yes |
| 2.x | ❌ No |
| 1.x | ❌ No |
| 0.x | ❌ No |
Sources: SECURITY.md:5-10
Skill Risk Filter Architecture
A core component of the security model is the Skill Risk Filter introduced in version 3.0.0. This system prevents the loading of potentially dangerous skills by classifying them into specific risk levels.
Risk Levels and Classification
Skills are classified into five distinct risk categories:
- None: No identifiable risk.
- Safe: Minimal risk, suitable for general use.
- Unknown: Default state for new or unverified skills.
- Critical: High-impact skills requiring strict oversight.
- Offensive: Skills intended for penetration testing or security analysis.
Sources: SECURITY.md:21-23, bundled-skills/skill-scanner/SKILL.md:162-171
User Configuration
Users can manage their risk exposure through a configuration file located at ~/.config/opencode/skill-filter.jsonc. This allows for the exclusion of entire risk levels or specific skill identifiers.
{
"excludedRiskLevels": ["offensive"],
"excludedSkills": []
}
Sources: SECURITY.md:26-31
Automated Skill Security Scanning
The project utilizes a skill-scanner to evaluate agent skills before adoption. This process detects prompt injection, malicious code, and excessive permissions.
Scanning Workflow
The scanner performs static analysis and behavioral evaluation to assign a final risk level to a skill.
The workflow ensures that instructions do not exceed the skill's stated purpose or attempt unauthorized data gathering, such as reading SSH keys or modifying agent configurations.
Sources: bundled-skills/skill-scanner/SKILL.md:26-146
Security Audit and Review Standards
The project implements rigorous audit standards for both codebase changes and third-party integrations, focusing on the principle of least privilege and defense-in-depth.
Differential Review Process
Security-focused reviews for Pull Requests prioritize high-risk triggers such as changes to authentication, cryptography, and external calls.
The review must explicitly calculate the "blast radius" for high-risk changes, identifying all transitive callers that might be affected by modified security invariants.
Sources: bundled-skills/differential-review/SKILL.md:14-38, bundled-skills/security-auditor/SKILL.md:16-25
Critical Security Guardrails
The following table summarizes mandatory security controls for API and system development:
| Control Area | Mandatory Requirement |
|---|---|
| Secrets | Never hardcoded; must use environment variables or Vault. |
| Authentication | JWT tokens must have short expiry and secure secrets (256-bit min). |
| Input Validation | Parameterized queries only; no string concatenation for SQL. |
| Data Protection | Encryption at rest and in transit (HTTPS/TLS) is required. |
| Output Encoding | Sanitize all dynamic content using libraries like DOMPurify. |
Sources: bundled-skills/api-security-best-practices/SKILL.md:46-75, bundled-skills/security-auditor/SKILL.md:104-122
The Security Policy emphasizes that security is a continuous process, requiring regular dependency scanning and verification of trust boundaries where privileged logic might bypass standard security rules.
Sources: bundled-skills/security-auditor/SKILL.md:135-144, SECURITY.md:38-39