Agent skill

Cyberowlai

by karimhabush in karimhabush/cyberowl

Check if recent cybersecurity alerts from 10 international CERTs affect your current project.

MITAuto-check passedSecurity

Install Cyberowlai

skills CLI
$ npx skills add karimhabush/cyberowl --skill cyberowlai -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install karimhabush/cyberowl cyberowlai --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/karimhabush/cyberowl.git skills-src && mkdir -p .claude/skills && cp -r skills-src/docs/.vuepress/public/skill .claude/skills/cyberowlai && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
cyberowlai
GitHub stars
263
Token cost
~2.5k tokens
SKILL.md length
963 words
Files
1
Skills in repo
1
Repo updated
First seen
Licence
MIT

At a glance

Check if recent cybersecurity alerts from 10 international CERTs affect your current project.

  • Works in 4 steps: Deep project discovery → Fetch the alert feed → Intelligent matching → …
  • The user asks about security vulnerabilities
  • SKILL.md covers High-level workflow, Step 1 — Deep project discovery, Step 2 — Fetch the alert feed and Step 3 — Intelligent matching, plus 2 more sections
  • Calls apt-get, apk and yum; reaches cyberowlai.com

What it does

Cyberowlai is an agent skill from karimhabush/cyberowl. Check if recent cybersecurity alerts from 10 international CERTs affect your current project. Use when the user asks about security vulnerabilities, CVEs, "is my project affected", "any new security alerts", "check for vulnerabilities", "cyberowlai", or "/cyberowlai". Also trigger when the user is working on dependency updates, Dockerfile changes, security audits, or any security-related task — even if they don't explicitly mention CyberOwl AI. Trigger on questions like "should I update my dependencies", "are…

Its SKILL.md is about 2.5k tokens, which your agent loads only when the skill is triggered. It is a single SKILL.md file with no bundled scripts.

It sits in Security, covering Vulnerability scanning, Containers and Dependency management. It works with Docker, Kubernetes and Ruby. The repository describes itself as: Aggregates security advisories from 10 international CERTs daily and provides an AI skill that cross-references alerts against your project's tech stack. The licence is MIT.

When your agent uses it

  • The user asks about security vulnerabilities
  • Is my project affected
  • Any new security alerts
  • Check for vulnerabilities

Example prompts

  • “is my project affected”
  • “any new security alerts”
  • “check for vulnerabilities”
  • “/cyberowlai”

Requirements

  • Node.js
  • Docker

Workflow steps

4 steps, taken from the step headings in SKILL.md.

  1. Deep project discovery
  2. Fetch the alert feed
  3. Intelligent matching
  4. Output format

What it can do on your machine

Read from SKILL.md and the folder at commit 805e820. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • apt-get
    • apk
    • yum

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • cyberowlai.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Cyberowlai loads about 2.5k tokens when it runs. Until then it costs about 182 tokens; SKILL.md has 963 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~182
When it runs · the whole SKILL.md, loaded when a task matches
~2.5k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from karimhabush/cyberowl at commit 805e820, republished under its MIT licence (© karimhabush). 963 words, ~2,529 tokens.

Download SKILL.mdSave it as .claude/skills/cyberowlai/SKILL.md (or your agent's skills folder).
name
cyberowlai
description
Check if recent cybersecurity alerts from 10 international CERTs affect your current project. Use when the user asks about security vulnerabilities, CVEs, "is my project affected", "any new security alerts", "check for vulnerabilities", "cyberowlai", or "/cyberowlai". Also trigger when the user is working on dependency updates, Dockerfile changes, security audits, or any security-related task — even if they don't explicitly mention CyberOwl AI. Trigger on questions like "should I update my dependencies", "are there any new CVEs for X", "security check", or "what vulnerabilities should I worry about". If the user mentions a specific CVE or advisory ID, use this skill to cross-reference it against their stack.

CyberOwl Security Check

Cross-reference recent cybersecurity alerts from 10 international CERTs against the user's project to surface vulnerabilities that actually matter to them.

High-level workflow

  1. Discover the project's full tech stack (dependencies, infra, frameworks)
  2. Fetch the alert feed from https://cyberowlai.com/alerts.json
  3. Match alerts against the stack using tiered confidence
  4. Report only what's relevant, plus always-flag critical alerts

Run steps 1 and 2 in parallel when possible — don't make the user wait.


Step 1 — Deep project discovery

Build a comprehensive inventory. Go beyond top-level deps — look at transitive dependencies, container base images, CI tool versions, and code import patterns.

1a. Find all dependency and config files

Use Glob to locate files. Search for all of the following (skip categories that return nothing):

CategoryFiles to find
Node.jspackage.json, package-lock.json, yarn.lock, pnpm-lock.yaml
Pythonrequirements.txt, Pipfile, Pipfile.lock, pyproject.toml, poetry.lock, setup.py, setup.cfg
Gogo.mod, go.sum
RubyGemfile, Gemfile.lock
Java/Kotlinpom.xml, build.gradle, build.gradle.kts
RustCargo.toml, Cargo.lock
PHPcomposer.json, composer.lock
C#/.NET*.csproj, packages.config, Directory.Packages.props
SwiftPackage.swift
Dart/Flutterpubspec.yaml
Elixirmix.exs
Perlcpanfile
ContainersDockerfile, Containerfile, docker-compose.yml, docker-compose.yaml
Kubernetes*.yaml in k8s/, kubernetes/, deploy/, manifests/
HelmChart.yaml, values.yaml
Terraform*.tf
Ansible*.yml in ansible/, playbooks/
VagrantVagrantfile
CI/CD.github/workflows/*.yml, .gitlab-ci.yml, Jenkinsfile, .circleci/config.yml, azure-pipelines.yml
BuildMakefile, Taskfile.yml, Justfile
Web serversnginx.conf, nginx/*.conf, apache2.conf, .htaccess, httpd.conf, Caddyfile, traefik.yml, traefik.toml
Databasesprisma/schema.prisma, config/database.yml, alembic.ini
Env files.env.example, .env.sample
Version files.node-version, .nvmrc, .python-version, .ruby-version, .go-version, .java-version, .tool-versions, runtime.txt
Security.snyk, snyk.json, .trivyignore, security.txt, renovate.json, dependabot.yml
1b. Read discovered files and extract

From each file, extract:

  • Package names and versions (direct + transitive where lock files exist)
  • Base images from Dockerfiles (FROM lines) — note the OS, runtime, and version
  • System packages installed via apt-get install, apk add, yum install
  • Action versions from CI workflows (e.g. actions/checkout@v4)
  • Cloud providers from Terraform (provider "aws", resource prefixes)
  • Database types from ORMs, connection strings, Docker services
  • Service names from env variable patterns (REDIS_URL, POSTGRES_HOST, MONGO_URI, KAFKA_BROKER)
1c. Grep for framework and library patterns in code

Use Grep to detect frameworks and libraries that might not appear in dependency files. Search source directories for these import patterns:

  • Frameworks: import express, from django, import spring, using Microsoft.AspNetCore, import React, import Vue, from angular
  • Auth: passport, jsonwebtoken, jwt, oauth, auth0, firebase-auth, keycloak
  • Crypto: bcrypt, argon2, crypto, openssl, sodium
  • HTTP clients: axios, fetch, requests, httpx, okhttp, urllib3
  • Message queues: rabbitmq, kafka, celery, bull, sidekiq, nats
  • Cloud SDKs: aws-sdk, @google-cloud, azure, boto3
1d. Compile the stack inventory

Organize everything you found into a structured inventory:

  • Languages (with versions where known)
  • Frameworks (with versions)
  • Direct dependencies (key ones — no need to list every tiny utility)
  • Databases & data stores
  • Infrastructure (container images, cloud providers, orchestration)
  • CI/CD (platform and notable tool versions)
  • Web servers & proxies
  • Security tools already in use

This inventory drives the matching in Step 3 and is shown to the user in the final output so they can verify completeness.


Step 2 — Fetch the alert feed

Use WebFetch to retrieve https://cyberowlai.com/alerts.json.

The JSON structure:

{
  "generated_at": "2026-04-23T10:00:54Z",
  "sources": {
    "<SOURCE_NAME>": {
      "items": [
        {
          "title": "...",
          "link": "https://...",
          "description": "...",
          "date": "Apr 20, 2026"
        }
      ]
    }
  }
}

Sources: US-CERT, CERT-FR, MA-CERT, IBM-X-FORCE-EXCHANGE, ZERODAYINITIATIVE, OBS-Vigilance, VulDB, HK-CERT, CA-CCS, EU-CERT (~90 alerts total).

If the fetch fails: Tell the user the feed is unavailable, suggest they check https://cyberowlai.com/activity/ directly, and still show the detected stack inventory so the visit isn't wasted.


Step 3 — Intelligent matching

Cross-reference every alert's title and description against the full stack inventory. Classify matches into tiers:

HIGH — Direct dependency or component match

The alert explicitly names a package, library, or tool the project uses.

Examples:

  • Alert says "jQuery 3.6 vulnerability" → project has jQuery → MATCH
  • Alert says "OpenSSL" → Dockerfile installs openssl → MATCH
  • Alert says "nginx" → docker-compose has nginx service → MATCH
  • Alert says "PostgreSQL" → project uses PostgreSQL → MATCH
Show full SKILL.md (366 more words)Show less
MEDIUM — Framework or platform match

The alert targets a broader platform that encompasses something in the stack.

Examples:

  • Alert says "Spring Framework" → project uses Spring Boot → MATCH
  • Alert says "Linux kernel" → Dockerfile uses a Linux base image → MATCH
  • Alert says "Chrome/Chromium" → project uses Puppeteer or Playwright → MATCH
  • Alert says "Node.js" → project is a Node app → MATCH
LOW — Category match

The alert is about a class of technology the project uses, even without a direct name match.

Examples:

  • Alert about "DNS vulnerability" → project uses a DNS library → FLAG
  • Alert about "TLS/SSL" → project uses HTTPS → FLAG
  • Alert about "container escape" → project uses Docker → FLAG
CRITICAL — Always flag regardless of stack

Some alerts are important enough to surface no matter what the project uses. Flag any alert where:

  • Title contains: "actively exploited", "zero-day", "0-day", "critical RCE", "remote code execution", "supply chain", "pre-auth", "unauthenticated"
  • A CVE with CVSS ≥ 9.0 is mentioned
  • The alert comes from CISA's Known Exploited Vulnerabilities catalog (look for "Known Exploited Vulnerabilities" in title or description)

Step 4 — Output format

Use this structure for the report. Keep it concise — only show alerts that matched or are critical. Don't dump the full 90-alert feed.

## CyberOwl Security Check
Last updated: [generated_at timestamp] | [N] sources checked | [total] alerts scanned

### Alerts matching your project ([count] found)

**HIGH — Direct dependency match:**
| Alert | Source | Matched Component | Date |
|---|---|---|---|
| [Title](link) | SOURCE | component-name (where detected) | date |

**MEDIUM — Platform/framework match:**
| Alert | Source | Related To | Date |
|---|---|---|---|
| [Title](link) | SOURCE | platform (context) | date |

**LOW — Category match:**
| Alert | Source | Related To | Date |
|---|---|---|---|
| [Title](link) | SOURCE | category (context) | date |

### Critical alerts (always worth knowing)
| Alert | Source | Why Flagged | Date |
|---|---|---|---|
| [Title](link) | SOURCE | Actively exploited / Zero-day / etc. | date |

### Your detected stack
- **Languages:** ...
- **Frameworks:** ...
- **Databases:** ...
- **Infrastructure:** ...
- **CI/CD:** ...

When no direct matches are found: Skip the matching tables and show only the "Critical alerts" section with a note: "No alerts directly matched your detected stack, but these critical advisories are worth reviewing." Always include the detected stack section so the user can verify nothing was missed.

Omit empty tiers. If there are no HIGH matches, don't show that table. Same for MEDIUM and LOW.


Important notes

  • Be specific about where you found each component. Don't just say "nginx" — say "nginx (from docker-compose.yml service)" or "OpenSSL (apt-get install in Dockerfile)". This helps the user triage.
  • Don't over-match. A generic alert about "multiple vulnerabilities in various products" with no specific technology named should not match anything. Matching must be based on actual technology names in the alert.
  • Conciseness matters. The user wants a quick answer: "Am I affected?" Don't pad the output. If there are 0 matches and 2 critical alerts, the report should be short.
  • Show your work on the stack so the user can catch anything you missed and re-run if needed.

© karimhabush, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

Just SKILL.md in docs/.vuepress/public/skill of karimhabush/cyberowl.

Open the folder on GitHubat commit 805e820

Compare with similar skills

Cyberowlai next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Cyberowlai compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Cyberowlai this skillkarimhabush/cyberowl263—~2.5kAutomated safety check: PassMIT
Container Security Hardeningsickn33/agentic-awesome-skills47k1 repos~1kAutomated safety check: NotesMIT
Security Analyzeraiskillstore/marketplace433—~1.2kAutomated safety check: NotesNone
Container Securityhardw00t/ai-security-arsenal105—~2.8kAutomated safety check: PassNone
Sca TrivyAgentSecOps/SecOpsAgentKit2202 repos~3.7kAutomated safety check: PassCustom licence
Alibabacloud Ecs Sec Userspacealiyun/alibabacloud-ecs-troubleshoot-skills148—~2.6kAutomated safety check: NotesApache-2.0

Similar skills

  • Container Security Hardening

    sickn33/agentic-awesome-skills

    Harden Docker/container images and runtime deployments with secure base images, non-root users, CVE scanning, SBOM/signing, seccomp/AppArmor, and Kubernetes pod security controls.

    47k GitHub starsUsed in 1 repo~1k tokens
    SecurityAuto-check: notes
  • Security Analyzer

    aiskillstore/marketplace

    Comprehensive security vulnerability analysis for codebases and infrastructure.

    433 GitHub stars~1.2k tokensUpdated yesterday
    SecurityAuto-check: notes
  • Container Security

    hardw00t/ai-security-arsenal

    Container and Kubernetes security assessment — image vulnerability scanning, SBOM diff analysis, K8s cluster auditing, RBAC privilege mapping, NetworkPolicy review, container escape testing, and…

    105 GitHub stars~2.8k tokensUpdated 5 mo ago
    SecurityAuto-check passed
  • Sca Trivy

    AgentSecOps/SecOpsAgentKit

    Software Composition Analysis (SCA) and container vulnerability scanning using Aqua Trivy for identifying CVE vulnerabilities in dependencies, container images, IaC misconfigurations, and license…

    220 GitHub starsUsed in 2 repos~3.7k tokens
    SecurityAuto-check passed
  • Alibabacloud Ecs Sec Userspace

    aliyun/alibabacloud-ecs-troubleshoot-skills

    Linux 用户态安全入侵检测与取证工具,专为 AI Agent 设计。自动判断服务器是否被入侵, 提供完整证据链和可执行修复建议。51 个安全分析器覆盖进程/网络/认证/持久化/Rootkit/ 恶意软件/内存取证/容器逃逸等 12 类检测维度,10 个数据采集器全面采集系统状态, 映射 103+ MITRE ATT&CK 技术,支持 standalone/docker/k8s 三种部署模式。

    148 GitHub stars~2.6k tokensUpdated 1 mo ago
    DevOps & CloudAuto-check: notes
  • Gathers security findings from Dependabot, GCP container scanning, Docker Scout and Linear security issues, then triages and remediates them across Warp's repos and images.

    65k GitHub starsUsed in 1 repo~2.1k tokens
    SecurityAuto-check passed

Questions about Cyberowlai

What does Cyberowlai do?

Check if recent cybersecurity alerts from 10 international CERTs affect your current project. Cyberowlai is an agent skill from karimhabush/cyberowl. Check if recent cybersecurity alerts from 10 international CERTs affect your current project.

When should I use Cyberowlai?

Cyberowlai fits situations like: the user asks about security vulnerabilities; is my project affected; any new security alerts; check for vulnerabilities.

How do I install Cyberowlai in Claude Code?

Run `npx skills add karimhabush/cyberowl --skill cyberowlai -a claude-code`. Or copy the skill folder (docs/.vuepress/public/skill in karimhabush/cyberowl) into .claude/skills/cyberowlai in your project. Claude Code loads it when a task matches its description.

How do I install Cyberowlai in Codex?

Run `npx skills add karimhabush/cyberowl --skill cyberowlai -a codex`. Or copy the skill folder (docs/.vuepress/public/skill in karimhabush/cyberowl) into .agents/skills/cyberowlai in your project. Codex loads it when a task matches its description.

Can I use Cyberowlai in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add karimhabush/cyberowl --skill cyberowlai -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/cyberowlai, .gemini/skills/cyberowlai, .github/skills/cyberowlai and .opencode/skills/cyberowlai in your project.

What does Cyberowlai need to run?

Going by SKILL.md and its folder, Cyberowlai needs the command-line tools its instructions call (apt-get, apk and yum). Our summary lists: Node.js; Docker.

Does Cyberowlai access the network?

SKILL.md names 1 domain. In commands or code: cyberowlai.com; the agent is likely to contact it when it follows the instructions. This is read from the text; nothing was executed.

Is Cyberowlai safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Cyberowlai use?

Cyberowlai is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Cyberowlai use?

About 2.5k tokens (SKILL.md is roughly 10k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Cyberowlai?

Skills that share tags, products or a category with Cyberowlai: Container Security Hardening (sickn33/agentic-awesome-skills, 47k stars), Security Analyzer (aiskillstore/marketplace, 433 stars), Container Security (hardw00t/ai-security-arsenal, 105 stars) and Sca Trivy (AgentSecOps/SecOpsAgentKit, 220 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Cyberowlai?

karimhabush (a GitHub user) maintains it in karimhabush/cyberowl, which has 263 GitHub stars. The repository was last updated on October 10, 2026.

Source: karimhabush/cyberowl on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.