Skip to content
Back to skills

Solodit Bowtiedswan

DSecurity

Search 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
toolsrustgoshellbashapidatabasesecurity

Works with

  • cli
  • api
  • mcp

Security analysis

D50/100
  • criticalModifies startup scripts or system services for persistence
  • criticalModifies startup scripts or system services for persistence

Pro shows the line behind each finding and how to fix it

Scanned October 17, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill solodit-bowtiedswan --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Solodit Bowtiedswan?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Solodit Bowtiedswan
[![Security: D — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-solodit-bowtiedswan/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-solodit-bowtiedswan)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.