Back to skills
SKILL.md
Solodit Bowtiedswan
DSecuritySearch 50,000+ smart contract vulnerabilities from Cyfrin Solodit. 8 MCP tools with intelligent caching for searching, filtering, and analyzing blockchain security findings.
- 57 stars
- 0 votes
- 0 copies
- 2 views
- Added October 17, 2026
Works with
Security analysis
50/100- Modifies startup scripts or system services for persistence
- Modifies startup scripts or system services for persistence
npx -y skills add diegosouzapw/awesome-omni-skill --skill solodit-bowtiedswan --agent claude-codeAre you the author of Solodit Bowtiedswan?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/diegosouzapw-solodit-bowtiedswan)---
name: solodit
description: Search 50,000+ smart contract vulnerabilities from Cyfrin Solodit. 8 MCP tools with intelligent caching for searching, filtering, and analyzing blockchain security findings.
mcp:
- name: solodit-api
command: npx
args: ["-y", "BowTiedSwan/solodit-api-skill"]
env:
CYFRIN_API_KEY: "${CYFRIN_API_KEY}"
---
# Solodit API Skill
Search and retrieve smart contract security vulnerabilities from Cyfrin Solodit - the world's largest database of blockchain security findings.
## Overview
Solodit aggregates 50,000+ security findings from top audit firms including Cyfrin, Sherlock, Code4rena, Trail of Bits, OpenZeppelin, and more. This skill provides 8 MCP tools with intelligent caching:
- **search_vulnerabilities** - Search by keywords, severity, audit firm, tags, protocol, and more
- **get_finding** - Retrieve a specific finding by ID or slug
- **list_audit_firms** - List all available audit firms (cached 24h)
- **list_tags** - List all vulnerability tags (cached 24h)
- **list_protocol_categories** - List protocol categories (DeFi, NFT, Lending, etc.)
- **list_languages** - List supported languages (Solidity, Rust, Cairo, etc.)
- **get_statistics** - Database statistics and cache status
- **clear_cache** - Clear cached data for fresh results
## Setup
### 1. Get Your API Key
1. Create an account at [solodit.cyfrin.io](https://solodit.cyfrin.io)
2. Click your profile dropdown in the top right corner
3. Open "API Keys" modal and generate a new API key
### 2. Set Environment Variable
```bash
export CYFRIN_API_KEY="sk_your_api_key_here"
```
Add to your shell profile (`~/.bashrc`, `~/.zshrc`) for persistence.
## MCP Tools Reference
### search_vulnerabilities
Search and filter security findings from the Solodit database.
**Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| `keywords` | string | Search terms (e.g., "reentrancy", "oracle manipulation") |
| `impact` | string[] | Severity filter: `["HIGH"]`, `["HIGH", "MEDIUM"]`, etc. |
| `audit_firms` | string[] | Filter by auditor: `["Cyfrin", "Sherlock"]` |
| `tags` | string[] | Vulnerability tags: `["Reentrancy", "Oracle", "Access Control"]` |
| `protocol_categories` | string[] | Protocol types: `["DeFi", "NFT", "Lending"]` |
| `languages` | string[] | Programming language: `["Solidity", "Rust", "Cairo"]` |
| `protocol` | string | Protocol name (partial match) |
| `min_quality` | number | Minimum quality score (1-5) |
| `sort` | string | Sort by: `"recency"`, `"quality"`, `"rarity"` |
| `page` | number | Page number (default: 1) |
| `page_size` | number | Results per page (max: 100, default: 20) |
### get_finding
Retrieve a specific vulnerability by its ID or slug.
**Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| `id` | string | Finding ID (numeric) or slug (URL-friendly identifier) |
| `verbose` | boolean | Include full content and summary (default: true) |
### list_audit_firms
List all available audit firms in the database. Cached for 24 hours.
**Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| `refresh` | boolean | Force refresh the cached list (default: false) |
### list_tags
List all available vulnerability tags. Cached for 24 hours.
**Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| `refresh` | boolean | Force refresh the cached list (default: false) |
### list_protocol_categories
List all protocol categories (DeFi, NFT, Lending, DEX, Bridge, etc.).
### list_languages
List all supported programming languages (Solidity, Rust, Cairo, Vyper, Move, Huff, Fe, Ink!).
### get_statistics
Get database statistics including total findings, cache status, and rate limit info.
### clear_cache
Clear cached data to fetch fresh results.
**Parameters:**
| Parameter | Type | Description |
|-----------|------|-------------|
| `type` | string | Cache type: `"all"`, `"search"`, `"findings"`, `"metadata"` |
## Caching
The MCP server implements intelligent caching to reduce API calls:
| Cache Type | TTL | Purpose |
|------------|-----|---------|
| Search Results | 5 minutes | Recent search queries |
| Individual Findings | 1 hour | Findings by ID/slug |
| Metadata | 24 hours | Audit firms, tags lists |
## Curl Fallback
For environments without MCP support, use curl directly:
### Basic Search
```bash
curl -X POST https://solodit.cyfrin.io/api/v1/solodit/findings \
-H "Content-Type: application/json" \
-H "X-Cyfrin-API-Key: $CYFRIN_API_KEY" \
-d '{
"page": 1,
"pageSize": 20
}'
```
### Search with Filters
```bash
curl -X POST https://solodit.cyfrin.io/api/v1/solodit/findings \
-H "Content-Type: application/json" \
-H "X-Cyfrin-API-Key: $CYFRIN_API_KEY" \
-d '{
"page": 1,
"pageSize": 20,
"filters": {
"keywords": "reentrancy",
"impact": ["HIGH", "MEDIUM"],
"sortField": "Quality",
"sortDirection": "Desc"
}
}'
```
### Filter by Audit Firm
```bash
curl -X POST https://solodit.cyfrin.io/api/v1/solodit/findings \
-H "Content-Type: application/json" \
-H "X-Cyfrin-API-Key: $CYFRIN_API_KEY" \
-d '{
"page": 1,
"pageSize": 20,
"filters": {
"firms": [{"value": "Cyfrin"}, {"value": "Sherlock"}],
"impact": ["HIGH"]
}
}'
```
## Example Workflows
### Security Audit Preparation
```
Search for all HIGH severity findings in lending protocols from the last 90 days, sorted by quality score
```
### Vulnerability Research
```
Find oracle manipulation vulnerabilities in DeFi protocols with quality score 4 or higher
```
### Learning Specific Attack Patterns
```
Search for flash loan attack examples with tag "Flash Loan" sorted by rarity
```
### Exploring the Database
```
List all audit firms available in the database
```
```
Get database statistics
```
## Rate Limiting
- **Limit**: 20 requests per 60-second window
- **Headers**: Check `X-RateLimit-Remaining` in responses
- **Caching**: Significantly reduces API calls
- **Warnings**: Alerts when ≤5 requests remaining
## Common Tags
- Reentrancy
- Oracle
- Access Control
- Integer Overflow/Underflow
- Front-running
- Price Manipulation
- Flash Loan
- Griefing
- DOS
- Logic Error
## Common Audit Firms
- Cyfrin
- Sherlock
- Code4rena
- Trail of Bits
- OpenZeppelin
- Consensys Diligence
- Spearbit
- Pashov Audit Group
- Hacken
- ChainSecurity
## Protocol Categories
- DeFi
- NFT / NFT Marketplace
- Lending / NFT Lending
- DEX
- Staking / Liquid Staking
- Governance / DAO
- Bridge / Cross-Chain
- Yield Aggregator
- Options / Options Vault
- Oracles
- Gaming
- RWA
## Support
- **API Docs**: [Cyfrin Notion](https://cyfrin.notion.site/Cyfrin-Solodit-Findings-API-Specification)
- **Website**: [solodit.cyfrin.io](https://solodit.cyfrin.io)
- **Support**: support@cyfrin.io
Attribution
Comments
Loading comments…
Newsletter
Get the weekly list of safe new skills, and the ones we pulled.