{
  "$schema": "https://readbeforerun.ai/schema/catalog.schema.json",
  "schema_version": "0.5.0",
  "generated_at": "2026-11-07T00:00:00Z",
  "license": "CC-BY-4.0",
  "method_version": "0.1",
  "counts": {
    "listed": 17,
    "tried": 3,
    "measured": 0,
    "candidates_reviewed": 25,
    "rejected_with_reason": 5,
    "declare_nothing": {
      "n": 1,
      "of": 20,
      "pct": 5
    },
    "reach3_static": {
      "n": 12,
      "of": 20,
      "pct": 60
    },
    "tried_more_than_declared": {
      "n": 2,
      "of": 3,
      "pct": 66.7
    },
    "tried_more_than_code_suggests": {
      "n": 1,
      "of": 3,
      "pct": 33.3
    }
  },
  "counts_scope": "excludes draft: demo",
  "entries": [
    {
      "id": "cisco-mcp-scanner",
      "name": "Cisco MCP Scanner Plugin",
      "summary": "Claude Code plugin that scans MCP servers and tools for prompt injection, tool poisoning and other risks via the Cisco MCP scanner.",
      "draft": "review",
      "type": "plugin",
      "mission": [
        "agent-security"
      ],
      "task": [
        "agent-supply-chain-scan"
      ],
      "domain": [
        "ai-security"
      ],
      "runtime": [
        "claude-code"
      ],
      "tier": "tried",
      "last_checked": "2026-11-07",
      "next_check": "2027-05-06",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "reads credential stores · talks to any host · runs shell commands or eval · changes config or installs globally · Approval: unknown",
      "source": {
        "repo": "https://github.com/cisco-ai-defense/mcp-scanner",
        "subpath": "claude-code-plugin",
        "commit": "5d147dc7e3635606e41104112fa297b45444b05c",
        "version": "v4.8.6",
        "license": "Apache-2.0"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "pip install cisco-ai-mcp-scanner\nclaude --plugin-dir /path/to/claude-code-plugin",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 3,
        "level_source": "static",
        "level_label": "privileged",
        "unknown_axes": 1,
        "verdict": "beyond-declared",
        "badge": "reach 3 · beyond declared (1)",
        "long": "reach 3 from code (privileged); lab: beyond declared on 1 of 6 rights: network",
        "declared": {
          "fs": 1,
          "net": 1,
          "exec": 2,
          "cred": 3
        },
        "static": {
          "level": 3,
          "fs": 1,
          "net": 2,
          "exec": 2,
          "cred": 3,
          "persist": 2,
          "hitl": null,
          "unknown": [
            "hitl"
          ]
        },
        "observed": {
          "level": 2,
          "fs": null,
          "net": 2,
          "exec": 0,
          "cred": 0,
          "persist": 0,
          "hitl": null,
          "unknown": [
            "fs",
            "hitl"
          ],
          "run": "2026-11-07"
        },
        "surplus": {
          "axes": {
            "fs": null,
            "net": 1,
            "exec": 0,
            "cred": 0,
            "persist": 0,
            "hitl": null
          },
          "count": 1,
          "beyond_static": [],
          "headline": "Beyond declared on 1 of 6 rights: network (observed 2, declared 1), with blocked attempts to reach GitHub at start-up even in YARA-only mode."
        },
        "fit": "partial",
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 0.5,
            "exec": 0.5,
            "cred": 1,
            "persist": 0.5,
            "hitl": null
          },
          "usf_risk_tier": "L3"
        }
      },
      "profile": {
        "read_at": "5d147dc7e3635606e41104112fa297b45444b05c",
        "read_on": "2026-10-25",
        "overview": "A Claude Code plugin whose slash commands and skill have Claude run Cisco's mcp-scanner CLI to check MCP servers, tools, prompts and resources for prompt injection, tool poisoning and other threats with YARA rules, an LLM and the Cisco AI Defense API.",
        "purpose": [
          "Scan MCP servers and tools for security threats and risks from inside Claude Code.",
          "Detect prompt injection, tool poisoning and other threats in MCP tools, prompts and resources.",
          "Detect malicious MCP tools by combining the Cisco AI Defense inspect API, YARA rules and LLM-based analysis."
        ],
        "use_cases": [
          {
            "text": "Scan new MCP servers before adding them to a client configuration",
            "task": "agent-supply-chain-scan"
          },
          {
            "text": "Rescan existing MCP client configurations periodically for new threats",
            "task": "agent-supply-chain-scan"
          },
          {
            "text": "Analyze MCP server source code for mismatches between documentation and implementation",
            "task": "code-review-sast"
          },
          {
            "text": "Scan pre-generated tools, prompts and resources JSON files in CI/CD without a live server",
            "task": "agent-supply-chain-scan"
          }
        ],
        "maturity": null,
        "capabilities": [
          {
            "name": "quick-scan, scan-remote",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "deep-scan",
            "effects": [
              "reads",
              "runs-commands",
              "sends-data"
            ],
            "enabled": "default"
          },
          {
            "name": "scan-known-configs",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "scan-config",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "scan-prompts, scan-resources",
            "effects": [
              "reads",
              "runs-commands",
              "sends-data"
            ],
            "enabled": "default"
          },
          {
            "name": "scan-behavioral",
            "effects": [
              "reads",
              "runs-commands",
              "sends-data"
            ],
            "enabled": "default"
          },
          {
            "name": "mcp-security-scan",
            "effects": [
              "reads",
              "runs-commands",
              "sends-data"
            ],
            "enabled": "default"
          },
          {
            "name": "pypi-scan, npm-scan",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "vulnerable-package",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "runs-commands",
          "sends-data"
        ],
        "runs": "in-client",
        "listens": [
          {
            "mode": "optional",
            "bind": "configurable",
            "sign_in": "none"
          }
        ],
        "sends_to": [
          {
            "to": "Remote MCP server (named URL)",
            "kind": "target",
            "when": "default"
          },
          {
            "to": "Remote servers listed in client configs",
            "kind": "target",
            "when": "optional"
          },
          {
            "to": "LLM provider via LiteLLM",
            "kind": "model-provider",
            "when": "optional"
          },
          {
            "to": "Cisco AI Defense inspect API",
            "kind": "vendor-api",
            "when": "optional"
          },
          {
            "to": "Package registries of launched servers",
            "kind": "download",
            "when": "optional"
          },
          {
            "to": "mcp.deepwiki.com",
            "kind": "target",
            "when": "optional"
          },
          {
            "to": "VirusTotal",
            "kind": "vendor-api",
            "when": "optional"
          }
        ],
        "model": "client",
        "needs": [
          {
            "kind": "runtime",
            "text": "Claude Code, which loads the plugin from its folder with --plugin-dir."
          },
          {
            "kind": "tools",
            "text": "The cisco-ai-mcp-scanner Python package, installed separately from the plugin."
          },
          {
            "kind": "runtime",
            "text": "Python 3.11.4 or newer."
          },
          {
            "kind": "tools",
            "text": "uv, because the skill tells Claude to start the scanner with uv run mcp-scanner."
          },
          {
            "kind": "model-key",
            "text": "MCP_SCANNER_LLM_API_KEY for the llm and behavioral analyzers used by deep-scan, scan-prompts, scan-resources and scan-behavioral."
          },
          {
            "kind": "credentials",
            "text": "MCP_SCANNER_API_KEY for the Cisco AI Defense api analyzer."
          },
          {
            "kind": "account",
            "text": "A Cisco AI Defense subscription for the api analyzer."
          }
        ]
      },
      "urls": {
        "page": "/catalog/cisco-mcp-scanner/",
        "json": "/entries/cisco-mcp-scanner.json",
        "md": "/catalog/cisco-mcp-scanner.md",
        "badge": "/badge/cisco-mcp-scanner.svg"
      }
    },
    {
      "id": "crowdstrike-falcon-mcp",
      "name": "CrowdStrike Falcon MCP Server",
      "summary": "MCP server that connects agents to the CrowdStrike Falcon platform: detections, threat intel, host management and response.",
      "draft": "review",
      "type": "mcp-server",
      "mission": [
        "defensive"
      ],
      "task": [
        "alert-triage",
        "threat-intel-enrichment"
      ],
      "domain": [
        "security-operations",
        "threat-intelligence"
      ],
      "runtime": [
        "mcp-generic",
        "gemini-cli"
      ],
      "tier": "tried",
      "last_checked": "2026-11-07",
      "next_check": "2027-05-06",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "can tunnel or exfiltrate · writes outside the project · changes config or installs globally · Approval: unknown",
      "source": {
        "repo": "https://github.com/CrowdStrike/falcon-mcp",
        "subpath": null,
        "commit": "17fea062558312dfbf981ea09f7ce58a11ea31fb",
        "version": "v0.19.0",
        "license": "MIT"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "uv tool install falcon-mcp",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 3,
        "level_source": "static",
        "level_label": "privileged",
        "unknown_axes": 1,
        "verdict": "beyond-declared",
        "badge": "reach 3 · beyond declared (1)",
        "long": "reach 3 from code (privileged); lab: beyond declared on 1 of 6 rights: secrets",
        "declared": {
          "fs": 2,
          "net": 3,
          "exec": 1,
          "cred": 1,
          "persist": 2,
          "hitl": 0
        },
        "static": {
          "level": 3,
          "fs": 2,
          "net": 3,
          "exec": 1,
          "cred": 1,
          "persist": 2,
          "hitl": null,
          "unknown": [
            "hitl"
          ]
        },
        "observed": {
          "level": 3,
          "fs": null,
          "net": 1,
          "exec": 0,
          "cred": 3,
          "persist": 0,
          "hitl": 0,
          "unknown": [
            "fs"
          ],
          "run": "2026-11-07"
        },
        "surplus": {
          "axes": {
            "fs": null,
            "net": 0,
            "exec": 0,
            "cred": 2,
            "persist": 0,
            "hitl": 0
          },
          "count": 1,
          "beyond_static": [
            "cred"
          ],
          "headline": "Beyond declared on 1 of 6 rights: secrets (observed 3, declared 1), reading ~/.netrc on every API request."
        },
        "fit": "partial",
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 1,
            "exec": 0.5,
            "cred": 0.5,
            "persist": 0.5,
            "hitl": null
          },
          "usf_risk_tier": "L3"
        }
      },
      "profile": {
        "read_at": "17fea062558312dfbf981ea09f7ce58a11ea31fb",
        "read_on": "2026-10-25",
        "overview": "falcon-mcp is an MCP server that connects AI agents with the CrowdStrike Falcon platform and gives them programmatic access to detections, threat intelligence, host management and other security capabilities.",
        "purpose": [
          "Gives AI agents access to a CrowdStrike Falcon tenant for security analysis and automation.",
          "Supports threat investigation, detection triage and security operations from AI assistants such as Claude Desktop, VS Code, Gemini CLI and custom agents."
        ],
        "use_cases": [
          {
            "text": "Find Falcon detections by severity, status, hostname or time range",
            "task": "alert-triage"
          },
          {
            "text": "Research threat actors and adversary groups tracked by CrowdStrike intelligence",
            "task": "threat-intel-enrichment"
          },
          {
            "text": "Collect host evidence with read-only RTR commands such as ls, ps, cat, filehash and reg",
            "task": "dfir"
          },
          {
            "text": "Turn a CQL query into a scheduled NG-SIEM correlation rule",
            "task": "detection-engineering"
          }
        ],
        "maturity": "preview",
        "capabilities": [
          {
            "name": "Detections",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Hosts",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Intel",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Real Time Response",
            "effects": [
              "reads",
              "changes",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "NGSIEM",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Correlation Rules",
            "effects": [
              "reads",
              "changes",
              "deletes"
            ],
            "enabled": "default"
          },
          {
            "name": "Policies",
            "effects": [
              "reads",
              "changes",
              "deletes"
            ],
            "enabled": "default"
          },
          {
            "name": "Exclusions",
            "effects": [
              "reads",
              "changes",
              "deletes"
            ],
            "enabled": "default"
          },
          {
            "name": "Quarantine",
            "effects": [
              "reads",
              "changes",
              "deletes"
            ],
            "enabled": "default"
          },
          {
            "name": "Fusion SOAR",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "deletes",
          "runs-commands"
        ],
        "runs": "local-process",
        "listens": [
          {
            "mode": "optional",
            "bind": "configurable",
            "sign_in": "optional"
          }
        ],
        "sends_to": [
          {
            "to": "CrowdStrike Falcon API",
            "kind": "vendor-api",
            "when": "always"
          },
          {
            "to": "HTTP/HTTPS proxy",
            "kind": "other",
            "when": "optional"
          },
          {
            "to": "PyPI",
            "kind": "download",
            "when": "default"
          },
          {
            "to": "quay.io",
            "kind": "download",
            "when": "optional"
          }
        ],
        "model": "client",
        "needs": [
          {
            "kind": "account",
            "text": "Access to a CrowdStrike console in which to create API credentials."
          },
          {
            "kind": "credentials",
            "text": "A Falcon API client with its Client ID and Client Secret; the quickstart enables at minimum Hosts:read and Alerts:read."
          },
          {
            "kind": "runtime",
            "text": "Python 3.11 or higher."
          },
          {
            "kind": "tools",
            "text": "uv or pip to install the package."
          },
          {
            "kind": "setting",
            "text": "The Falcon API base URL for the tenant's CrowdStrike region (US-1, US-2, EU-1 or US-GOV); US-1 is the default."
          },
          {
            "kind": "credentials",
            "text": "The Falcon API client's scopes are selected according to the modules the user plans to enable; each module requires its own CrowdStrike API scopes."
          }
        ]
      },
      "urls": {
        "page": "/catalog/crowdstrike-falcon-mcp/",
        "json": "/entries/crowdstrike-falcon-mcp.json",
        "md": "/catalog/crowdstrike-falcon-mcp.md",
        "badge": "/badge/crowdstrike-falcon-mcp.svg"
      }
    },
    {
      "id": "gitguardian-ggmcp",
      "name": "GitGuardian MCP Server",
      "summary": "MCP server that brings GitGuardian secret detection, incident triage and honeytokens into an AI agent.",
      "draft": "review",
      "type": "mcp-server",
      "mission": [
        "defensive"
      ],
      "task": [
        "dependencies-secrets",
        "alert-triage"
      ],
      "domain": [
        "application-security",
        "security-operations"
      ],
      "runtime": [
        "mcp-generic",
        "cursor"
      ],
      "tier": "tried",
      "last_checked": "2026-11-07",
      "next_check": "2027-05-06",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "can tunnel or exfiltrate · writes outside the project · reads broad tokens or the environment · changes config or installs globally · Approval: unknown",
      "source": {
        "repo": "https://github.com/GitGuardian/ggmcp",
        "subpath": null,
        "commit": "7a75a34bc553a8717c2a119d28f96843ac9d32f6",
        "version": "v0.7.3",
        "license": "MIT"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "{\n  \"mcpServers\": {\n    \"GitGuardian\": {\n      \"command\": \"uvx\",\n      \"args\": [\n        \"--from\",\n        \"git+https://github.com/GitGuardian/ggmcp.git\",\n        \"gg-mcp-server\"\n      ],\n      \"env\": {\n        \"ENABLE_LOCAL_OAUTH\": \"false\",\n        \"GITGUARDIAN_PERSONAL_ACCESS_TOKEN\": \"your_pat_here\",\n        \"GITGUARDIAN_URL\": \"https://dashboard.gitguardian.com\"\n      }\n    }\n  }\n}",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 3,
        "level_source": "static",
        "level_label": "privileged",
        "unknown_axes": 1,
        "verdict": "as-declared",
        "badge": "reach 3 · as declared",
        "long": "reach 3 from code (privileged); lab: as declared",
        "declared": {
          "fs": 2,
          "net": 3,
          "cred": 1,
          "persist": 2
        },
        "static": {
          "level": 3,
          "fs": 2,
          "net": 3,
          "exec": 1,
          "cred": 2,
          "persist": 2,
          "hitl": null,
          "unknown": [
            "hitl"
          ]
        },
        "observed": {
          "level": 2,
          "fs": 2,
          "net": 1,
          "exec": 0,
          "cred": 0,
          "persist": 1,
          "hitl": 0,
          "unknown": [],
          "run": "2026-11-07"
        },
        "surplus": {
          "axes": {
            "fs": 0,
            "net": 0,
            "exec": 0,
            "cred": 0,
            "persist": 0,
            "hitl": 0
          },
          "count": 0,
          "beyond_static": [],
          "headline": "Within declared on every right the lab could observe."
        },
        "fit": "fits",
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 1,
            "exec": 0.5,
            "cred": 0.5,
            "persist": 0.5,
            "hitl": null
          },
          "usf_risk_tier": "L3"
        }
      },
      "profile": {
        "read_at": "7a75a34bc553a8717c2a119d28f96843ac9d32f6",
        "read_on": "2026-10-25",
        "overview": "GitGuardian MCP Server is an MCP server that brings GitGuardian's secret detection, incident management and honeytoken generation into an AI agent; the tools it exposes depend on the OAuth scopes of the access token.",
        "purpose": [
          "Lets an AI agent scan code for credentials, triage existing secret incidents, generate honeytokens and remediate findings from an IDE or chat client.",
          "Lets AI agents scan projects for secrets through the GitGuardian API, manage security incidents and create honeytokens."
        ],
        "use_cases": [
          {
            "text": "Scan files for leaked credentials",
            "task": "dependencies-secrets"
          },
          {
            "text": "List, filter, assign, resolve and tag internal and Public Monitoring secret incidents",
            "task": "alert-triage"
          },
          {
            "text": "Generate honeytokens and list existing ones",
            "task": "detection-engineering"
          },
          {
            "text": "Open pull requests that remediate secrets in repositories the workspace monitors",
            "task": "dependencies-secrets"
          }
        ],
        "maturity": "beta",
        "capabilities": [
          {
            "name": "Proactive Secret Scanning",
            "effects": [
              "reads",
              "sends-data"
            ],
            "enabled": "default"
          },
          {
            "name": "Incident Management",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Repository Analysis",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "Remediation",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Honeytoken Management",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "user information and token management",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "runs-commands",
          "sends-data"
        ],
        "runs": "vendor-hosted",
        "listens": [
          {
            "mode": "optional",
            "bind": "configurable",
            "sign_in": "optional"
          },
          {
            "mode": "optional",
            "bind": "all-interfaces",
            "sign_in": "optional"
          },
          {
            "mode": "optional",
            "bind": "loopback",
            "sign_in": "none"
          }
        ],
        "sends_to": [
          {
            "to": "GitGuardian API",
            "kind": "vendor-api",
            "when": "always"
          },
          {
            "to": "GitGuardian /multiscan",
            "kind": "vendor-api",
            "when": "default"
          },
          {
            "to": "mcp.gitguardian.com",
            "kind": "vendor-api",
            "when": "default"
          },
          {
            "to": "Sentry",
            "kind": "telemetry",
            "when": "optional"
          },
          {
            "to": "GitGuardian dashboard login",
            "kind": "vendor-api",
            "when": "optional"
          },
          {
            "to": "github.com/GitGuardian/ggmcp",
            "kind": "download",
            "when": "optional"
          }
        ],
        "model": "client",
        "needs": [
          {
            "kind": "account",
            "text": "A GitGuardian workspace (US or EU SaaS, or self-hosted) where a personal access token can be created in the dashboard."
          },
          {
            "kind": "credentials",
            "text": "The code defines scan, incidents:read and sources:read as MINIMAL_SCOPES."
          },
          {
            "kind": "runtime",
            "text": "The ggmcp package requires Python 3.11 or later."
          },
          {
            "kind": "setting",
            "text": "Local stdio with a PAT sets ENABLE_LOCAL_OAUTH=false and GITGUARDIAN_PERSONAL_ACCESS_TOKEN in the client's env block."
          },
          {
            "kind": "authorization",
            "text": "create_code_fix_request needs Manager access level and the incidents:write scope."
          },
          {
            "kind": "setting",
            "text": "Self-hosted GitGuardian instances need IS_ON_PREM=true so the server uses the /exposed/v1 API path and the self-hosted scope set."
          },
          {
            "kind": "other",
            "text": "Claude Desktop versions that pre-date HTTP MCP support need the local stdio fallback instead of the hosted server."
          },
          {
            "kind": "setting",
            "text": "For Claude Desktop on macOS the local stdio configuration needs the absolute path to uvx in the command field, because Claude Desktop does not resolve $PATH for MCP servers."
          }
        ]
      },
      "urls": {
        "page": "/catalog/gitguardian-ggmcp/",
        "json": "/entries/gitguardian-ggmcp.json",
        "md": "/catalog/gitguardian-ggmcp.md",
        "badge": "/badge/gitguardian-ggmcp.svg"
      }
    },
    {
      "id": "example-recon-skill",
      "name": "Example Recon Skill",
      "summary": "Enumerates subdomains and open ports of a declared target and writes a Markdown report.",
      "draft": "demo",
      "type": "skill",
      "mission": [
        "offensive"
      ],
      "task": [
        "recon-attack-surface"
      ],
      "domain": [
        "vulnerability-management"
      ],
      "runtime": [
        "claude-code",
        "codex",
        "gemini-cli"
      ],
      "tier": "tried",
      "last_checked": "2026-10-14",
      "next_check": "2027-04-12",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "writes outside the project · talks to any host · runs shell commands or eval",
      "source": {
        "repo": "https://github.com/example/recon-skill",
        "subpath": "skills/recon",
        "commit": "3f2a9c1d8e7b6a5f4c3d2e1f0a9b8c7d6e5f4a3b",
        "version": "v0.4.2",
        "license": "MIT"
      },
      "install": {
        "skills_cli": "npx skills add example/recon-skill --skill recon",
        "claude_code": "claude plugin install example-recon-skill@field-guide",
        "upstream": null,
        "bundled": true
      },
      "scan": {
        "status": "static-scanned",
        "results": [
          {
            "tool": "cisco-skill-scanner",
            "version": "1.9.2",
            "date": "2026-10-09",
            "result": "pass"
          },
          {
            "tool": "gitleaks",
            "version": "8.30.1",
            "date": "2026-10-09",
            "result": "pass"
          }
        ]
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 2,
        "level_source": "static",
        "level_label": "open",
        "unknown_axes": 0,
        "verdict": "beyond-declared",
        "badge": "reach 2 · beyond declared (3)",
        "long": "reach 2 from code (open); lab: beyond declared on 3 of 6 rights: files, network, execution",
        "declared": {
          "net": 1,
          "exec": 1,
          "hitl": 1
        },
        "static": {
          "level": 2,
          "fs": 2,
          "net": 2,
          "exec": 2,
          "cred": 0,
          "persist": 1,
          "hitl": 1,
          "unknown": []
        },
        "observed": {
          "level": 2,
          "fs": 2,
          "net": 2,
          "exec": 2,
          "cred": 0,
          "persist": 1,
          "hitl": 1,
          "unknown": [],
          "run": "2026-10-10"
        },
        "surplus": {
          "axes": {
            "fs": 1,
            "net": 1,
            "exec": 1,
            "cred": 0,
            "persist": 0,
            "hitl": 0
          },
          "count": 3,
          "beyond_static": [],
          "headline": "Beyond declared on 3 of 6 rights: files (wrote ~/recon-reports/, not declared), network (undeclared host api.example.net, blocked), execution (shell for nmap)."
        },
        "fit": "fits",
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 0.5,
            "exec": 0.5,
            "cred": 0,
            "persist": 0.5,
            "hitl": 0.5
          },
          "usf_risk_tier": "L2"
        }
      },
      "profile": {
        "read_at": "3f2a9c1d8e7b6a5f4c3d2e1f0a9b8c7d6e5f4a3b",
        "read_on": "2026-10-25",
        "overview": "An agent skill that maps the attack surface of one target you name: subdomains, open ports and a Markdown report.",
        "purpose": [
          "Enumerates subdomains and open ports of one declared target.",
          "Writes the results as a Markdown report for the tester."
        ],
        "use_cases": [
          {
            "text": "Map the subdomains and open ports of an authorised test target before a web test",
            "task": "recon-attack-surface"
          }
        ],
        "maturity": null,
        "capabilities": [
          {
            "name": "enumerate",
            "effects": [
              "reads",
              "sends-data"
            ],
            "enabled": "default"
          },
          {
            "name": "scan",
            "effects": [
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "report",
            "effects": [
              "changes"
            ],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "runs-commands",
          "sends-data"
        ],
        "runs": "in-client",
        "listens": [],
        "sends_to": [
          {
            "to": "Your target",
            "kind": "target",
            "when": "always"
          },
          {
            "to": "api.example.net",
            "kind": "other",
            "when": "always"
          }
        ],
        "model": "client",
        "needs": [
          {
            "kind": "tools",
            "text": "nmap installed on your machine."
          },
          {
            "kind": "authorization",
            "text": "Permission to test the target you name."
          }
        ]
      },
      "urls": {
        "page": "/catalog/example-recon-skill/",
        "json": "/entries/example-recon-skill.json",
        "md": "/catalog/example-recon-skill.md",
        "badge": "/badge/example-recon-skill.svg"
      }
    },
    {
      "id": "example-vuln-mcp",
      "name": "Example Vuln MCP",
      "summary": "MCP server that looks up CVEs and ranks findings by exploitability for vulnerability prioritisation.",
      "draft": "demo",
      "type": "mcp-server",
      "mission": [
        "defensive"
      ],
      "task": [
        "vuln-prioritization"
      ],
      "domain": [
        "vulnerability-management"
      ],
      "runtime": [
        "mcp-generic",
        "claude-code"
      ],
      "tier": "tried",
      "last_checked": "2026-10-07",
      "next_check": "2027-04-05",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "Approval: unknown",
      "source": {
        "repo": "https://github.com/example/vuln-mcp",
        "subpath": null,
        "commit": "7c1e9a0b2d4f6e8a1c3b5d7f9e0a2c4b6d8f0e1a",
        "version": "1.3.0",
        "license": "MIT"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "npx -y @example/vuln-mcp@1.3.0",
        "bundled": false
      },
      "scan": {
        "status": "static-scanned",
        "results": [
          {
            "tool": "mcp-scanner",
            "version": "4.2.0",
            "date": "2026-10-02",
            "result": "warn"
          }
        ]
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 1,
        "level_source": "static",
        "level_label": "scoped",
        "unknown_axes": 1,
        "verdict": "beyond-declared",
        "badge": "reach ≥1 · beyond declared (1)",
        "long": "reach ≥1 from code (scoped, 1 right unknown); lab: beyond declared on 1 of 6 rights: network",
        "declared": {},
        "static": {
          "level": 1,
          "fs": 0,
          "net": 1,
          "exec": 0,
          "cred": 1,
          "persist": 1,
          "hitl": null,
          "unknown": [
            "hitl"
          ]
        },
        "observed": {
          "level": 2,
          "fs": 0,
          "net": 2,
          "exec": 0,
          "cred": 1,
          "persist": 1,
          "hitl": null,
          "unknown": [
            "hitl"
          ],
          "run": "2026-10-03"
        },
        "surplus": {
          "axes": {
            "fs": 0,
            "net": 1,
            "exec": 0,
            "cred": 0,
            "persist": 0,
            "hitl": null
          },
          "count": 1,
          "beyond_static": [
            "net"
          ],
          "headline": "Beyond declared on 1 of 6 rights: network (undeclared host api.example.net, blocked). Nothing is declared, so each right is measured against its task scope."
        },
        "fit": "partial",
        "exports": {
          "aivss": {
            "fs": 0,
            "net": 0.5,
            "exec": 0,
            "cred": 0.5,
            "persist": 0.5,
            "hitl": null
          },
          "usf_risk_tier": "L1"
        }
      },
      "profile": {
        "read_at": "7c1e9a0b2d4f6e8a1c3b5d7f9e0a2c4b6d8f0e1a",
        "read_on": "2026-10-25",
        "overview": "An MCP server that looks up CVE details and ranks a list of findings by exploitability.",
        "purpose": [
          "Looks up CVE details for your findings.",
          "Ranks a list of findings by exploitability."
        ],
        "use_cases": [
          {
            "text": "Rank the findings of a scan export before a patch meeting",
            "task": "vuln-prioritization"
          }
        ],
        "maturity": "beta",
        "capabilities": [
          {
            "name": "lookup_cve",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "rank_findings",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads"
        ],
        "runs": "local-process",
        "listens": [],
        "sends_to": [
          {
            "to": "Vulnerability data service",
            "kind": "vendor-api",
            "when": "always"
          },
          {
            "to": "stats.example.org",
            "kind": "telemetry",
            "when": "default"
          }
        ],
        "model": "client",
        "needs": [
          {
            "kind": "credentials",
            "text": "An API token for the vulnerability data service, as a file or environment variable."
          },
          {
            "kind": "runtime",
            "text": "Python 3.11 or later."
          }
        ]
      },
      "urls": {
        "page": "/catalog/example-vuln-mcp/",
        "json": "/entries/example-vuln-mcp.json",
        "md": "/catalog/example-vuln-mcp.md",
        "badge": "/badge/example-vuln-mcp.svg"
      }
    },
    {
      "id": "accessitgroup-webapp-testing-checklist",
      "name": "Webapp Testing Checklist",
      "summary": "Agent skill that walks an authorized web application test through the OWASP WSTG checklist and writes a findings report.",
      "draft": "review",
      "type": "skill",
      "mission": [
        "offensive"
      ],
      "task": [
        "web-api-testing"
      ],
      "domain": [
        "application-security"
      ],
      "runtime": [
        "claude-code"
      ],
      "tier": "listed",
      "last_checked": "2026-10-21",
      "next_check": "2027-01-19",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "adds autostart, users or keys · writes outside the project · runs shell commands or eval · reads broad tokens or the environment · Approval: unknown",
      "source": {
        "repo": "https://github.com/AccessITGroup/webapp-testing-checklist",
        "subpath": null,
        "commit": "d79e59434bb7d3ddc61629e3cced9b55ffbaf39b",
        "version": null,
        "license": "MIT AND CC-BY-SA-4.0"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "/plugin marketplace add AccessITGroup/claude-plugins\n/plugin install webapp-testing-checklist@AITG-hub",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 3,
        "level_source": "static",
        "level_label": "privileged",
        "unknown_axes": 1,
        "verdict": "not-run",
        "badge": "reach 3 · not run yet",
        "long": "reach 3 from code (privileged); lab: not run yet",
        "declared": {
          "fs": 2,
          "net": 1,
          "exec": 1,
          "cred": 2,
          "persist": 3
        },
        "static": {
          "level": 3,
          "fs": 2,
          "net": 1,
          "exec": 2,
          "cred": 2,
          "persist": 3,
          "hitl": null,
          "unknown": [
            "hitl"
          ]
        },
        "observed": null,
        "surplus": null,
        "fit": null,
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 0.5,
            "exec": 0.5,
            "cred": 0.5,
            "persist": 1,
            "hitl": null
          },
          "usf_risk_tier": "L3"
        }
      },
      "profile": {
        "read_at": "d79e59434bb7d3ddc61629e3cced9b55ffbaf39b",
        "read_on": "2026-10-25",
        "overview": "A skill that walks a web application penetration test through the OWASP Web Security Testing Guide (WSTG) as a structured checklist and produces WSTG-numbered findings. It aids a human-led engagement: it may send benign traffic, while attack testing stays with the tester's own tooling.",
        "purpose": [
          "Structures an authorized web application penetration test around the OWASP WSTG methodology and tracks checklist coverage.",
          "Turns tester-supplied evidence into a findings report with WSTG-numbered IDs.",
          "Asks a diagnostic question per WSTG test and interprets the evidence the tester hands over, including raw Burp/ZAP captures."
        ],
        "use_cases": [
          {
            "text": "Plan, scope or track a web application pentest against the WSTG checklist.",
            "task": "web-api-testing"
          },
          {
            "text": "Produce a findings report with WSTG IDs in Markdown, Word (.docx) or PDF.",
            "task": "web-api-testing"
          },
          {
            "text": "Assess tester-supplied request/response evidence against a WSTG test's criteria and record the verdict.",
            "task": "finding-validation"
          },
          {
            "text": "Walk an API-only target through API Testing plus the API-relevant tests from Authentication, Session, Input Validation and Business Logic.",
            "task": "web-api-testing"
          }
        ],
        "maturity": null,
        "capabilities": [
          {
            "name": "Step 1 — Authorization gate",
            "effects": [],
            "enabled": "default"
          },
          {
            "name": "Test credentials file",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Step 2 — Scope intake",
            "effects": [],
            "enabled": "default"
          },
          {
            "name": "Step 3 — Walk the checklist",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Evidence directory convention",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Self-tested findings",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Backseat mode benign traffic",
            "effects": [
              "reads",
              "sends-data"
            ],
            "enabled": "default"
          },
          {
            "name": "Account creation (gated)",
            "effects": [
              "changes"
            ],
            "enabled": "optional"
          },
          {
            "name": "Repeated-attempt tests",
            "effects": [
              "sends-data"
            ],
            "enabled": "optional"
          },
          {
            "name": "Step 4 — Report",
            "effects": [
              "changes"
            ],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "sends-data"
        ],
        "runs": "in-client",
        "listens": [],
        "sends_to": [
          {
            "to": "Target web application",
            "kind": "target",
            "when": "default"
          }
        ],
        "model": "client",
        "needs": [
          {
            "kind": "runtime",
            "text": "Claude Code, with the skill installed from the AITG-hub marketplace or directly."
          },
          {
            "kind": "authorization",
            "text": "Written authorization to test the specific target, such as a signed SOW or pentest agreement."
          },
          {
            "kind": "authorization",
            "text": "Named engagement, in-scope hostnames/apps/IP ranges, testing window and rules of engagement with points of contact."
          },
          {
            "kind": "credentials",
            "text": "Test accounts in a plain-text file in the working directory, one per line with label, role, username and password."
          },
          {
            "kind": "tools",
            "text": "The tester's own testing tools, such as Burp Suite, ZAP, curl or browser devtools, for the actual security testing."
          },
          {
            "kind": "tools",
            "text": "For .docx reports with screenshots, the author reports pandoc or python-docx, where available, as more reliable than OS-builtin converters."
          },
          {
            "kind": "tools",
            "text": "Screenshots of self-tested findings need a visual or browser-automation capability in the environment, not just a CLI HTTP client."
          }
        ]
      },
      "urls": {
        "page": "/catalog/accessitgroup-webapp-testing-checklist/",
        "json": "/entries/accessitgroup-webapp-testing-checklist.json",
        "md": "/catalog/accessitgroup-webapp-testing-checklist.md",
        "badge": "/badge/accessitgroup-webapp-testing-checklist.svg"
      }
    },
    {
      "id": "andrewspearson-tenable-mcp-mssp",
      "name": "Tenable MSSP Portal MCP Server",
      "summary": "MCP server that runs Tenable queries and hosted Hexa AI MCP tools across the child containers of a Tenable MSSP Portal.",
      "draft": "review",
      "type": "mcp-server",
      "mission": [
        "defensive"
      ],
      "task": [
        "vuln-prioritization"
      ],
      "domain": [
        "vulnerability-management",
        "platform-operations"
      ],
      "runtime": [
        "mcp-generic",
        "claude-code",
        "codex",
        "gemini-cli"
      ],
      "tier": "listed",
      "last_checked": "2026-10-21",
      "next_check": "2027-01-19",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "adds autostart, users or keys · reads broad tokens or the environment",
      "source": {
        "repo": "https://github.com/andrewspearson/tenable-mcp-mssp",
        "subpath": null,
        "commit": "eeb26b5c6bd76406dbffe71cfebc67c5159dc790",
        "version": "v1.0.1",
        "license": "MIT"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "git clone https://github.com/andrewspearson/tenable-mcp-mssp.git\ncd tenable-mcp-mssp\nuv venv\nuv pip install .\ncp .env.example .env\nchmod 600 .env\nclaude mcp add tenable-mcp-mssp -- /path/to/tenable-mcp-mssp/.venv/bin/python -m tenable_mcp_mssp.server",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 3,
        "level_source": "static",
        "level_label": "privileged",
        "unknown_axes": 0,
        "verdict": "not-run",
        "badge": "reach 3 · not run yet",
        "long": "reach 3 from code (privileged); lab: not run yet",
        "declared": {
          "fs": 1,
          "net": 1,
          "cred": 2,
          "persist": 3
        },
        "static": {
          "level": 3,
          "fs": 1,
          "net": 1,
          "exec": 1,
          "cred": 2,
          "persist": 3,
          "hitl": 0,
          "unknown": []
        },
        "observed": null,
        "surplus": null,
        "fit": null,
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 0.5,
            "exec": 0.5,
            "cred": 0.5,
            "persist": 1,
            "hitl": 0
          },
          "usf_risk_tier": "L3"
        }
      },
      "profile": {
        "read_at": "eeb26b5c6bd76406dbffe71cfebc67c5159dc790",
        "read_on": "2026-10-25",
        "overview": "An MCP server that orchestrates Tenable MSSP child container workflows, used to make bulk queries and take bulk actions across child containers.",
        "purpose": [
          "Lets one MCP client use Tenable Hexa AI MCP Server tools across the child containers of an MSSP Portal through a scoped orchestration layer.",
          "Queries one or more CVEs across eligible in-scope child containers and produces a CSV report of the findings.",
          "Lists all child containers of the MSSP Portal with their license information."
        ],
        "use_cases": [
          {
            "text": "Query CVEs across the child containers connected to an MSSP Portal and compile the findings into a CSV report.",
            "task": "vuln-prioritization"
          },
          {
            "text": "Apply a tested sequence of Hexa AI MCP tool calls to many hexa-licensed child containers in one batch.",
            "task": null
          },
          {
            "text": "Experiment with one official Tenable MCP tool on one child container licensed for hexa.",
            "task": null
          },
          {
            "text": "Review all MSSP child accounts as returned by Tenable, including their license data.",
            "task": null
          }
        ],
        "maturity": null,
        "capabilities": [
          {
            "name": "list_mssp_child_accounts",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "list_available_tenable_mcp_tools",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "get_child_container_scope",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "run_tenable_mcp_tool_for_child",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "run_tenable_mcp_recipe_for_child",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "run_tenable_mcp_recipe_across_child_containers",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "bulk_vm_cve_query",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "get_bulk_vm_cve_query_status / _result",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "runs-commands"
        ],
        "runs": "local-process",
        "listens": [],
        "sends_to": [
          {
            "to": "Tenable MSSP Portal API",
            "kind": "vendor-api",
            "when": "always"
          },
          {
            "to": "Tenable hosted MCP server",
            "kind": "vendor-api",
            "when": "default"
          },
          {
            "to": "Tenable Vulnerability Management exports",
            "kind": "vendor-api",
            "when": "default"
          }
        ],
        "model": "client",
        "needs": [
          {
            "kind": "credentials",
            "text": "Tenable MSSP Portal API keys with Administrator privileges."
          },
          {
            "kind": "account",
            "text": "Child containers licensed with hexa for the Hexa AI MCP Server tools."
          },
          {
            "kind": "account",
            "text": "Child containers licensed with vm for the bulk_vm_cve_query tool."
          },
          {
            "kind": "runtime",
            "text": "Python 3.14 or newer."
          },
          {
            "kind": "tools",
            "text": "uv or pip for the local installation."
          },
          {
            "kind": "setting",
            "text": "The parent keys must be set as TENABLE_MSSP_PORTAL_ACCESS_KEY and TENABLE_MSSP_PORTAL_SECRET_KEY in the environment or the .env file."
          }
        ]
      },
      "urls": {
        "page": "/catalog/andrewspearson-tenable-mcp-mssp/",
        "json": "/entries/andrewspearson-tenable-mcp-mssp.json",
        "md": "/catalog/andrewspearson-tenable-mcp-mssp.md",
        "badge": "/badge/andrewspearson-tenable-mcp-mssp.svg"
      }
    },
    {
      "id": "google-secops-mcp",
      "name": "Google Security Operations MCP Server",
      "summary": "MCP server for Google Security Operations (Chronicle) with 68 tools for event search, alerts, detection rules, log ingestion and SIEM configuration.",
      "draft": "review",
      "type": "mcp-server",
      "mission": [
        "defensive"
      ],
      "task": [
        "alert-triage",
        "detection-engineering"
      ],
      "domain": [
        "security-operations"
      ],
      "runtime": [
        "mcp-generic",
        "claude-code",
        "gemini-cli",
        "cursor"
      ],
      "tier": "listed",
      "last_checked": "2026-10-21",
      "next_check": "2027-01-19",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "reads credential stores · changes config or installs globally · Approval: unknown",
      "source": {
        "repo": "https://github.com/google/mcp-security",
        "subpath": "server/secops",
        "commit": "ceb703aee136d4ce0b23213bca938133212274b9",
        "version": "secops-v0.7.1",
        "license": "Apache-2.0"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "uvx --from google-secops-mcp secops_mcp",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 3,
        "level_source": "static",
        "level_label": "privileged",
        "unknown_axes": 1,
        "verdict": "not-run",
        "badge": "reach 3 · not run yet",
        "long": "reach 3 from code (privileged); lab: not run yet",
        "declared": {
          "fs": 1,
          "net": 1,
          "cred": 3,
          "persist": 2,
          "hitl": 1
        },
        "static": {
          "level": 3,
          "fs": 1,
          "net": 1,
          "exec": 0,
          "cred": 3,
          "persist": 2,
          "hitl": null,
          "unknown": [
            "hitl"
          ]
        },
        "observed": null,
        "surplus": null,
        "fit": null,
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 0.5,
            "exec": 0,
            "cred": 1,
            "persist": 0.5,
            "hitl": null
          },
          "usf_risk_tier": "L3"
        }
      },
      "profile": {
        "read_at": "ceb703aee136d4ce0b23213bca938133212274b9",
        "read_on": "2026-10-25",
        "overview": "An MCP server that connects MCP clients to Google's Chronicle Security Operations suite, with tools for event search, alerts, detection rules, log ingestion and SIEM configuration.",
        "purpose": [
          "Gives MCP clients access to Google Security Operations (Chronicle) for threat detection, investigation and hunting.",
          "Performs security operations tasks in Chronicle, including natural-language event search.",
          "Gets data into Chronicle through raw log and UDM event ingestion, custom parsers and feed configuration."
        ],
        "use_cases": [
          {
            "text": "Retrieve and monitor security alerts from Chronicle.",
            "task": "alert-triage"
          },
          {
            "text": "Run detection rules against historical data as retrohunts and track their results.",
            "task": "detection-engineering"
          },
          {
            "text": "Look up IPs, domains, hashes and other indicators against Chronicle log history.",
            "task": "threat-intel-enrichment"
          },
          {
            "text": "Create and deploy rule exclusions to filter false positives and tune detection rules.",
            "task": "detection-engineering"
          }
        ],
        "maturity": null,
        "capabilities": [
          {
            "name": "Security Tools",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Log Ingestion Tools",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Parser Management Tools",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Data Table Management Tools",
            "effects": [
              "reads",
              "changes",
              "deletes"
            ],
            "enabled": "default"
          },
          {
            "name": "Reference List Management Tools",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Feed Management Tools",
            "effects": [
              "reads",
              "changes",
              "deletes"
            ],
            "enabled": "default"
          },
          {
            "name": "Curated Rules Management Tools",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Rule Exclusions Management Tools",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Watchlist Management Tools",
            "effects": [
              "reads",
              "changes",
              "deletes"
            ],
            "enabled": "default"
          },
          {
            "name": "Investigation Management Tools",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "deletes"
        ],
        "runs": "local-process",
        "listens": [],
        "sends_to": [
          {
            "to": "Google SecOps Chronicle API",
            "kind": "vendor-api",
            "when": "always"
          },
          {
            "to": "Gemini in Chronicle",
            "kind": "vendor-api",
            "when": "optional"
          },
          {
            "to": "Chronicle natural-language translation",
            "kind": "vendor-api",
            "when": "optional"
          }
        ],
        "model": "client",
        "needs": [
          {
            "kind": "account",
            "text": "A Google Security Operations (Chronicle) instance, identified by Google Cloud project ID, Chronicle customer ID and region."
          },
          {
            "kind": "credentials",
            "text": "Google Cloud Application Default Credentials by default, set up with gcloud auth application-default login."
          },
          {
            "kind": "credentials",
            "text": "Optionally a service account JSON key file, whose path is read from SECOPS_SA_PATH."
          },
          {
            "kind": "runtime",
            "text": "Python 3.11 or later."
          },
          {
            "kind": "tools",
            "text": "uv (recommended by the author) or pip to install and run the package."
          },
          {
            "kind": "tools",
            "text": "The gcloud CLI to create Application Default Credentials."
          },
          {
            "kind": "authorization",
            "text": "Chronicle API access for the identity in use, listed as a requirement for the integration tests."
          },
          {
            "kind": "setting",
            "text": "CHRONICLE_PROJECT_ID, CHRONICLE_CUSTOMER_ID, CHRONICLE_REGION and SECOPS_SA_PATH are passed through the env block of the MCP client configuration."
          }
        ]
      },
      "urls": {
        "page": "/catalog/google-secops-mcp/",
        "json": "/entries/google-secops-mcp.json",
        "md": "/catalog/google-secops-mcp.md",
        "badge": "/badge/google-secops-mcp.svg"
      }
    },
    {
      "id": "hexstrike-ai",
      "name": "HexStrike AI",
      "summary": "MCP server that lets an agent drive more than 150 offensive security tools through a local API server, including arbitrary shell commands.",
      "draft": "review",
      "type": "mcp-server",
      "mission": [
        "offensive"
      ],
      "task": [
        "recon-attack-surface",
        "finding-validation"
      ],
      "domain": [
        "network-security",
        "application-security"
      ],
      "runtime": [
        "mcp-generic"
      ],
      "tier": "listed",
      "last_checked": "2026-10-21",
      "next_check": "2027-01-19",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": {
        "rule": "verdict-v0.1",
        "word": "run-isolated",
        "label": "Run isolated",
        "reason": "On your machine it opens an API on all network interfaces with no login: anyone who reaches port 8888 can run shell commands and read or delete files anywhere on the host. The bind address is fixed in the code; no setting changes it.",
        "checked": "2026-10-24",
        "commit": "d689933ff579d839c676c82b231f8e98326c5f04",
        "steps": [
          "Run it only in a lab VM you can throw away.",
          "Firewall port 8888 on that VM.",
          "Or change the bind address at hexstrike_server.py line 17289 to 127.0.0.1.",
          "Keep every HexStrike tool on manual approval in your MCP client and add nothing to alwaysAllow."
        ]
      },
      "code_shows": "writes system paths · can tunnel or exfiltrate · runs shell commands or eval · Secrets: unknown · Approval: unknown",
      "source": {
        "repo": "https://github.com/0x4m4/hexstrike-ai",
        "subpath": null,
        "commit": "d689933ff579d839c676c82b231f8e98326c5f04",
        "version": null,
        "license": "MIT"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "git clone https://github.com/0x4m4/hexstrike-ai.git\ncd hexstrike-ai\npython3 -m venv hexstrike-env\nsource hexstrike-env/bin/activate  # Linux/Mac\npip3 install -r requirements.txt\npython3 hexstrike_server.py",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 3,
        "level_source": "static",
        "level_label": "privileged",
        "unknown_axes": 2,
        "verdict": "not-run",
        "badge": "reach 3 · not run yet",
        "long": "reach 3 from code (privileged); lab: not run yet",
        "declared": {
          "net": 1,
          "exec": 2,
          "hitl": 2
        },
        "static": {
          "level": 3,
          "fs": 3,
          "net": 3,
          "exec": 2,
          "cred": null,
          "persist": 1,
          "hitl": null,
          "unknown": [
            "cred",
            "hitl"
          ]
        },
        "observed": null,
        "surplus": null,
        "fit": null,
        "exports": {
          "aivss": {
            "fs": 1,
            "net": 1,
            "exec": 0.5,
            "cred": null,
            "persist": 0.5,
            "hitl": null
          },
          "usf_risk_tier": "L3"
        }
      },
      "profile": {
        "read_at": "d689933ff579d839c676c82b231f8e98326c5f04",
        "read_on": "2026-10-25",
        "overview": "An MCP framework for penetration testing that connects an AI agent to more than 150 security tools and 12 or more autonomous AI agents.",
        "purpose": [
          "Automate cybersecurity testing by letting AI agents drive security tools.",
          "Serve bug bounty, CTF, red team and security research work."
        ],
        "use_cases": [
          {
            "text": "Run network reconnaissance and port scanning against a target",
            "task": "recon-attack-surface"
          },
          {
            "text": "Test web applications for vulnerabilities",
            "task": "web-api-testing"
          },
          {
            "text": "Develop exploits automatically (AIExploitGenerator)",
            "task": "finding-validation"
          },
          {
            "text": "Assess cloud and container security posture",
            "task": "cloud-iac-posture"
          }
        ],
        "maturity": null,
        "capabilities": [
          {
            "name": "Network Reconnaissance & Scanning",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "Web Application Security Testing",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "Authentication & Password Security",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "Binary Analysis & Reverse Engineering",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "Cloud & Container Security",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "Bug Bounty & OSINT Arsenal",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "File Operations & Payload Generation",
            "effects": [
              "reads",
              "changes",
              "deletes"
            ],
            "enabled": "default"
          },
          {
            "name": "Python Environment Management",
            "effects": [
              "runs-commands",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Advanced Vulnerability Intelligence MCP Tools",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "execute_command (/api/command)",
            "effects": [
              "runs-commands"
            ],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "deletes",
          "runs-commands"
        ],
        "runs": "local-service",
        "listens": [
          {
            "mode": "default",
            "bind": "all-interfaces",
            "sign_in": "none"
          },
          {
            "mode": "optional",
            "bind": "all-interfaces",
            "sign_in": "optional"
          }
        ],
        "sends_to": [
          {
            "to": "NVD (nvd.nist.gov)",
            "kind": "other",
            "when": "optional"
          },
          {
            "to": "GitHub API",
            "kind": "other",
            "when": "optional"
          },
          {
            "to": "User-named target",
            "kind": "target",
            "when": "default"
          },
          {
            "to": "PyPI (pip)",
            "kind": "download",
            "when": "optional"
          }
        ],
        "model": "client",
        "needs": [
          {
            "kind": "runtime",
            "text": "Python 3.8 or later."
          },
          {
            "kind": "tools",
            "text": "The 150+ external security tools installed separately; Kali Linux includes most."
          },
          {
            "kind": "os",
            "text": "Install guide shows a Linux/Mac venv activate command (a Windows activate line is also given on the next line)"
          },
          {
            "kind": "setting",
            "text": "An MCP client configured to launch hexstrike_mcp.py pointing at the server URL."
          },
          {
            "kind": "authorization",
            "text": "Written authorization to test the target systems."
          },
          {
            "kind": "credentials",
            "text": "API keys for cloud tools when those are used."
          },
          {
            "kind": "setting",
            "text": "The shipped client configuration hexstrike-ai-mcp.json is a template whose script path and server address are placeholders the user fills in."
          }
        ]
      },
      "urls": {
        "page": "/catalog/hexstrike-ai/",
        "json": "/entries/hexstrike-ai.json",
        "md": "/catalog/hexstrike-ai.md",
        "badge": "/badge/hexstrike-ai.svg"
      }
    },
    {
      "id": "kevinmhorvath-threat-intel-toolkit",
      "name": "Threat Intel Toolkit",
      "summary": "Claude Code plugin with a subagent and two skills that triage IOCs and CVEs against free threat-intel feeds, without API keys.",
      "draft": "review",
      "type": "plugin",
      "mission": [
        "defensive"
      ],
      "task": [
        "threat-intel-enrichment",
        "vuln-prioritization"
      ],
      "domain": [
        "threat-intelligence",
        "vulnerability-management"
      ],
      "runtime": [
        "claude-code"
      ],
      "tier": "listed",
      "last_checked": "2026-10-21",
      "next_check": "2027-01-19",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "writes outside the project · runs shell commands or eval · Secrets: unknown",
      "source": {
        "repo": "https://github.com/kevinmhorvath/threat-intel-toolkit",
        "subpath": null,
        "commit": "8b5acb27c154eb31234a6ea505b9505b0a682fe6",
        "version": null,
        "license": "MIT"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "/plugin marketplace add kevinmhorvath/threat-intel-toolkit\n/plugin install threat-intel-toolkit@threat-intel-marketplace",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 2,
        "level_source": "static",
        "level_label": "open",
        "unknown_axes": 1,
        "verdict": "not-run",
        "badge": "reach ≥2 · not run yet",
        "long": "reach ≥2 from code (open, 1 right unknown); lab: not run yet",
        "declared": {
          "fs": 2,
          "net": 1,
          "exec": 2,
          "cred": 0,
          "persist": 1
        },
        "static": {
          "level": 2,
          "fs": 2,
          "net": 1,
          "exec": 2,
          "cred": null,
          "persist": 1,
          "hitl": 0,
          "unknown": [
            "cred"
          ]
        },
        "observed": null,
        "surplus": null,
        "fit": null,
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 0.5,
            "exec": 0.5,
            "cred": null,
            "persist": 0.5,
            "hitl": 0
          },
          "usf_risk_tier": "L2"
        }
      },
      "profile": {
        "read_at": "8b5acb27c154eb31234a6ea505b9505b0a682fe6",
        "read_on": "2026-10-25",
        "overview": "Threat Intel Toolkit is a Claude Code plugin with a subagent and two skills for defensive IOC and vulnerability triage on free open-source threat feeds that need no API keys.",
        "purpose": [
          "Answer whether any reputable free feed flags an indicator, and how strongly, as a defensive triage aid.",
          "Rate how ready-made the public exploit material for a CVE is, so defenders and pentesters can prioritize.",
          "Build or refresh a local blocklist from free, key-free open-source feeds."
        ],
        "use_cases": [
          {
            "text": "Enrich a batch of IOCs pasted from a SIEM alert, firewall log, phishing email or incident timeline.",
            "task": "threat-intel-enrichment"
          },
          {
            "text": "Rate exploit maturity and in-the-wild status of CVEs during vulnerability triage, patch prioritization or pentest scoping.",
            "task": "vuln-prioritization"
          },
          {
            "text": "Check a URL from a suspicious email, where a hit on the phishing-domain feed carries the most weight.",
            "task": "email-phishing-analysis"
          },
          {
            "text": "Write a Markdown and CSV report of indicator verdicts for a ticket, IR timeline or client folder.",
            "task": "alert-triage"
          }
        ],
        "maturity": null,
        "capabilities": [
          {
            "name": "ti.py aggregate",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "ti.py lookup",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "ti.py feeds",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "exploit-availability-check",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "threat-intel-analyst",
            "effects": [
              "reads",
              "changes",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "healthcheck.py",
            "effects": [
              "reads"
            ],
            "enabled": "optional"
          },
          {
            "name": "Fallback (no shell)",
            "effects": [
              "reads"
            ],
            "enabled": "optional"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "runs-commands"
        ],
        "runs": "local-process",
        "listens": [],
        "sends_to": [
          {
            "to": "CISA KEV and abuse.ch Feodo Tracker",
            "kind": "download",
            "when": "default"
          },
          {
            "to": "blocklist.de and stamparm/ipsum",
            "kind": "download",
            "when": "default"
          },
          {
            "to": "Emerging Threats and GreenSnow",
            "kind": "download",
            "when": "default"
          },
          {
            "to": "Tor Project and SANS DShield",
            "kind": "download",
            "when": "default"
          },
          {
            "to": "Spamhaus and Phishing.Database",
            "kind": "download",
            "when": "default"
          },
          {
            "to": "FIRST EPSS (api.first.org)",
            "kind": "vendor-api",
            "when": "default"
          },
          {
            "to": "cisa.gov, GitHub and GitLab",
            "kind": "download",
            "when": "default"
          },
          {
            "to": "nomi-sec and trickest PoC indexes",
            "kind": "download",
            "when": "default"
          },
          {
            "to": "Client web search",
            "kind": "other",
            "when": "optional"
          }
        ],
        "model": "client",
        "needs": [
          {
            "kind": "runtime",
            "text": "Needs Python 3.8 or later; the scripts use the standard library and need no pip installs."
          },
          {
            "kind": "runtime",
            "text": "Installs as a plugin from the repository's own single-plugin marketplace (.claude-plugin/marketplace.json and .claude-plugin/plugin.json)."
          },
          {
            "kind": "other",
            "text": "ti.py needs network access to each feed URL to build its cache; each download uses urllib with a 90-second timeout."
          },
          {
            "kind": "other",
            "text": "The first exploit check downloads about 35 MB of feeds into ~/.cache/exploit-availability-check, kept for 24 hours."
          },
          {
            "kind": "other",
            "text": "Indicator lookups need a cache built first with ti.py aggregate, about 13 seconds for about 435k indicators."
          }
        ]
      },
      "urls": {
        "page": "/catalog/kevinmhorvath-threat-intel-toolkit/",
        "json": "/entries/kevinmhorvath-threat-intel-toolkit.json",
        "md": "/catalog/kevinmhorvath-threat-intel-toolkit.md",
        "badge": "/badge/kevinmhorvath-threat-intel-toolkit.svg"
      }
    },
    {
      "id": "sentinelone-purple-mcp",
      "name": "Purple AI MCP Server",
      "summary": "Read-only MCP server for the SentinelOne Singularity platform: Purple AI, data-lake PowerQuery, alerts, vulnerabilities, misconfigurations and inventory.",
      "draft": "review",
      "type": "mcp-server",
      "mission": [
        "defensive"
      ],
      "task": [
        "alert-triage",
        "threat-intel-enrichment"
      ],
      "domain": [
        "security-operations"
      ],
      "runtime": [
        "mcp-generic",
        "claude-code",
        "codex"
      ],
      "tier": "listed",
      "last_checked": "2026-10-21",
      "next_check": "2027-01-19",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "can tunnel or exfiltrate · adds autostart, users or keys · reads broad tokens or the environment · Approval: unknown",
      "source": {
        "repo": "https://github.com/Sentinel-One/purple-mcp",
        "subpath": null,
        "commit": "07d4992089b10affff6163f296b1f6cb5734539f",
        "version": "v0.7.0",
        "license": "MIT"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "uvx --from git+https://github.com/Sentinel-One/purple-mcp.git purple-mcp --mode=stdio",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 3,
        "level_source": "static",
        "level_label": "privileged",
        "unknown_axes": 1,
        "verdict": "not-run",
        "badge": "reach 3 · not run yet",
        "long": "reach 3 from code (privileged); lab: not run yet",
        "declared": {
          "fs": 0,
          "net": 3,
          "cred": 2
        },
        "static": {
          "level": 3,
          "fs": 1,
          "net": 3,
          "exec": 0,
          "cred": 2,
          "persist": 3,
          "hitl": null,
          "unknown": [
            "hitl"
          ]
        },
        "observed": null,
        "surplus": null,
        "fit": null,
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 1,
            "exec": 0,
            "cred": 0.5,
            "persist": 1,
            "hitl": null
          },
          "usf_risk_tier": "L3"
        }
      },
      "profile": {
        "read_at": "07d4992089b10affff6163f296b1f6cb5734539f",
        "read_on": "2026-10-25",
        "overview": "Purple AI MCP Server is an MCP server that lets any MCP client access SentinelOne services.",
        "purpose": [
          "Exposes the SentinelOne platform to AI clients through the Model Context Protocol.",
          "Lets an analyst ask security questions and investigate threats through SentinelOne Purple AI.",
          "Answers questions about endpoints, cloud resources, identities and network devices in the SentinelOne asset inventory."
        ],
        "use_cases": [
          {
            "text": "Investigate and triage SentinelOne alerts, including their notes, history and auto-investigation reports",
            "task": "alert-triage"
          },
          {
            "text": "Enrich indicators of compromise with VirusTotal data for hashes, URLs, domains and IPs",
            "task": "threat-intel-enrichment"
          },
          {
            "text": "Generate PowerQueries with Purple AI for threat hunting and run them against the data lake",
            "task": "detection-engineering"
          },
          {
            "text": "Track CVEs and vulnerability findings recorded in the SentinelOne console",
            "task": "vuln-prioritization"
          }
        ],
        "maturity": "beta",
        "capabilities": [
          {
            "name": "Purple AI",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Data Lake",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Alerts",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Vulnerabilities",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Misconfigurations",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Asset Inventory",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "CVE Search (External)",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Threat Intelligence (External)",
            "effects": [
              "reads"
            ],
            "enabled": "optional"
          },
          {
            "name": "purple_utils",
            "effects": [],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads"
        ],
        "runs": "local-process",
        "listens": [
          {
            "mode": "optional",
            "bind": "loopback",
            "sign_in": "none"
          },
          {
            "mode": "optional",
            "bind": "all-interfaces",
            "sign_in": "none"
          },
          {
            "mode": "optional",
            "bind": "all-interfaces",
            "sign_in": "required"
          }
        ],
        "sends_to": [
          {
            "to": "SentinelOne console",
            "kind": "vendor-api",
            "when": "always"
          },
          {
            "to": "SentinelOne Purple AI",
            "kind": "vendor-api",
            "when": "default"
          },
          {
            "to": "Singularity Data Lake API",
            "kind": "vendor-api",
            "when": "default"
          },
          {
            "to": "cve.circl.lu",
            "kind": "other",
            "when": "default"
          },
          {
            "to": "VirusTotal",
            "kind": "other",
            "when": "optional"
          },
          {
            "to": "Pydantic Logfire",
            "kind": "telemetry",
            "when": "optional"
          },
          {
            "to": "GitHub Sentinel-One/purple-mcp",
            "kind": "download",
            "when": "default"
          }
        ],
        "model": "client",
        "needs": [
          {
            "kind": "account",
            "text": "Needs a SentinelOne account to obtain the console token."
          },
          {
            "kind": "credentials",
            "text": "Needs a console or Service User token with Account or Site scope, not Global, set as PURPLEMCP_CONSOLE_TOKEN."
          },
          {
            "kind": "setting",
            "text": "Needs PURPLEMCP_CONSOLE_BASE_URL set to the HTTPS console URL."
          },
          {
            "kind": "runtime",
            "text": "Needs Python 3.11 or later."
          },
          {
            "kind": "tools",
            "text": "Needs uv, whose uvx command fetches and runs the server."
          },
          {
            "kind": "credentials",
            "text": "The threat-intel tools need a VirusTotal API key in PURPLEMCP_VT_API_KEY; threat_intel_search needs a Premium API key."
          }
        ]
      },
      "urls": {
        "page": "/catalog/sentinelone-purple-mcp/",
        "json": "/entries/sentinelone-purple-mcp.json",
        "md": "/catalog/sentinelone-purple-mcp.md",
        "badge": "/badge/sentinelone-purple-mcp.svg"
      }
    },
    {
      "id": "sentinelone-s1-secops-mcp",
      "name": "SentinelOne MCP Server (s1-secops-mcp)",
      "summary": "Node.js MCP server with 35 tools for the SentinelOne console, data lake, alert management and Hyperautomation, read-only by default.",
      "draft": "review",
      "type": "mcp-server",
      "mission": [
        "defensive"
      ],
      "task": [
        "alert-triage",
        "detection-engineering"
      ],
      "domain": [
        "security-operations"
      ],
      "runtime": [
        "mcp-generic",
        "claude-code"
      ],
      "tier": "listed",
      "last_checked": "2026-10-21",
      "next_check": "2027-01-19",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "writes outside the project · reads broad tokens or the environment · changes config or installs globally · Approval: unknown",
      "source": {
        "repo": "https://github.com/Sentinel-One/ai-siem",
        "subpath": "mcp/s1-secops-mcp",
        "commit": "b84fba9f6e838ee7bda1038f2ea8a4e0c1320b2a",
        "version": "v_1_99_0",
        "license": "AGPL-3.0-only"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "mkdir -p ~/.local/bin && curl -fsSL https://raw.githubusercontent.com/Sentinel-One/ai-siem/main/mcp/docker/s1-secops-mcp-launch.sh -o ~/.local/bin/s1-secops-mcp-launch.sh && sh ~/.local/bin/s1-secops-mcp-launch.sh install",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 2,
        "level_source": "static",
        "level_label": "open",
        "unknown_axes": 1,
        "verdict": "not-run",
        "badge": "reach ≥2 · not run yet",
        "long": "reach ≥2 from code (open, 1 right unknown); lab: not run yet",
        "declared": {
          "fs": 2,
          "net": 1,
          "exec": 1,
          "cred": 2,
          "persist": 3,
          "hitl": 0
        },
        "static": {
          "level": 2,
          "fs": 2,
          "net": 1,
          "exec": 1,
          "cred": 2,
          "persist": 2,
          "hitl": null,
          "unknown": [
            "hitl"
          ]
        },
        "observed": null,
        "surplus": null,
        "fit": null,
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 0.5,
            "exec": 0.5,
            "cred": 0.5,
            "persist": 0.5,
            "hitl": null
          },
          "usf_risk_tier": "L2"
        }
      },
      "profile": {
        "read_at": "b84fba9f6e838ee7bda1038f2ea8a4e0c1320b2a",
        "read_on": "2026-10-25",
        "overview": "A Node.js MCP server that gives an AI client tools for a SentinelOne tenant's Management Console, Singularity Data Lake, UAM Alert Interface and Hyperautomation APIs over stdio.",
        "purpose": [
          "Provides PowerQuery, Management Console API, Unified Alert Management, Singularity Data Lake and Hyperautomation tools for one SentinelOne tenant.",
          "Combines SentinelOne API access with SOC analyst context that it serves to the AI client.",
          "Ships in the ai-siem repository, which the author describes as a community-driven project for SentinelOne's AI SIEM, maintained by SentinelOne but not a formal product."
        ],
        "use_cases": [
          {
            "text": "Triage UAM alerts by status, analyst verdict, assignee and notes; these changes are refused until read-only mode is turned off.",
            "task": "alert-triage"
          },
          {
            "text": "Run PowerQuery hunts and test STAR rule logic against Singularity Data Lake telemetry.",
            "task": "detection-engineering"
          },
          {
            "text": "Export full-event forensic timelines with the LOG raw-event search mode of powerquery_run.",
            "task": "dfir"
          },
          {
            "text": "Download RemoteOps-fetched files, threat files and CSV or ZIP exports from the console to a local file.",
            "task": "dfir"
          }
        ],
        "maturity": null,
        "capabilities": [
          {
            "name": "PowerQuery",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Mgmt Console",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "SDL API",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Hyperautomation",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Write tools (S1_READ_ONLY=false)",
            "effects": [
              "changes",
              "deletes"
            ],
            "enabled": "optional"
          },
          {
            "name": "UAM Ingest",
            "effects": [
              "changes"
            ],
            "enabled": "optional"
          },
          {
            "name": "CLI (setup / status / forget / exec)",
            "effects": [
              "reads",
              "changes",
              "deletes",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "Resources and prompts",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "deletes",
          "runs-commands"
        ],
        "runs": "container",
        "listens": [],
        "sends_to": [
          {
            "to": "SentinelOne Management Console",
            "kind": "vendor-api",
            "when": "always"
          },
          {
            "to": "Singularity Data Lake (<console>/sdl)",
            "kind": "vendor-api",
            "when": "default"
          },
          {
            "to": "Purple AI (console GraphQL)",
            "kind": "vendor-api",
            "when": "optional"
          },
          {
            "to": "HEC ingest host",
            "kind": "vendor-api",
            "when": "optional"
          },
          {
            "to": "raw.githubusercontent.com",
            "kind": "download",
            "when": "default"
          },
          {
            "to": "sentinelone/secops-mcps image",
            "kind": "download",
            "when": "default"
          }
        ],
        "model": "client",
        "needs": [
          {
            "kind": "credentials",
            "text": "S1_CONSOLE_URL and S1_CONSOLE_API_TOKEN, a Management Console API token of a service user or console user, used by the Mgmt API, UAM, PowerQuery and SDL tools."
          },
          {
            "kind": "credentials",
            "text": "S1_HEC_TOKEN, an SDL Log Write Key minted for one account or site, is needed for hec_ingest only."
          },
          {
            "kind": "authorization",
            "text": "The console token's role is the authoritative control over writes; the server's read-only mode is a guard on top of it."
          },
          {
            "kind": "authorization",
            "text": "ha_import_workflow needs the Hyper Automate.write permission on the token's role."
          },
          {
            "kind": "runtime",
            "text": "Node 24 or later when running from a clone."
          },
          {
            "kind": "container",
            "text": "Docker for the recommended keychain-launcher install."
          },
          {
            "kind": "setting",
            "text": "Write tools need S1_READ_ONLY=false, which install --read-write adds to the Docker launcher entry."
          },
          {
            "kind": "tools",
            "text": "An OS keychain backend: /usr/bin/security on macOS, secret-tool with a D-Bus session on Linux, or @napi-rs/keyring on Windows; otherwise environment variables."
          }
        ]
      },
      "urls": {
        "page": "/catalog/sentinelone-s1-secops-mcp/",
        "json": "/entries/sentinelone-s1-secops-mcp.json",
        "md": "/catalog/sentinelone-s1-secops-mcp.md",
        "badge": "/badge/sentinelone-s1-secops-mcp.svg"
      }
    },
    {
      "id": "sentinelone-s1-secops-skills",
      "name": "SentinelOne AI Analyst: Claude Skills",
      "summary": "Claude plugin with eight SentinelOne skills for threat hunting, alert triage, detections, dashboards, parsers and Hyperautomation workflows.",
      "draft": "review",
      "type": "plugin",
      "mission": [
        "defensive"
      ],
      "task": [
        "alert-triage",
        "detection-engineering"
      ],
      "domain": [
        "security-operations"
      ],
      "runtime": [
        "claude-code"
      ],
      "tier": "listed",
      "last_checked": "2026-10-21",
      "next_check": "2027-01-19",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "can tunnel or exfiltrate · adds autostart, users or keys · writes outside the project · runs shell commands or eval · reads broad tokens or the environment · Approval: unknown",
      "source": {
        "repo": "https://github.com/Sentinel-One/ai-siem",
        "subpath": "plugins/s1-secops-skills",
        "commit": "b84fba9f6e838ee7bda1038f2ea8a4e0c1320b2a",
        "version": "v_1_99_0",
        "license": "AGPL-3.0-only"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "Download the latest `s1-secops-skills-v*.plugin` from [ai-siem `plugins/s1-secops-skills/dist/`](./dist/). In Claude Desktop: **Cowork → Customize → Browse plugins**, then upload the `.plugin` file. All eight skills install in one step.",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 3,
        "level_source": "static",
        "level_label": "privileged",
        "unknown_axes": 1,
        "verdict": "not-run",
        "badge": "reach 3 · not run yet",
        "long": "reach 3 from code (privileged); lab: not run yet",
        "declared": {
          "fs": 2,
          "net": 3,
          "exec": 2,
          "cred": 2,
          "persist": 3,
          "hitl": 0
        },
        "static": {
          "level": 3,
          "fs": 2,
          "net": 3,
          "exec": 2,
          "cred": 2,
          "persist": 3,
          "hitl": null,
          "unknown": [
            "hitl"
          ]
        },
        "observed": null,
        "surplus": null,
        "fit": null,
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 1,
            "exec": 0.5,
            "cred": 0.5,
            "persist": 1,
            "hitl": null
          },
          "usf_risk_tier": "L3"
        }
      },
      "profile": {
        "read_at": "b84fba9f6e838ee7bda1038f2ea8a4e0c1320b2a",
        "read_on": "2026-10-25",
        "overview": "A Claude plugin of SentinelOne SecOps skills for PowerQuery threat hunting and STAR/Custom Detection rules, the Management Console and Singularity Data Lake APIs, SDL dashboards, OCSF log parsing, Hyperautomation SOAR, autonomous DFIR alert investigation and 10 one-prompt SDL solutions.",
        "purpose": [
          "Lets Claude hunt threats, triage alerts, write detections, deploy dashboards, author parsers and build automation workflows for a SentinelOne tenant from natural language.",
          "CLAUDE.md sets a Principal SOC Analyst persona that runs the same enrichment, correlation and reasoning process on every alert.",
          "The sdl-solutions skill deploys packaged Singularity Data Lake solutions into a site from one prompt."
        ],
        "use_cases": [
          {
            "text": "List open threats, triage UAM alerts, add analyst notes, change alert status or isolate an endpoint",
            "task": "alert-triage"
          },
          {
            "text": "Scaffold a Git and CI pipeline that keeps detection rules as TOML and syncs them to the Custom Detection Rule API",
            "task": "detection-engineering"
          },
          {
            "text": "Run a staged DFIR investigation of SentinelOne alerts in SHORT, MEDIUM or LONG mode",
            "task": "dfir"
          },
          {
            "text": "Enrich IPs, domains, hashes and URLs through the configured threat-intel MCP before a verdict",
            "task": "threat-intel-enrichment"
          }
        ],
        "maturity": null,
        "capabilities": [
          {
            "name": "powerquery",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "mgmt-console-api",
            "effects": [
              "reads",
              "changes",
              "deletes"
            ],
            "enabled": "default"
          },
          {
            "name": "sdl-api",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "sdl-dashboard",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "sdl-log-parser",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "hyperautomation",
            "effects": [
              "reads",
              "changes",
              "deletes"
            ],
            "enabled": "default"
          },
          {
            "name": "sdl-solutions",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "soc-investigator",
            "effects": [
              "reads",
              "sends-data"
            ],
            "enabled": "default"
          },
          {
            "name": "CLAUDE.md persona",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "host-only Python scripts",
            "effects": [
              "reads",
              "changes",
              "runs-commands"
            ],
            "enabled": "optional"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "deletes",
          "runs-commands",
          "sends-data"
        ],
        "runs": "in-client",
        "listens": [
          {
            "mode": "optional",
            "bind": "loopback",
            "sign_in": "none"
          }
        ],
        "sends_to": [
          {
            "to": "SentinelOne console and SDL APIs",
            "kind": "vendor-api",
            "when": "always"
          },
          {
            "to": "Purple AI",
            "kind": "vendor-api",
            "when": "optional"
          },
          {
            "to": "VirusTotal",
            "kind": "other",
            "when": "default"
          },
          {
            "to": "Shodan",
            "kind": "other",
            "when": "optional"
          },
          {
            "to": "cve-search.org (CIRCL)",
            "kind": "other",
            "when": "default"
          },
          {
            "to": "Docker Hub",
            "kind": "download",
            "when": "default"
          }
        ],
        "model": "client",
        "needs": [
          {
            "kind": "credentials",
            "text": "A SentinelOne Management Console API token from a service user plus the console URL."
          },
          {
            "kind": "authorization",
            "text": "Token role Viewer or higher for reads; IR Team or higher for response actions."
          },
          {
            "kind": "container",
            "text": "Docker Desktop or Docker Engine, running."
          },
          {
            "kind": "os",
            "text": "An OS keychain: macOS keychain, Linux Secret Service (unlocked) or Windows Credential Manager."
          },
          {
            "kind": "credentials",
            "text": "A VirusTotal API key, used by the VirusTotal MCP and purple-mcp threat-intel tools."
          },
          {
            "kind": "other",
            "text": "The documented plugin install uploads the .plugin file in Claude Desktop under Cowork, Customize, Browse plugins."
          },
          {
            "kind": "account",
            "text": "purple_ai queries need a Purple AI entitlement on the tenant."
          },
          {
            "kind": "setting",
            "text": "Tenant-changing tools need S1_READ_ONLY=false on s1-secops-mcp and a client restart."
          }
        ]
      },
      "urls": {
        "page": "/catalog/sentinelone-s1-secops-skills/",
        "json": "/entries/sentinelone-s1-secops-skills.json",
        "md": "/catalog/sentinelone-s1-secops-skills.md",
        "badge": "/badge/sentinelone-s1-secops-skills.svg"
      }
    },
    {
      "id": "taherkaraki-tie-mcp-server",
      "name": "Supercharged Tenable Identity Exposure MCP Server",
      "summary": "MCP server that exposes the Tenable Identity Exposure API as 133 tools, from Active Directory exposure queries to user and API-key management.",
      "draft": "review",
      "type": "mcp-server",
      "mission": [
        "defensive"
      ],
      "task": [
        "identity-attack-paths"
      ],
      "domain": [
        "identity-access"
      ],
      "runtime": [
        "mcp-generic",
        "claude-code"
      ],
      "tier": "listed",
      "last_checked": "2026-10-21",
      "next_check": "2027-01-19",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "adds autostart, users or keys · Approval: unknown",
      "source": {
        "repo": "https://github.com/taherkaraki/tie-mcp-server",
        "subpath": null,
        "commit": "3b7f48dd4bcd53a35773a9768d357f086adb7d00",
        "version": "v0.2.1",
        "license": "MIT"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "{ \"command\": \"npx\", \"args\": [\"-y\", \"tie-mcp-server\"] }",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 3,
        "level_source": "static",
        "level_label": "privileged",
        "unknown_axes": 1,
        "verdict": "not-run",
        "badge": "reach 3 · not run yet",
        "long": "reach 3 from code (privileged); lab: not run yet",
        "declared": {
          "net": 1,
          "cred": 1,
          "persist": 3,
          "hitl": 1
        },
        "static": {
          "level": 3,
          "fs": 1,
          "net": 1,
          "exec": 1,
          "cred": 1,
          "persist": 3,
          "hitl": null,
          "unknown": [
            "hitl"
          ]
        },
        "observed": null,
        "surplus": null,
        "fit": null,
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 0.5,
            "exec": 0.5,
            "cred": 0.5,
            "persist": 1,
            "hitl": null
          },
          "usf_risk_tier": "L3"
        }
      },
      "profile": {
        "read_at": "3b7f48dd4bcd53a35773a9768d357f086adb7d00",
        "read_on": "2026-10-25",
        "overview": "MCP server for the Tenable Identity Exposure (TIE) API. It exposes each of the 131 API operations as its own MCP tool and adds two hand-written discovery tools.",
        "purpose": [
          "Lets Claude interact with Tenable Identity Exposure (TIE) environments.",
          "Maps every TIE API operation to its own tool so clients can allow or block single operations by tool name.",
          "Supports several TIE environments by adding one server instance per environment."
        ],
        "use_cases": [
          {
            "text": "Analyse attacks, deviances and checkers reported by Identity Exposure.",
            "task": "identity-attack-paths"
          },
          {
            "text": "Monitor alerts, events and notifications from Identity Exposure.",
            "task": "alert-triage"
          },
          {
            "text": "Update a deviance with update_deviance, as shown in a README code example.",
            "task": "identity-attack-paths"
          },
          {
            "text": "Produce reports from exports, dashboards and topology.",
            "task": null
          }
        ],
        "maturity": null,
        "capabilities": [
          {
            "name": "Discovery",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "AD Objects",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Alerts, API Keys",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Attack Types, Attacks (IoA)",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Checkers (IoE)",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Deviances (IoE)",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Events",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Profiles",
            "effects": [
              "reads",
              "changes",
              "deletes"
            ],
            "enabled": "default"
          },
          {
            "name": "Users",
            "effects": [
              "reads",
              "changes",
              "deletes"
            ],
            "enabled": "default"
          },
          {
            "name": "Syslogs",
            "effects": [
              "reads",
              "changes",
              "deletes"
            ],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "deletes"
        ],
        "runs": "local-process",
        "listens": [],
        "sends_to": [
          {
            "to": "TIE instance at TIE_BASE_URL",
            "kind": "vendor-api",
            "when": "always"
          },
          {
            "to": "npm registry",
            "kind": "download",
            "when": "default"
          }
        ],
        "model": "client",
        "needs": [
          {
            "kind": "runtime",
            "text": "Node.js 18 or later."
          },
          {
            "kind": "credentials",
            "text": "A TIE API key, set in TIE_API_KEY."
          },
          {
            "kind": "account",
            "text": "A Tenable Identity Exposure instance; its URL goes into TIE_BASE_URL."
          },
          {
            "kind": "authorization",
            "text": "The account behind the API key needs the permissions in TIE that the called operations require."
          },
          {
            "kind": "other",
            "text": "Each generated tool records the TIE product licence types its endpoint requires (licenseTypes)."
          }
        ]
      },
      "urls": {
        "page": "/catalog/taherkaraki-tie-mcp-server/",
        "json": "/entries/taherkaraki-tie-mcp-server.json",
        "md": "/catalog/taherkaraki-tie-mcp-server.md",
        "badge": "/badge/taherkaraki-tie-mcp-server.svg"
      }
    },
    {
      "id": "tomabai-malware-analyst",
      "name": "Malware Analyst",
      "summary": "Agent skill that walks through a static malware analysis: deobfuscation, IOC extraction and detection signatures.",
      "draft": "review",
      "type": "skill",
      "mission": [
        "defensive"
      ],
      "task": [
        "malware-reversing",
        "detection-engineering"
      ],
      "domain": [
        "security-operations"
      ],
      "runtime": [
        "claude-code"
      ],
      "tier": "listed",
      "last_checked": "2026-10-21",
      "next_check": "2027-01-19",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "runs shell commands or eval · Secrets: unknown",
      "source": {
        "repo": "https://github.com/tomabai/malware-analyst",
        "subpath": null,
        "commit": "da852e499faad38a539d43b6000bd4bc8d0b11b9",
        "version": null,
        "license": "MIT"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "Place the `malware-analyst/` directory (containing `SKILL.md`) in your `~/.claude/skills/` directory",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 2,
        "level_source": "static",
        "level_label": "open",
        "unknown_axes": 1,
        "verdict": "not-run",
        "badge": "reach ≥2 · not run yet",
        "long": "reach ≥2 from code (open, 1 right unknown); lab: not run yet",
        "declared": {
          "exec": 0
        },
        "static": {
          "level": 2,
          "fs": 1,
          "net": 0,
          "exec": 2,
          "cred": null,
          "persist": 0,
          "hitl": 0,
          "unknown": [
            "cred"
          ]
        },
        "observed": null,
        "surplus": null,
        "fit": null,
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 0,
            "exec": 0.5,
            "cred": null,
            "persist": 0,
            "hitl": 0
          },
          "usf_risk_tier": "L2"
        }
      },
      "profile": {
        "read_at": "da852e499faad38a539d43b6000bd4bc8d0b11b9",
        "read_on": "2026-10-25",
        "overview": "A static malware analysis skill that deobfuscates and reverse-engineers suspicious files and writes detection signatures for them.",
        "purpose": [
          "Deobfuscates suspicious files layer by layer, explains what the code does, extracts indicators of compromise and writes variant-agnostic detection signatures.",
          "Meant for files a user shares as suspicious, obfuscated scripts, and samples of named families such as Sandworm, Agent Tesla and malOpenclaw.",
          "Produces indicators of compromise as concrete artifacts for detection and incident response."
        ],
        "use_cases": [
          {
            "text": "Deobfuscate an obfuscated script or dropper layer by layer (base64, hex, XOR, eval/exec wrappers, custom ciphers) and show each layer.",
            "task": "malware-reversing"
          },
          {
            "text": "Extract network, filesystem, behavioural and cryptographic IOCs from a sample, each tagged with a confidence level.",
            "task": "dfir"
          },
          {
            "text": "Write text-based signatures for grep, YARA strings or SIEM rules.",
            "task": "detection-engineering"
          },
          {
            "text": "Triage a compiled binary by noting its format, extracting readable strings and imports, and flagging suspicious API calls.",
            "task": "malware-reversing"
          }
        ],
        "maturity": null,
        "capabilities": [
          {
            "name": "Phase 1: Initial Triage",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Phase 2: Full Deobfuscation",
            "effects": [
              "reads",
              "changes",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "Phase 3: Behavioral Analysis",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Phase 4: IOC Extraction",
            "effects": [
              "reads",
              "changes",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "Phase 5: Detection Signatures",
            "effects": [],
            "enabled": "default"
          },
          {
            "name": "Phase 6: Threat Summary",
            "effects": [],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "runs-commands"
        ],
        "runs": "in-client",
        "listens": [],
        "sends_to": [],
        "model": "client",
        "needs": [
          {
            "kind": "runtime",
            "text": "Claude Code as the AI client."
          },
          {
            "kind": "tools",
            "text": "node for JavaScript decryptors and uv for Python decryptors when a layer needs a static decryptor."
          }
        ]
      },
      "urls": {
        "page": "/catalog/tomabai-malware-analyst/",
        "json": "/entries/tomabai-malware-analyst.json",
        "md": "/catalog/tomabai-malware-analyst.md",
        "badge": "/badge/tomabai-malware-analyst.svg"
      }
    },
    {
      "id": "cloudflare-security-audit-skill",
      "name": "Cloudflare Security Audit Skill",
      "summary": "Agent skill that runs a multi-phase, source-first security audit of a codebase and verifies each candidate finding.",
      "draft": "review",
      "type": "skill",
      "mission": [
        "defensive"
      ],
      "task": [
        "code-review-sast"
      ],
      "domain": [
        "application-security"
      ],
      "runtime": [
        "claude-code"
      ],
      "tier": "listed",
      "last_checked": "2026-10-19",
      "next_check": "2027-01-17",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "writes outside the project · runs shell commands or eval · reads broad tokens or the environment",
      "source": {
        "repo": "https://github.com/cloudflare/security-audit-skill",
        "subpath": "skills/security-audit",
        "commit": "c1c8a8c1471069fb0e188eeaff69b8e8db6564a8",
        "version": null,
        "license": "MIT"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "npx skills add https://github.com/cloudflare/security-audit-skill \\\n  --skill security-audit",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 2,
        "level_source": "static",
        "level_label": "open",
        "unknown_axes": 0,
        "verdict": "not-run",
        "badge": "reach 2 · not run yet",
        "long": "reach 2 from code (open); lab: not run yet",
        "declared": {
          "fs": 2,
          "net": 0,
          "exec": 2,
          "cred": 0,
          "persist": 1
        },
        "static": {
          "level": 2,
          "fs": 2,
          "net": 0,
          "exec": 2,
          "cred": 2,
          "persist": 1,
          "hitl": 0,
          "unknown": []
        },
        "observed": null,
        "surplus": null,
        "fit": null,
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 0,
            "exec": 0.5,
            "cred": 0.5,
            "persist": 0.5,
            "hitl": 0
          },
          "usf_risk_tier": "L2"
        }
      },
      "profile": {
        "read_at": "c1c8a8c1471069fb0e188eeaff69b8e8db6564a8",
        "read_on": "2026-10-25",
        "overview": "An agent skill for security guidance and vulnerability review of codebases, APIs, services, CLI tools, libraries and daemons. It runs the complete audit workflow only for an explicit codebase audit or pen-test request, a full or end-to-end review, or requested report artifacts.",
        "purpose": [
          "Finds vulnerabilities that cross a real trust boundary and gives owners source evidence, safe reproduction, priority and the smallest effective fix.",
          "Turns a coding agent into a security auditor that coordinates isolated agents through reconnaissance, hunting, validation, verification and reporting.",
          "Answers security questions and supports focused reviews, methodology, triage and investigation of specific findings."
        ],
        "use_cases": [
          {
            "text": "Audit a codebase for security vulnerabilities from its source with a coding agent started in or pointed at the repository.",
            "task": "code-review-sast"
          },
          {
            "text": "Review code where a language model takes part in trust-sensitive decisions: RAG pipelines, agent memory, tool-calling loops, MCP servers and clients.",
            "task": "code-review-sast"
          },
          {
            "text": "Review cloud identity, infrastructure-as-code, container, Kubernetes and serverless definitions in a repository.",
            "task": "cloud-iac-posture"
          },
          {
            "text": "Review dependency resolution, CI, release, signing and plugin loading in a repository for supply-chain flaws.",
            "task": "dependencies-secrets"
          }
        ],
        "maturity": null,
        "capabilities": [
          {
            "name": "Guidance mode",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Reconnaissance",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "optional"
          },
          {
            "name": "Coverage-led hunting",
            "effects": [
              "reads"
            ],
            "enabled": "optional"
          },
          {
            "name": "Use bounded local evidence",
            "effects": [
              "runs-commands"
            ],
            "enabled": "optional"
          },
          {
            "name": "Candidate validation",
            "effects": [
              "reads"
            ],
            "enabled": "optional"
          },
          {
            "name": "Structured output",
            "effects": [
              "changes"
            ],
            "enabled": "optional"
          },
          {
            "name": "Independent record verification",
            "effects": [
              "reads"
            ],
            "enabled": "optional"
          },
          {
            "name": "Target-neutral reporting",
            "effects": [
              "changes"
            ],
            "enabled": "optional"
          },
          {
            "name": "Findings and coverage-ledger validators",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "optional"
          },
          {
            "name": "ATTACK-CLASSES.md and domain companions",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "runs-commands"
        ],
        "runs": "in-client",
        "listens": [],
        "sends_to": [],
        "model": "client",
        "needs": [
          {
            "kind": "other",
            "text": "A coding agent whose model supports tool use and parallel sub-agents."
          },
          {
            "kind": "runtime",
            "text": "Node.js to run the findings and coverage-ledger validators."
          },
          {
            "kind": "os",
            "text": "OS-enforced sandbox (no external network, allowlisted env, resource limits, scratch-only writes) to run target code; without it leads stay needs_validation."
          },
          {
            "kind": "tools",
            "text": "Target toolchains and dependencies must already be present locally; the skill tells agents not to install or fetch them."
          }
        ]
      },
      "urls": {
        "page": "/catalog/cloudflare-security-audit-skill/",
        "json": "/entries/cloudflare-security-audit-skill.json",
        "md": "/catalog/cloudflare-security-audit-skill.md",
        "badge": "/badge/cloudflare-security-audit-skill.svg"
      }
    },
    {
      "id": "hackingbuddygpt",
      "name": "hackingBuddyGPT",
      "summary": "Open-source framework for building LLM-driven security-testing agents, with use cases for Linux privilege escalation and web API testing.",
      "draft": "review",
      "type": "agent",
      "mission": [
        "offensive"
      ],
      "task": [
        "web-api-testing",
        "identity-attack-paths"
      ],
      "domain": [
        "application-security",
        "identity-access"
      ],
      "runtime": [
        "standalone"
      ],
      "tier": "listed",
      "last_checked": "2026-10-19",
      "next_check": "2027-01-17",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "writes outside the project · talks to any host · runs shell commands or eval · reads broad tokens or the environment · changes config or installs globally · has broad pre-approvals",
      "source": {
        "repo": "https://github.com/ipa-lab/hackingBuddyGPT",
        "subpath": null,
        "commit": "799f57e9d439ff80da506714fcf6c5124b342cd6",
        "version": "0.5.0",
        "license": "MIT"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "git clone https://github.com/ipa-lab/hackingBuddyGPT.git\ncd hackingBuddyGPT\nuv sync\nsource .venv/bin/activate",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 2,
        "level_source": "static",
        "level_label": "open",
        "unknown_axes": 0,
        "verdict": "not-run",
        "badge": "reach 2 · not run yet",
        "long": "reach 2 from code (open); lab: not run yet",
        "declared": {
          "fs": 2,
          "net": 1,
          "exec": 2,
          "cred": 1,
          "hitl": 2
        },
        "static": {
          "level": 2,
          "fs": 2,
          "net": 2,
          "exec": 2,
          "cred": 2,
          "persist": 2,
          "hitl": 2,
          "unknown": []
        },
        "observed": null,
        "surplus": null,
        "fit": null,
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 0.5,
            "exec": 0.5,
            "cred": 0.5,
            "persist": 0.5,
            "hitl": 0.5
          },
          "usf_risk_tier": "L2"
        }
      },
      "profile": {
        "read_at": "799f57e9d439ff80da506714fcf6c5124b342cd6",
        "read_on": "2026-10-25",
        "overview": "An open-source Python framework for building LLM-driven security-testing agents; experiments are written as use-cases, shipped ones covering Linux and Windows privilege escalation, web and web-API testing, and Active Directory assumed-breach.",
        "purpose": [
          "Build LLM-driven security-testing agents while the framework supplies LLM connectivity, target connectors, run limits and logging.",
          "Support reproducible research alongside a re-usable Linux privilege-escalation benchmark."
        ],
        "use_cases": [
          {
            "text": "Escalate privileges on a Linux SSH target",
            "task": "identity-attack-paths"
          },
          {
            "text": "Pentest a REST API detected from an OpenAPI spec or sitemap",
            "task": "web-api-testing"
          },
          {
            "text": "Run an Active Directory assumed-breach pentest",
            "task": "identity-attack-paths"
          },
          {
            "text": "Test a web page over HTTP",
            "task": "web-api-testing"
          }
        ],
        "maturity": "beta",
        "capabilities": [
          {
            "name": "LocalShellCapability",
            "effects": [
              "runs-commands"
            ],
            "enabled": "optional"
          },
          {
            "name": "PSExecRunCommand",
            "effects": [
              "runs-commands"
            ],
            "enabled": "optional"
          },
          {
            "name": "HTTPRequest",
            "effects": [
              "sends-data"
            ],
            "enabled": "optional"
          },
          {
            "name": "PentestPlaybook",
            "effects": [
              "reads"
            ],
            "enabled": "optional"
          },
          {
            "name": "record_note / submit_flag / task_solved",
            "effects": [
              "reads"
            ],
            "enabled": "optional"
          },
          {
            "name": "SubAgentCapability",
            "effects": [
              "runs-commands"
            ],
            "enabled": "optional"
          },
          {
            "name": "HTTPRequest",
            "effects": [
              "changes",
              "deletes",
              "sends-data"
            ],
            "enabled": "optional"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "deletes",
          "runs-commands",
          "sends-data"
        ],
        "runs": "local-program",
        "listens": [],
        "sends_to": [
          {
            "to": "OpenRouter / litellm-reachable LLM provider",
            "kind": "model-provider",
            "when": "always"
          },
          {
            "to": "SSH target",
            "kind": "target",
            "when": "default"
          },
          {
            "to": "HTTP target host",
            "kind": "target",
            "when": "optional"
          },
          {
            "to": "Windows psexec target",
            "kind": "target",
            "when": "optional"
          },
          {
            "to": "intercepting proxy (Burp/mitmproxy)",
            "kind": "other",
            "when": "optional"
          },
          {
            "to": "OpenAI embeddings",
            "kind": "model-provider",
            "when": "optional"
          },
          {
            "to": "OpenRouter / Anthropic",
            "kind": "model-provider",
            "when": "default"
          }
        ],
        "model": "own-key",
        "needs": [
          {
            "kind": "runtime",
            "text": "Python 3.13 or newer."
          },
          {
            "kind": "model-key",
            "text": "An LLM provider API key (litellm format), default endpoint OpenRouter."
          },
          {
            "kind": "credentials",
            "text": "Target credentials for target-driving use-cases (SSH or Windows username and password)."
          },
          {
            "kind": "authorization",
            "text": "A target you own or are authorized to test."
          },
          {
            "kind": "tools",
            "text": "A running tmux session when using local_shell mode."
          }
        ]
      },
      "urls": {
        "page": "/catalog/hackingbuddygpt/",
        "json": "/entries/hackingbuddygpt.json",
        "md": "/catalog/hackingbuddygpt.md",
        "badge": "/badge/hackingbuddygpt.svg"
      }
    },
    {
      "id": "keygraph-shannon",
      "name": "Shannon",
      "summary": "Autonomous white-box AI penetration tester for web apps and APIs; reports only vulnerabilities it proves by exploitation.",
      "draft": "review",
      "type": "agent",
      "mission": [
        "offensive"
      ],
      "task": [
        "web-api-testing"
      ],
      "domain": [
        "application-security",
        "vulnerability-management"
      ],
      "runtime": [
        "standalone"
      ],
      "tier": "listed",
      "last_checked": "2026-10-19",
      "next_check": "2027-01-17",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "bypasses approval · writes outside the project · talks to any host · runs shell commands or eval · changes config or installs globally",
      "source": {
        "repo": "https://github.com/KeygraphHQ/shannon",
        "subpath": null,
        "commit": "f6a770d1199934e1e0b8af25e47f4faed96f3723",
        "version": "v3.4.0",
        "license": "AGPL-3.0"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "npx @keygraph/shannon@latest setup\nnpx @keygraph/shannon@latest start \\\n  -u https://your-app.com \\\n  -r /path/to/your/repo",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 3,
        "level_source": "static",
        "level_label": "privileged",
        "unknown_axes": 0,
        "verdict": "not-run",
        "badge": "reach 3 · not run yet",
        "long": "reach 3 from code (privileged); lab: not run yet",
        "declared": {
          "fs": 1,
          "net": 1,
          "exec": 2,
          "cred": 1,
          "persist": 2,
          "hitl": 2
        },
        "static": {
          "level": 3,
          "fs": 2,
          "net": 2,
          "exec": 2,
          "cred": 1,
          "persist": 2,
          "hitl": 3,
          "unknown": []
        },
        "observed": null,
        "surplus": null,
        "fit": null,
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 0.5,
            "exec": 0.5,
            "cred": 0.5,
            "persist": 0.5,
            "hitl": 1
          },
          "usf_risk_tier": "L3"
        }
      },
      "profile": {
        "read_at": "f6a770d1199934e1e0b8af25e47f4faed96f3723",
        "read_on": "2026-10-25",
        "overview": "Shannon is an autonomous AI pentester for web applications and APIs.",
        "purpose": [
          "It tests web applications and their APIs by combining source-code analysis with live exploitation against the running application.",
          "It is meant to run exploitation-backed tests against staging environments and releases as part of the development lifecycle."
        ],
        "use_cases": [
          {
            "text": "Test a running web app and its API for injection, XSS, SSRF, broken authentication and broken authorization.",
            "task": "web-api-testing"
          },
          {
            "text": "Run Shannon through the GitHub Action or GitLab CI/CD component and gate releases on proven vulnerabilities.",
            "task": "finding-validation"
          },
          {
            "text": "Run agentic static analysis that reads the repository for vulnerabilities before the pentest.",
            "task": "code-review-sast"
          }
        ],
        "maturity": null,
        "capabilities": [
          {
            "name": "Pre-Recon / Recon",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "Vulnerability Analysis",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "Exploitation",
            "effects": [
              "changes",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "Agentic SAST (Capella)",
            "effects": [
              "reads"
            ],
            "enabled": "optional"
          },
          {
            "name": "Reporting",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Agent tools (pi harness)",
            "effects": [
              "reads",
              "changes",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "playwright-cli",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "runs-commands"
        ],
        "runs": "container",
        "listens": [
          {
            "mode": "default",
            "bind": "loopback",
            "sign_in": "unknown"
          },
          {
            "mode": "default",
            "bind": "loopback",
            "sign_in": "unknown"
          }
        ],
        "sends_to": [
          {
            "to": "Model provider",
            "kind": "model-provider",
            "when": "always"
          },
          {
            "to": "Target URL",
            "kind": "target",
            "when": "always"
          },
          {
            "to": "Docker Hub",
            "kind": "download",
            "when": "default"
          },
          {
            "to": "pi model catalogue",
            "kind": "download",
            "when": "always"
          },
          {
            "to": "Anthropic / OpenAI",
            "kind": "model-provider",
            "when": "default"
          },
          {
            "to": "Anthropic",
            "kind": "model-provider",
            "when": "default"
          }
        ],
        "model": "own-key",
        "needs": [
          {
            "kind": "container",
            "text": "Docker is required for the worker container."
          },
          {
            "kind": "runtime",
            "text": "Node.js 18+ for the npx workflow."
          },
          {
            "kind": "model-key",
            "text": "A key in SHANNON_AI_API_KEY for the provider SHANNON_AI_MODEL names; Bedrock uses its AWS_ variables instead."
          },
          {
            "kind": "account",
            "text": "When the provider is Anthropic or OpenAI, their real-time cyber safeguards apply and can interrupt a scan; their guidance for security testers is to be completed before the first run."
          },
          {
            "kind": "authorization",
            "text": "Explicit written authorization from the owner of the target system."
          },
          {
            "kind": "os",
            "text": "On Windows it needs WSL2; native Windows is not supported."
          }
        ]
      },
      "urls": {
        "page": "/catalog/keygraph-shannon/",
        "json": "/entries/keygraph-shannon.json",
        "md": "/catalog/keygraph-shannon.md",
        "badge": "/badge/keygraph-shannon.svg"
      }
    },
    {
      "id": "mukul975-email-header-analysis",
      "name": "Email Header Phishing Analysis",
      "summary": "One skill from a large community collection: parses email headers to trace a phishing message and check SPF, DKIM and DMARC.",
      "draft": "review",
      "type": "skill",
      "mission": [
        "defensive"
      ],
      "task": [
        "email-phishing-analysis"
      ],
      "domain": [
        "email-collaboration-security"
      ],
      "runtime": [
        "claude-code",
        "codex",
        "cursor",
        "gemini-cli",
        "copilot"
      ],
      "tier": "listed",
      "last_checked": "2026-10-19",
      "next_check": "2027-01-17",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "writes outside the project · talks to any host · runs shell commands or eval · reads broad tokens or the environment · changes config or installs globally",
      "source": {
        "repo": "https://github.com/mukul975/Anthropic-Cybersecurity-Skills",
        "subpath": "skills/analyzing-email-headers-for-phishing-investigation",
        "commit": "101ca0bd887a295e39cc20a100efa571937ca969",
        "version": "v1.3.0",
        "license": "Apache-2.0"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "npx skills add mukul975/Anthropic-Cybersecurity-Skills",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 2,
        "level_source": "static",
        "level_label": "open",
        "unknown_axes": 0,
        "verdict": "not-run",
        "badge": "reach 2 · not run yet",
        "long": "reach 2 from code (open); lab: not run yet",
        "declared": {},
        "static": {
          "level": 2,
          "fs": 2,
          "net": 2,
          "exec": 2,
          "cred": 2,
          "persist": 2,
          "hitl": 0,
          "unknown": []
        },
        "observed": null,
        "surplus": null,
        "fit": null,
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 0.5,
            "exec": 0.5,
            "cred": 0.5,
            "persist": 0.5,
            "hitl": 0
          },
          "usf_risk_tier": "L2"
        }
      },
      "profile": {
        "read_at": "101ca0bd887a295e39cc20a100efa571937ca969",
        "read_on": "2026-10-25",
        "overview": "A skill that has the AI agent parse and analyze email headers to trace the origin of phishing emails, verify sender authenticity and identify spoofing through SPF, DKIM and DMARC validation.",
        "purpose": [
          "Verifies sender authenticity and identifies spoofing through SPF, DKIM and DMARC validation.",
          "Gives an AI agent the workflow a senior analyst follows: when to use a technique, what prerequisites to check, how to execute step by step and how to verify results."
        ],
        "use_cases": [
          {
            "text": "Investigate a suspected phishing email to determine its true origin.",
            "task": "email-phishing-analysis"
          },
          {
            "text": "Support incident response after a user has clicked a phishing link.",
            "task": "dfir"
          },
          {
            "text": "Trace the delivery path and relay servers of a suspicious email.",
            "task": "email-phishing-analysis"
          },
          {
            "text": "Validate SPF, DKIM and DMARC alignment to identify forged senders.",
            "task": "email-phishing-analysis"
          }
        ],
        "maturity": null,
        "capabilities": [
          {
            "name": "Step 1: Extract Raw Email Headers",
            "effects": [
              "reads",
              "changes",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "Step 2: Parse the Email Header Chain",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "Step 3: Validate SPF, DKIM, and DMARC Records",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "Step 4: Analyze Sender Domain and Infrastructure",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "Step 5: Examine Email Body and Attachments",
            "effects": [
              "reads",
              "changes",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "Email Header Phishing Analysis Agent",
            "effects": [
              "reads"
            ],
            "enabled": "optional"
          },
          {
            "name": "API Reference: Email Header Analysis Tools",
            "effects": [
              "reads",
              "sends-data"
            ],
            "enabled": "optional"
          },
          {
            "name": "Output Format",
            "effects": [],
            "enabled": "default"
          },
          {
            "name": "dns_lookup",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "optional"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "runs-commands",
          "sends-data"
        ],
        "runs": "in-client",
        "listens": [],
        "sends_to": [
          {
            "to": "Sender domain DNS",
            "kind": "target",
            "when": "default"
          },
          {
            "to": "whois servers",
            "kind": "other",
            "when": "default"
          },
          {
            "to": "AbuseIPDB",
            "kind": "vendor-api",
            "when": "default"
          },
          {
            "to": "VirusTotal",
            "kind": "vendor-api",
            "when": "default"
          },
          {
            "to": "VirusTotal URL Scan",
            "kind": "vendor-api",
            "when": "optional"
          },
          {
            "to": "URLhaus or PhishTank",
            "kind": "vendor-api",
            "when": "optional"
          },
          {
            "to": "PyPI",
            "kind": "download",
            "when": "optional"
          },
          {
            "to": "VirusTotal",
            "kind": "vendor-api",
            "when": "optional"
          }
        ],
        "model": "client",
        "needs": [
          {
            "kind": "runtime",
            "text": "Python with email parsing libraries."
          },
          {
            "kind": "tools",
            "text": "The DNS lookup tools dig or nslookup for SPF, DKIM and DMARC checks."
          },
          {
            "kind": "other",
            "text": "Raw headers of the suspicious message in EML or MSG format."
          },
          {
            "kind": "account",
            "text": "Access to threat intelligence platforms for IP and domain reputation."
          },
          {
            "kind": "credentials",
            "text": "A VirusTotal API key, passed in the x-apikey header of the curl call."
          },
          {
            "kind": "credentials",
            "text": "An AbuseIPDB API key, passed in the Key header of the curl call."
          },
          {
            "kind": "tools",
            "text": "The pyspf Python package for the SPF check."
          },
          {
            "kind": "tools",
            "text": "The python-Levenshtein package for the lookalike-domain check."
          }
        ]
      },
      "urls": {
        "page": "/catalog/mukul975-email-header-analysis/",
        "json": "/entries/mukul975-email-header-analysis.json",
        "md": "/catalog/mukul975-email-header-analysis.md",
        "badge": "/badge/mukul975-email-header-analysis.svg"
      }
    },
    {
      "id": "trailofbits-agentic-actions-auditor",
      "name": "Trail of Bits Agentic Actions Auditor",
      "summary": "Claude Code plugin that statically audits GitHub Actions workflows which invoke AI coding agents for injection and permission flaws.",
      "draft": "review",
      "type": "plugin",
      "mission": [
        "agent-security"
      ],
      "task": [
        "agent-supply-chain-scan",
        "code-review-sast"
      ],
      "domain": [
        "ai-security",
        "application-security"
      ],
      "runtime": [
        "claude-code",
        "codex"
      ],
      "tier": "listed",
      "last_checked": "2026-10-19",
      "next_check": "2027-01-17",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "runs shell commands or eval · has broad pre-approvals",
      "source": {
        "repo": "https://github.com/trailofbits/skills",
        "subpath": "plugins/agentic-actions-auditor",
        "commit": "5c99c03fb8a9ea568432ecbcba5d86e9f4ac2bf0",
        "version": "1.3.2",
        "license": "CC-BY-SA-4.0"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "/plugin marketplace add trailofbits/skills\n/plugin menu",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 2,
        "level_source": "static",
        "level_label": "open",
        "unknown_axes": 0,
        "verdict": "not-run",
        "badge": "reach 2 · not run yet",
        "long": "reach 2 from code (open); lab: not run yet",
        "declared": {
          "fs": 0,
          "net": 1,
          "exec": 1,
          "cred": 1,
          "hitl": 2
        },
        "static": {
          "level": 2,
          "fs": 0,
          "net": 1,
          "exec": 2,
          "cred": 1,
          "persist": 0,
          "hitl": 2,
          "unknown": []
        },
        "observed": null,
        "surplus": null,
        "fit": null,
        "exports": {
          "aivss": {
            "fs": 0,
            "net": 0.5,
            "exec": 0.5,
            "cred": 0.5,
            "persist": 0,
            "hitl": 0.5
          },
          "usf_risk_tier": "L2"
        }
      },
      "profile": {
        "read_at": "5c99c03fb8a9ea568432ecbcba5d86e9f4ac2bf0",
        "read_on": "2026-10-25",
        "overview": "A Claude Code plugin whose single skill guides the AI client's model through a static audit of GitHub Actions workflows that invoke Claude Code Action, Gemini CLI, OpenAI Codex or GitHub AI Inference, tracing where attacker-controlled input reaches the agent.",
        "purpose": [
          "Detects attack vectors where attacker-controlled input reaches AI agents running in CI/CD pipelines.",
          "Produces a structured findings report per attack vector with severity ratings and remediation guidance."
        ],
        "use_cases": [
          {
            "text": "Audit a repository's GitHub Actions workflows for AI agent security issues",
            "task": "code-review-sast"
          },
          {
            "text": "Check whether attacker-controlled input can reach AI agent prompts in workflows",
            "task": "code-review-sast"
          },
          {
            "text": "Evaluate agentic action configurations: sandbox settings, tool permissions and user allowlists",
            "task": "agent-supply-chain-scan"
          },
          {
            "text": "Assess trigger events such as pull_request_target and issue_comment that expose workflows to external input",
            "task": "code-review-sast"
          }
        ],
        "maturity": null,
        "capabilities": [
          {
            "name": "Step 0: Determine Analysis Mode",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "optional"
          },
          {
            "name": "Step 1: Discover Workflow Files",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Step 2: Identify AI Action Steps",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Cross-File Resolution",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "Step 3: Capture Security Context",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          },
          {
            "name": "Step 4: Analyze for Attack Vectors",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads",
          "runs-commands"
        ],
        "runs": "in-client",
        "listens": [],
        "sends_to": [
          {
            "to": "GitHub API (named repository)",
            "kind": "target",
            "when": "optional"
          },
          {
            "to": "GitHub API (referenced repositories)",
            "kind": "other",
            "when": "default"
          }
        ],
        "model": "client",
        "needs": [
          {
            "kind": "runtime",
            "text": "Claude Code with the trailofbits/skills plugin marketplace added; the root README also documents Codex."
          },
          {
            "kind": "tools",
            "text": "The GitHub CLI (gh) for remote analysis mode and remote cross-file fetches."
          },
          {
            "kind": "credentials",
            "text": "An authenticated gh session (gh auth login) for remote fetches."
          },
          {
            "kind": "credentials",
            "text": "Private repositories are reachable when the gh token in use has permissions for them."
          }
        ]
      },
      "urls": {
        "page": "/catalog/trailofbits-agentic-actions-auditor/",
        "json": "/entries/trailofbits-agentic-actions-auditor.json",
        "md": "/catalog/trailofbits-agentic-actions-auditor.md",
        "badge": "/badge/trailofbits-agentic-actions-auditor.svg"
      }
    },
    {
      "id": "trailofbits-static-analysis",
      "name": "Trail of Bits Static Analysis",
      "summary": "Claude Code plugin that drives CodeQL, Semgrep and SARIF parsing to find security vulnerabilities in a codebase.",
      "draft": "review",
      "type": "plugin",
      "mission": [
        "defensive"
      ],
      "task": [
        "code-review-sast"
      ],
      "domain": [
        "application-security"
      ],
      "runtime": [
        "claude-code",
        "codex"
      ],
      "tier": "listed",
      "last_checked": "2026-10-19",
      "next_check": "2027-01-17",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "writes outside the project · talks to any host · runs shell commands or eval · changes config or installs globally · has broad pre-approvals · Secrets: unknown",
      "source": {
        "repo": "https://github.com/trailofbits/skills",
        "subpath": "plugins/static-analysis",
        "commit": "5c99c03fb8a9ea568432ecbcba5d86e9f4ac2bf0",
        "version": "1.5.0",
        "license": "CC-BY-SA-4.0"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "/plugin marketplace add trailofbits/skills\n/plugin menu",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 2,
        "level_source": "static",
        "level_label": "open",
        "unknown_axes": 1,
        "verdict": "not-run",
        "badge": "reach ≥2 · not run yet",
        "long": "reach ≥2 from code (open, 1 right unknown); lab: not run yet",
        "declared": {
          "fs": 1,
          "net": 1,
          "exec": 2,
          "hitl": 2
        },
        "static": {
          "level": 2,
          "fs": 2,
          "net": 2,
          "exec": 2,
          "cred": null,
          "persist": 2,
          "hitl": 2,
          "unknown": [
            "cred"
          ]
        },
        "observed": null,
        "surplus": null,
        "fit": null,
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 0.5,
            "exec": 0.5,
            "cred": null,
            "persist": 0.5,
            "hitl": 0.5
          },
          "usf_risk_tier": "L2"
        }
      },
      "profile": {
        "read_at": "5c99c03fb8a9ea568432ecbcba5d86e9f4ac2bf0",
        "read_on": "2026-10-25",
        "overview": "A static analysis toolkit plugin with CodeQL, Semgrep and SARIF parsing for security vulnerability detection.",
        "purpose": [
          "Detects security vulnerabilities in codebases.",
          "Runs CodeQL for interprocedural taint tracking and data flow analysis, and Semgrep for pattern-based bug detection.",
          "Parses SARIF output and aggregates and deduplicates findings from several tools."
        ],
        "use_cases": [
          {
            "text": "Scan a repository with CodeQL: build the database, create data extensions, then run the analysis.",
            "task": "code-review-sast"
          },
          {
            "text": "Run a Semgrep security audit of a codebase, or find vulnerabilities before code review.",
            "task": "code-review-sast"
          },
          {
            "text": "Read, aggregate and deduplicate SARIF findings from several security scanners.",
            "task": "code-review-sast"
          },
          {
            "text": "Build a CodeQL database when the build is the long, uncertain part and should be driven to a conclusion.",
            "task": "code-review-sast"
          }
        ],
        "maturity": null,
        "capabilities": [
          {
            "name": "codeql",
            "effects": [
              "reads",
              "changes",
              "deletes",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "semgrep",
            "effects": [
              "reads",
              "changes",
              "deletes",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "sarif-parsing",
            "effects": [
              "reads",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "/static-analysis:semgrep-scan",
            "effects": [
              "reads",
              "changes",
              "deletes",
              "runs-commands"
            ],
            "enabled": "default"
          },
          {
            "name": "/static-analysis:codeql-build",
            "effects": [
              "reads",
              "changes",
              "deletes",
              "runs-commands"
            ],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "deletes",
          "runs-commands"
        ],
        "runs": "in-client",
        "listens": [],
        "sends_to": [
          {
            "to": "Semgrep registry",
            "kind": "download",
            "when": "default"
          },
          {
            "to": "Third-party Semgrep rule repositories",
            "kind": "download",
            "when": "default"
          },
          {
            "to": "CodeQL pack registry",
            "kind": "download",
            "when": "optional"
          },
          {
            "to": "Target project's package registries",
            "kind": "download",
            "when": "optional"
          },
          {
            "to": "Homebrew",
            "kind": "download",
            "when": "optional"
          }
        ],
        "model": "client",
        "needs": [
          {
            "kind": "runtime",
            "text": "Ships as a Claude Code plugin marketplace; Codex can load the same marketplace through its Claude marketplace compatibility."
          },
          {
            "kind": "tools",
            "text": "The CodeQL skill stops unless the codeql CLI is on PATH (gh-codeql extension, Homebrew cask or codeql-bundle)."
          },
          {
            "kind": "tools",
            "text": "The CodeQL skill also requires jq and uv on PATH."
          },
          {
            "kind": "tools",
            "text": "The Semgrep skill requires the Semgrep CLI."
          },
          {
            "kind": "tools",
            "text": "For C/C++, Java/Kotlin, C# and Rust, complete extraction needs a build CodeQL can trace; --build-mode=none gives partial analysis."
          },
          {
            "kind": "runtime",
            "text": "The codeql skill's two Python scripts declare Python 3.11 or later and run standalone under uv run."
          },
          {
            "kind": "account",
            "text": "Semgrep Pro is optional; it enables cross-file taint tracking, inter-procedural analysis and Apex, C# and Elixir."
          },
          {
            "kind": "credentials",
            "text": "When the target's dependencies come from a private registry, the CodeQL build-fix step asks the user to configure registry authentication and retry, or to skip them."
          }
        ]
      },
      "urls": {
        "page": "/catalog/trailofbits-static-analysis/",
        "json": "/entries/trailofbits-static-analysis.json",
        "md": "/catalog/trailofbits-static-analysis.md",
        "badge": "/badge/trailofbits-static-analysis.svg"
      }
    },
    {
      "id": "usestrix-strix",
      "name": "Strix",
      "summary": "Autonomous AI penetration-testing agents that run offensive tools in a container sandbox and validate findings with a proof of concept.",
      "draft": "review",
      "type": "agent",
      "mission": [
        "offensive"
      ],
      "task": [
        "web-api-testing"
      ],
      "domain": [
        "application-security"
      ],
      "runtime": [
        "standalone"
      ],
      "tier": "listed",
      "last_checked": "2026-10-19",
      "next_check": "2027-01-17",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "can tunnel or exfiltrate · uses sudo or the docker socket · adds autostart, users or keys · writes outside the project · reads broad tokens or the environment · has broad pre-approvals",
      "source": {
        "repo": "https://github.com/usestrix/strix",
        "subpath": null,
        "commit": "55bc07991aacb1c26a81b43e7ca53148730d2019",
        "version": "v1.7.0",
        "license": "Apache-2.0"
      },
      "install": {
        "skills_cli": null,
        "claude_code": null,
        "upstream": "curl -sSL https://strix.ai/install | bash\nexport STRIX_LLM=\"openrouter/z-ai/glm-5.3\"\nstrix --target ./app-directory",
        "bundled": false
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 3,
        "level_source": "static",
        "level_label": "privileged",
        "unknown_axes": 0,
        "verdict": "not-run",
        "badge": "reach 3 · not run yet",
        "long": "reach 3 from code (privileged); lab: not run yet",
        "declared": {
          "fs": 2,
          "net": 2,
          "exec": 2,
          "cred": 1,
          "persist": 2,
          "hitl": 2
        },
        "static": {
          "level": 3,
          "fs": 2,
          "net": 3,
          "exec": 3,
          "cred": 2,
          "persist": 3,
          "hitl": 2,
          "unknown": []
        },
        "observed": null,
        "surplus": null,
        "fit": null,
        "exports": {
          "aivss": {
            "fs": 0.5,
            "net": 1,
            "exec": 1,
            "cred": 0.5,
            "persist": 1,
            "hitl": 0.5
          },
          "usf_risk_tier": "L3"
        }
      },
      "profile": {
        "read_at": "55bc07991aacb1c26a81b43e7ca53148730d2019",
        "read_on": "2026-10-25",
        "overview": "Autonomous AI penetration-testing agents that run your code dynamically, find vulnerabilities and validate them through proofs of concept.",
        "purpose": [
          "Security testing for developers and security teams as an alternative to manual pentesting and static-analysis scanners."
        ],
        "use_cases": [
          {
            "text": "Detect and validate critical vulnerabilities in an application",
            "task": "web-api-testing"
          },
          {
            "text": "Automate bug-bounty research and generate proof-of-concept exploits",
            "task": "finding-validation"
          },
          {
            "text": "Run scans in CI/CD to block vulnerable code before it reaches production",
            "task": "code-review-sast"
          },
          {
            "text": "Review source code white-box and exploit findings for a proof-of-concept",
            "task": "code-review-sast"
          }
        ],
        "maturity": "experimental",
        "capabilities": [
          {
            "name": "shell (exec_command / write_stdin)",
            "effects": [
              "reads",
              "changes",
              "runs-commands",
              "sends-data"
            ],
            "enabled": "default"
          },
          {
            "name": "apply_patch",
            "effects": [
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "HTTP Interception Proxy",
            "effects": [
              "reads",
              "changes",
              "sends-data"
            ],
            "enabled": "default"
          },
          {
            "name": "Browser Exploitation",
            "effects": [
              "reads",
              "runs-commands",
              "sends-data"
            ],
            "enabled": "default"
          },
          {
            "name": "web_search",
            "effects": [
              "reads",
              "sends-data"
            ],
            "enabled": "optional"
          },
          {
            "name": "Vulnerability Knowledge Base",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "Multi-agent orchestration",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          },
          {
            "name": "MCP connectors",
            "effects": [
              "reads",
              "runs-commands",
              "sends-data"
            ],
            "enabled": "optional"
          },
          {
            "name": "threat_model",
            "effects": [
              "reads",
              "changes"
            ],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads",
          "changes",
          "runs-commands",
          "sends-data"
        ],
        "runs": "local-program",
        "listens": [
          {
            "mode": "default",
            "bind": "all-interfaces",
            "sign_in": "unknown"
          },
          {
            "mode": "optional",
            "bind": "configurable",
            "sign_in": "unknown"
          },
          {
            "mode": "optional",
            "bind": "loopback",
            "sign_in": "unknown"
          },
          {
            "mode": "default",
            "bind": "loopback",
            "sign_in": "unknown"
          }
        ],
        "sends_to": [
          {
            "to": "LLM provider",
            "kind": "model-provider",
            "when": "always"
          },
          {
            "to": "targets you name",
            "kind": "target",
            "when": "always"
          },
          {
            "to": "PostHog",
            "kind": "telemetry",
            "when": "default"
          },
          {
            "to": "Scarf",
            "kind": "telemetry",
            "when": "default"
          },
          {
            "to": "Perplexity",
            "kind": "vendor-api",
            "when": "optional"
          },
          {
            "to": "PyPI",
            "kind": "other",
            "when": "default"
          },
          {
            "to": "Strix Cloud (app.strix.ai)",
            "kind": "vendor-api",
            "when": "optional"
          },
          {
            "to": "ghcr.io",
            "kind": "download",
            "when": "default"
          },
          {
            "to": "Strix Cloud (app.strix.ai)",
            "kind": "vendor-api",
            "when": "optional"
          }
        ],
        "model": "own-key",
        "needs": [
          {
            "kind": "container",
            "text": "Docker installed and running to host the sandbox container."
          },
          {
            "kind": "model-key",
            "text": "An LLM API key from a supported provider (OpenAI, Anthropic, Google, etc.)."
          },
          {
            "kind": "authorization",
            "text": "Authorization to test the target systems."
          }
        ]
      },
      "urls": {
        "page": "/catalog/usestrix-strix/",
        "json": "/entries/usestrix-strix.json",
        "md": "/catalog/usestrix-strix.md",
        "badge": "/badge/usestrix-strix.svg"
      }
    },
    {
      "id": "example-siem-query",
      "name": "Example SIEM Query",
      "summary": "Builds and explains SIEM queries for alert triage from a short description of the alert.",
      "draft": "demo",
      "type": "skill",
      "mission": [
        "defensive"
      ],
      "task": [
        "alert-triage",
        "detection-engineering"
      ],
      "domain": [
        "security-operations"
      ],
      "runtime": [
        "claude-code",
        "codex"
      ],
      "tier": "listed",
      "last_checked": "2026-10-12",
      "next_check": "2027-01-10",
      "freshness": "fresh",
      "superseded": false,
      "in_my_kit": null,
      "advice": null,
      "code_shows": "Secrets: unknown",
      "source": {
        "repo": "https://github.com/example/security-skills",
        "subpath": "skills/siem-query",
        "commit": "9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4e3f2a1b0c",
        "version": "v1.2.0",
        "license": "Apache-2.0"
      },
      "install": {
        "skills_cli": "npx skills add example/security-skills --skill siem-query",
        "claude_code": "claude plugin install example-siem-query@field-guide",
        "upstream": null,
        "bundled": true
      },
      "scan": {
        "status": "static scan pending (not run)"
      },
      "reach": {
        "method": "reach-v0.1",
        "level": 1,
        "level_source": "static",
        "level_label": "scoped",
        "unknown_axes": 1,
        "verdict": "not-run",
        "badge": "reach ≥1 · not run yet",
        "long": "reach ≥1 from code (scoped, 1 right unknown); lab: not run yet",
        "declared": {
          "fs": 0,
          "hitl": 1
        },
        "static": {
          "level": 1,
          "fs": 0,
          "net": 0,
          "exec": 0,
          "cred": null,
          "persist": 0,
          "hitl": 1,
          "unknown": [
            "cred"
          ]
        },
        "observed": null,
        "surplus": null,
        "fit": null,
        "exports": {
          "aivss": {
            "fs": 0,
            "net": 0,
            "exec": 0,
            "cred": null,
            "persist": 0,
            "hitl": 0.5
          },
          "usf_risk_tier": "L1"
        }
      },
      "profile": {
        "read_at": "9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4e3f2a1b0c",
        "read_on": "2026-10-25",
        "overview": "An agent skill that turns a short alert description into a SIEM query and explains each clause.",
        "purpose": [
          "Writes SIEM queries from an alert description and explains them."
        ],
        "use_cases": [
          {
            "text": "Draft a hunting query for a suspicious login alert",
            "task": "alert-triage"
          },
          {
            "text": "Turn a detection idea into a first query to test",
            "task": "detection-engineering"
          }
        ],
        "maturity": null,
        "capabilities": [
          {
            "name": "write-query",
            "effects": [
              "reads"
            ],
            "enabled": "default"
          }
        ],
        "effects": [
          "reads"
        ],
        "runs": "in-client",
        "listens": [],
        "sends_to": [],
        "model": "client",
        "needs": [
          {
            "kind": "other",
            "text": "Access to your SIEM to run the query yourself; the skill holds no connection settings."
          }
        ]
      },
      "urls": {
        "page": "/catalog/example-siem-query/",
        "json": "/entries/example-siem-query.json",
        "md": "/catalog/example-siem-query.md",
        "badge": "/badge/example-siem-query.svg"
      }
    }
  ]
}
