CVE research and security patch workflow for Ark. Provides CVE API integration, mitigation strategies, and security-focused PR templates. Works with research, analysis, and setup skills for comprehensive vulnerability fixing.
Installation
Details
Usage
After installing, this skill will be available to your AI coding assistant.
Verify installation:
skills listSkill Instructions
name: ark-vulnerability-fixer description: CVE research and security patch workflow for Ark. Provides CVE API integration, mitigation strategies, and security-focused PR templates. Works with research, analysis, and setup skills for comprehensive vulnerability fixing.
Ark Vulnerability Fixer
Provides CVE-specific research tools and security patch workflows for fixing vulnerabilities in Ark.
When to use this skill
Use this skill when:
- User mentions a specific CVE number (e.g., "Fix CVE-2025-55183 in Ark")
- User reports a security vulnerability that needs patching
- You need CVE database information
- You need security-focused PR templates
Note: This skill is typically used by the ark-security-patcher agent as part of a complete workflow:
- CVE research (this skill + research skill)
- Codebase analysis (this skill + analysis skill)
- Mitigation planning (this skill)
- Repository cloning and fix implementation
- Testing (optionally with setup skill)
- PR creation (this skill)
This skill complements the research, analysis, and setup skills for a complete end-to-end vulnerability fixing workflow.
CVE Research
CVE API Integration
Fetch official CVE data from the CIRCL CVE database:
# Fetch CVE details
curl -s "https://cve.circl.lu/api/cve/CVE-2025-55183" | python3 -m json.tool
The API provides:
- Official CVE description
- CVSS scores and severity ratings
- References to security advisories
- Affected products and version ranges
- CWE categorization
- Available patches and fixes
CVE Research Checklist
For each CVE, gather:
- Official CVE description and CVSS score
- Vendor security advisory
- GitHub security advisory (if applicable)
- Patch or fix documentation
- Affected version range
- Recommended version or workaround
Tip: Use the research skill for web searches to find vendor advisories and GitHub security alerts.
Dependency Analysis
Identifying Vulnerable Dependencies
Once you have CVE details, search Ark's dependencies:
cd /tmp/ark-analysis # Use analysis skill to clone first
# Go dependencies
grep "package-name" go.mod go.sum
go list -m all | grep "package-name"
# Node.js dependencies
find . -name "package.json" -exec grep -l "package-name" {} \;
npm list package-name # If in a node project
# Python dependencies
find . -name "requirements.txt" -o -name "pyproject.toml" | xargs grep "package-name"
# Docker base images
find . -name "Dockerfile" | xargs grep "FROM"
Assessing Impact
Consider Ark's specific context:
- Deployment model: Kubernetes operator in cluster
- Network exposure: Services typically internal to cluster
- Trust boundary: Often in trusted environments
- Attack vectors: What's realistic given Ark's architecture?
Tip: Use the analysis skill to understand Ark's architecture and service boundaries.
Mitigation Strategy
Presenting Options to User
CRITICAL: Always present mitigation options and wait for user approval before making changes.
Use this template to present findings:
## Security Vulnerability Analysis
### Vulnerability Details
- **CVE**: CVE-YYYY-NNNNN (or "Generic: [description]")
- **Severity**: [Critical/High/Medium/Low] (CVSS: [score])
- **Component**: [Library/package/framework]
- **Description**: [Clear explanation]
### Impact on Ark
- **Affected Services**: [List services/components]
- **Current Version**: [Version in use]
- **Vulnerable Versions**: [Range]
- **Attack Vector**: [How exploitable]
- **Risk Assessment**: [Realistic risk for Ark deployments]
### Mitigation Options
#### Option 1: [Recommended approach] (RECOMMENDED)
- **Action**: Update [component] from v[X] to v[Y]
- **Changes Required**: [Files to modify]
- **Testing Strategy**: [How to verify]
- **Impact**: [Breaking changes, if any]
- **Pros**: [Benefits]
- **Cons**: [Downsides]
#### Option 2: [Alternative approach]
- **Action**: [Alternative fix]
- **Changes Required**: [What changes]
- **Testing Strategy**: [How to verify]
- **Impact**: [Breaking changes, if any]
- **Pros**: [Benefits]
- **Cons**: [Downsides]
### Recommendation
Based on [evidence sources], I recommend **Option 1** because:
1. [Primary reason]
2. [Secondary reason]
### Next Steps
Would you like to proceed with this mitigation?
### Sources
- [CVE Database](https://cve.circl.lu/cve/CVE-YYYY-NNNNN)
- [Vendor Advisory](URL)
STOP AND WAIT for user approval before implementing.
Repository Setup for Fixes
Cloning for Development
After user approves the mitigation, clone Ark for making changes:
# Clone the repository
git clone git@github.com:mckinsey/agents-at-scale-ark.git
cd agents-at-scale-ark
# Create a security fix branch
git checkout -b security/fix-cve-YYYY-NNNNN
# Verify branch
git branch --show-current
For forks:
git clone git@github.com:<username>/agents-at-scale-ark.git
cd agents-at-scale-ark
git remote add upstream git@github.com:mckinsey/agents-at-scale-ark.git
git fetch upstream
git checkout -b security/fix-cve-YYYY-NNNNN upstream/main
Implementation
Applying the Fix
Once user approves and repository is cloned, apply changes:
cd agents-at-scale-ark
# For Go dependencies
go get package@v1.2.3
go mod tidy
# For Node.js dependencies
npm install package@1.2.3
npm audit fix
# For Python dependencies
# Edit requirements.txt or pyproject.toml
pip install -r requirements.txt
# For Docker base images
# Edit Dockerfile FROM statements
Verification
Basic Testing
cd agents-at-scale-ark
# Run tests
make test
# Build to check for breaking changes
make build
# Search for remaining vulnerable patterns
grep -r "vulnerable-pattern" .
Integration Testing with Setup Skill (Optional)
For changes that affect Ark runtime behavior, use the setup skill to test in a live cluster:
When to use setup skill for testing:
- Go operator changes (controllers, webhooks, CRDs)
- Service updates (ark-api, executor services)
- Changes that affect Kubernetes interactions
- Breaking changes that need verification
Setup skill workflow:
- Creates a Kind cluster
- Builds ark-cli from your security fix branch
- Installs Ark with your changes
- Verifies all pods are running
- Allows you to test the fix in action
Skip integration testing if:
- Only updating documentation or CLI
- Changes are in isolated utility functions
- Dependencies don't affect runtime behavior
Security-Focused PR Templates
Commit Message Template
Ensure you're in the cloned repository:
cd agents-at-scale-ark
git add .
git commit -m "$(cat <<'EOF'
fix: CVE-YYYY-NNNNN in [component]
## Vulnerability Details
- CVE: CVE-YYYY-NNNNN
- Severity: [Critical/High/Medium/Low]
- CVSS Score: [X.X]
- Component: [package/library]
## Impact on Ark
[How this affects Ark services and realistic risk level]
## Changes
- Updated [component] from v[X] to v[Y]
- [Any code changes]
## Testing
- [Tests run and results]
## References
- CVE: https://cve.circl.lu/cve/CVE-YYYY-NNNNN
- Advisory: [URL]
š¤ Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
EOF
)"
Push to Remote
# Push the security fix branch
git push origin security/fix-cve-YYYY-NNNNN
Pull Request Template
Create the PR with detailed security information:
gh pr create --title "fix: CVE-YYYY-NNNNN in [component]" --body "$(cat <<'EOF'
## Summary
Addresses security vulnerability CVE-YYYY-NNNNN in [component].
## Vulnerability Details
| Field | Value |
|-------|-------|
| **CVE** | CVE-YYYY-NNNNN |
| **Severity** | [Critical/High/Medium/Low] |
| **CVSS Score** | [X.X] |
| **Component** | [package] |
| **Current Version** | [old] |
| **Patched Version** | [new] |
### Description
[What the vulnerability is and how it could be exploited]
## Impact on Ark
### Affected Components
- [Service 1]: [Impact]
- [Service 2]: [Impact]
### Risk Assessment
**Risk Level**: [Level]
[Realistic assessment of actual risk to Ark deployments]
## Changes Made
- Updated `[component]` from `v[X]` to `v[Y]`
- [Other changes]
## Testing
- ā
Unit tests pass
- ā
Integration tests pass
- ā
Manual verification completed
## References
- **CVE**: https://cve.circl.lu/cve/CVE-YYYY-NNNNN
- **Advisory**: [URL]
- **Patch Notes**: [URL]
š¤ Generated with [Claude Code](https://claude.com/claude-code)
EOF
)"
Important Notes
CVE API Usage
The CIRCL CVE API:
- Endpoint:
https://cve.circl.lu/api/cve/{CVE-ID} - Returns JSON with CVSS scores, references, affected versions
- No authentication required
- Fallback: Use web search if API is unreachable
Ark Security Context
When assessing risk:
- Architecture: Kubernetes operator managing AI workloads
- Components: Go operator, Python services, Node.js CLI
- Deployment: Typically cluster-internal, trusted environments
- Focus areas: CRD controllers, API services, executor services
Skill Composition
This skill provides CVE-specific tools. It works best when combined with:
- research skill - For web searches, vendor advisories, evidence gathering
- analysis skill - For cloning Ark repo (read-only) and examining codebase structure
- setup skill - For integration testing in a live Ark cluster
- architecture skill - For understanding service boundaries and impact
Complete workflow example:
- Research CVE (this skill + research skill)
- Analyze impact (this skill + analysis skill)
- Clone for development (this skill)
- Implement fix (this skill)
- Test integration (this skill + setup skill, if needed)
- Create PR (this skill)
User Approval is Mandatory
Never implement changes without explicit user approval. This ensures:
- User understands security implications
- Approach aligns with security policies
- Testing strategy is appropriate
- Breaking changes are acknowledged
Common Vulnerability Types
Go Dependencies
- Check:
go.mod,go.sum - Update:
go get package@version && go mod tidy - Scan:
go list -m all
Node.js Dependencies
- Check:
package.json,package-lock.json - Update:
npm install package@version - Scan:
npm audit
Python Dependencies
- Check:
requirements.txt,pyproject.toml - Update: Edit requirements files
- Scan:
pip-audit(if available)
Docker Base Images
- Check:
DockerfileFROM statements - Update: Change base image version
- Scan:
docker scanor vulnerability databases
More by mckinsey
View allRegenerate and debug types across the ARK stack (SDK, API, Dashboard). Use when fixing TypeScript type errors in ark-dashboard, updating types after CRD changes, regenerating types.ts from OpenAPI spec, debugging "Property does not exist on type" schema errors, or adding custom SDK functionality via overlays. Covers the full type pipeline from Kubernetes CRDs to TypeScript.
Analyze the Ark codebase by cloning the repository to a temporary location. Use this skill when the user asks questions about how Ark works, wants to understand Ark's implementation, or needs to examine Ark source code.
Guidance for developing the Ark Kubernetes operator. Use when modifying Go types, CRDs, controllers, or webhooks. Helps with CRD generation and Helm chart sync issues.
Resolve common penetration testing issues in Ark. Use when fixing security vulnerabilities from pentest reports, security audits, or OWASP Top 10 issues.
