opencode-skills-collection 4.0.67 → 4.0.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled-skills/.antigravity-install-manifest.json +281 -1
- package/bundled-skills/access-review/SKILL.md +394 -0
- package/bundled-skills/access-review/references/details.md +121 -0
- package/bundled-skills/agent-evals/SKILL.md +420 -0
- package/bundled-skills/agent-observability/SKILL.md +346 -0
- package/bundled-skills/agent-observability/references/details.md +786 -0
- package/bundled-skills/ai-agent-security/SKILL.md +393 -0
- package/bundled-skills/ai-agent-security/references/details.md +912 -0
- package/bundled-skills/ai-coding-agent-guardrails/SKILL.md +442 -0
- package/bundled-skills/ai-coding-agent-guardrails/references/details.md +753 -0
- package/bundled-skills/ai-inference-service-mesh/SKILL.md +449 -0
- package/bundled-skills/ai-pipeline-orchestration/SKILL.md +287 -0
- package/bundled-skills/ai-red-teaming/SKILL.md +409 -0
- package/bundled-skills/ai-security-hardening/SKILL.md +343 -0
- package/bundled-skills/ai-sre-incident-response/SKILL.md +336 -0
- package/bundled-skills/alerting-oncall/SKILL.md +458 -0
- package/bundled-skills/alerting-oncall/references/details.md +84 -0
- package/bundled-skills/anti-slop-design/SKILL.md +393 -0
- package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +1 -0
- package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
- package/bundled-skills/argocd-gitops/SKILL.md +469 -0
- package/bundled-skills/arm-templates/SKILL.md +438 -0
- package/bundled-skills/arm-templates/references/details.md +64 -0
- package/bundled-skills/artifact-yylo/SKILL.md +122 -0
- package/bundled-skills/asset-inventory/SKILL.md +412 -0
- package/bundled-skills/asset-inventory/references/details.md +127 -0
- package/bundled-skills/audit-logging/SKILL.md +476 -0
- package/bundled-skills/aws-cloudtrail/SKILL.md +486 -0
- package/bundled-skills/aws-cost-optimization/SKILL.md +331 -0
- package/bundled-skills/aws-ec2/SKILL.md +426 -0
- package/bundled-skills/aws-ecs-fargate/SKILL.md +388 -0
- package/bundled-skills/aws-iam/SKILL.md +463 -0
- package/bundled-skills/aws-lambda/SKILL.md +428 -0
- package/bundled-skills/aws-rds/SKILL.md +380 -0
- package/bundled-skills/aws-s3/SKILL.md +434 -0
- package/bundled-skills/aws-secrets-manager/SKILL.md +486 -0
- package/bundled-skills/aws-vpc/SKILL.md +436 -0
- package/bundled-skills/azure-ai-document-intelligence-ts/SKILL.md +1 -1
- package/bundled-skills/azure-aks/SKILL.md +423 -0
- package/bundled-skills/azure-devops/SKILL.md +457 -0
- package/bundled-skills/azure-functions-devsec/SKILL.md +436 -0
- package/bundled-skills/azure-keyvault/SKILL.md +455 -0
- package/bundled-skills/azure-keyvault/references/details.md +83 -0
- package/bundled-skills/azure-monitor-audit/SKILL.md +379 -0
- package/bundled-skills/azure-networking/SKILL.md +448 -0
- package/bundled-skills/azure-networking/references/details.md +135 -0
- package/bundled-skills/azure-sql/SKILL.md +413 -0
- package/bundled-skills/azure-sql/references/details.md +113 -0
- package/bundled-skills/azure-vms/SKILL.md +402 -0
- package/bundled-skills/azure-vms/references/details.md +134 -0
- package/bundled-skills/backup-recovery/SKILL.md +388 -0
- package/bundled-skills/bb-methodology/SKILL.md +451 -0
- package/bundled-skills/bb-methodology/references/details.md +120 -0
- package/bundled-skills/block-storage/SKILL.md +371 -0
- package/bundled-skills/blue-green-deploy/SKILL.md +453 -0
- package/bundled-skills/blue-green-deploy/references/details.md +90 -0
- package/bundled-skills/bug-bounty/SKILL.md +447 -0
- package/bundled-skills/bug-bounty/references/details.md +1316 -0
- package/bundled-skills/bugcrowd-reporting/SKILL.md +351 -0
- package/bundled-skills/business-continuity/SKILL.md +463 -0
- package/bundled-skills/career-ops/SKILL.md +186 -0
- package/bundled-skills/cdn-setup/SKILL.md +374 -0
- package/bundled-skills/change-management/SKILL.md +438 -0
- package/bundled-skills/change-management/references/details.md +105 -0
- package/bundled-skills/circleci/SKILL.md +475 -0
- package/bundled-skills/cis-benchmarks/SKILL.md +150 -0
- package/bundled-skills/cloudflare-pages/SKILL.md +318 -0
- package/bundled-skills/cloudflare-r2/SKILL.md +353 -0
- package/bundled-skills/cloudflare-workers/SKILL.md +415 -0
- package/bundled-skills/cloudflare-zero-trust/SKILL.md +361 -0
- package/bundled-skills/cloudformation/SKILL.md +461 -0
- package/bundled-skills/constraint-driven-development/SKILL.md +335 -0
- package/bundled-skills/constraint-driven-development/references/floor-guard.md +99 -0
- package/bundled-skills/container-hardening/SKILL.md +126 -0
- package/bundled-skills/container-registries/SKILL.md +435 -0
- package/bundled-skills/container-scanning/SKILL.md +416 -0
- package/bundled-skills/convex-backend/SKILL.md +338 -0
- package/bundled-skills/dast-scanning/SKILL.md +437 -0
- package/bundled-skills/database-backups/SKILL.md +425 -0
- package/bundled-skills/datadog/SKILL.md +487 -0
- package/bundled-skills/dependency-scanning/SKILL.md +457 -0
- package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
- package/bundled-skills/disaster-recovery/SKILL.md +374 -0
- package/bundled-skills/disaster-recovery/references/details.md +219 -0
- package/bundled-skills/dns-management/SKILL.md +375 -0
- package/bundled-skills/docker-compose/SKILL.md +482 -0
- package/bundled-skills/docker-management/SKILL.md +426 -0
- package/bundled-skills/ebpf-observability/SKILL.md +436 -0
- package/bundled-skills/ebpf-observability/references/details.md +542 -0
- package/bundled-skills/elk-stack/SKILL.md +487 -0
- package/bundled-skills/enterprise-vpn-attack/SKILL.md +395 -0
- package/bundled-skills/evidence-hygiene/SKILL.md +404 -0
- package/bundled-skills/feature-flags/SKILL.md +426 -0
- package/bundled-skills/feature-flags/references/details.md +86 -0
- package/bundled-skills/fedramp-compliance/SKILL.md +453 -0
- package/bundled-skills/firebase-app-platform/SKILL.md +381 -0
- package/bundled-skills/firewall-config/SKILL.md +479 -0
- package/bundled-skills/gcp-audit-logs/SKILL.md +452 -0
- package/bundled-skills/gcp-audit-logs/references/details.md +56 -0
- package/bundled-skills/gcp-cloud-functions/SKILL.md +284 -0
- package/bundled-skills/gcp-cloud-sql/SKILL.md +277 -0
- package/bundled-skills/gcp-compute/SKILL.md +319 -0
- package/bundled-skills/gcp-gke/SKILL.md +307 -0
- package/bundled-skills/gcp-networking/SKILL.md +293 -0
- package/bundled-skills/gcp-secret-manager/SKILL.md +421 -0
- package/bundled-skills/gcp-secret-manager/references/details.md +131 -0
- package/bundled-skills/gdpr-compliance/SKILL.md +451 -0
- package/bundled-skills/gdpr-compliance/references/details.md +145 -0
- package/bundled-skills/geo-audit/SKILL.md +368 -0
- package/bundled-skills/geo-brand-mentions/SKILL.md +68 -0
- package/bundled-skills/geo-brand-mentions/references/details.md +471 -0
- package/bundled-skills/geo-citability/SKILL.md +350 -0
- package/bundled-skills/geo-compare/SKILL.md +340 -0
- package/bundled-skills/geo-content/SKILL.md +383 -0
- package/bundled-skills/geo-crawlers/SKILL.md +408 -0
- package/bundled-skills/geo-llmstxt/SKILL.md +464 -0
- package/bundled-skills/geo-platform-optimizer/SKILL.md +314 -0
- package/bundled-skills/geo-proposal/SKILL.md +378 -0
- package/bundled-skills/geo-prospect/SKILL.md +225 -0
- package/bundled-skills/geo-report/SKILL.md +436 -0
- package/bundled-skills/geo-report-pdf/SKILL.md +157 -0
- package/bundled-skills/geo-schema/SKILL.md +408 -0
- package/bundled-skills/geo-technical/SKILL.md +78 -0
- package/bundled-skills/geo-technical/references/details.md +543 -0
- package/bundled-skills/git-workflow/SKILL.md +460 -0
- package/bundled-skills/github-actions/SKILL.md +368 -0
- package/bundled-skills/gitlab-ci/SKILL.md +340 -0
- package/bundled-skills/google-no-code/SKILL.md +136 -0
- package/bundled-skills/gpu-kubernetes-operations/SKILL.md +468 -0
- package/bundled-skills/gpu-server-management/SKILL.md +236 -0
- package/bundled-skills/hashicorp-vault/SKILL.md +408 -0
- package/bundled-skills/helm-charts/SKILL.md +469 -0
- package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
- package/bundled-skills/hunt-aspnet/SKILL.md +321 -0
- package/bundled-skills/hunt-ato/SKILL.md +184 -0
- package/bundled-skills/hunt-auth-bypass/SKILL.md +426 -0
- package/bundled-skills/hunt-auth-bypass/references/details.md +80 -0
- package/bundled-skills/hunt-brute-force/SKILL.md +341 -0
- package/bundled-skills/hunt-business-logic/SKILL.md +281 -0
- package/bundled-skills/hunt-cache-poison/SKILL.md +382 -0
- package/bundled-skills/hunt-captcha-bypass/SKILL.md +136 -0
- package/bundled-skills/hunt-cicd/SKILL.md +311 -0
- package/bundled-skills/hunt-clickjacking/SKILL.md +110 -0
- package/bundled-skills/hunt-cors/SKILL.md +335 -0
- package/bundled-skills/hunt-dom/SKILL.md +323 -0
- package/bundled-skills/hunt-exceptional-conditions/SKILL.md +111 -0
- package/bundled-skills/hunt-file-upload/SKILL.md +202 -0
- package/bundled-skills/hunt-fintech-graphql/SKILL.md +289 -0
- package/bundled-skills/hunt-forgot-password/SKILL.md +114 -0
- package/bundled-skills/hunt-grpc/SKILL.md +317 -0
- package/bundled-skills/hunt-host-header/SKILL.md +309 -0
- package/bundled-skills/hunt-html-injection/SKILL.md +106 -0
- package/bundled-skills/hunt-http-smuggling/SKILL.md +129 -0
- package/bundled-skills/hunt-http-smuggling/references/phase2h-smuggling-cachepoison.md +177 -0
- package/bundled-skills/hunt-idor/SKILL.md +434 -0
- package/bundled-skills/hunt-jwt-crypto/SKILL.md +221 -0
- package/bundled-skills/hunt-k8s/SKILL.md +337 -0
- package/bundled-skills/hunt-laravel/SKILL.md +255 -0
- package/bundled-skills/hunt-ldap/SKILL.md +351 -0
- package/bundled-skills/hunt-lfi/SKILL.md +311 -0
- package/bundled-skills/hunt-llm-ai/SKILL.md +289 -0
- package/bundled-skills/hunt-mfa-bypass/SKILL.md +177 -0
- package/bundled-skills/hunt-misc/SKILL.md +378 -0
- package/bundled-skills/hunt-nextjs/SKILL.md +299 -0
- package/bundled-skills/hunt-nodejs/SKILL.md +263 -0
- package/bundled-skills/hunt-nosqli/SKILL.md +210 -0
- package/bundled-skills/hunt-ntlm-info/SKILL.md +314 -0
- package/bundled-skills/hunt-oauth/SKILL.md +459 -0
- package/bundled-skills/hunt-open-redirect/SKILL.md +223 -0
- package/bundled-skills/hunt-race-condition/SKILL.md +381 -0
- package/bundled-skills/hunt-race-condition/references/details.md +159 -0
- package/bundled-skills/hunt-rag-vector/SKILL.md +212 -0
- package/bundled-skills/hunt-rce/SKILL.md +444 -0
- package/bundled-skills/hunt-rce/references/details.md +110 -0
- package/bundled-skills/hunt-saml/SKILL.md +156 -0
- package/bundled-skills/hunt-session/SKILL.md +342 -0
- package/bundled-skills/hunt-shadow-api/SKILL.md +198 -0
- package/bundled-skills/hunt-source-leak/SKILL.md +345 -0
- package/bundled-skills/hunt-spa-api/SKILL.md +163 -0
- package/bundled-skills/hunt-springboot/SKILL.md +285 -0
- package/bundled-skills/hunt-sqli/SKILL.md +466 -0
- package/bundled-skills/hunt-ssrf/SKILL.md +396 -0
- package/bundled-skills/hunt-ssrf/references/details.md +179 -0
- package/bundled-skills/hunt-ssti/SKILL.md +163 -0
- package/bundled-skills/hunt-subdomain/SKILL.md +379 -0
- package/bundled-skills/hunt-tls-network/SKILL.md +399 -0
- package/bundled-skills/hunt-xxe/SKILL.md +466 -0
- package/bundled-skills/i-have-adhd/SKILL.md +170 -0
- package/bundled-skills/idea-evaluator/SKILL.md +75 -0
- package/bundled-skills/idea-evaluator/idea-evaluator-con/SKILL.md +64 -0
- package/bundled-skills/idea-evaluator/idea-evaluator-pro/SKILL.md +64 -0
- package/bundled-skills/identity-access-management/SKILL.md +382 -0
- package/bundled-skills/identity-access-management/references/details.md +524 -0
- package/bundled-skills/incident-management/SKILL.md +484 -0
- package/bundled-skills/incident-response/SKILL.md +448 -0
- package/bundled-skills/incident-response/references/details.md +113 -0
- package/bundled-skills/interview-me/SKILL.md +248 -0
- package/bundled-skills/iso27001-compliance/SKILL.md +460 -0
- package/bundled-skills/jenkins/SKILL.md +462 -0
- package/bundled-skills/jev-use/SKILL.md +158 -0
- package/bundled-skills/kubernetes-hardening/SKILL.md +154 -0
- package/bundled-skills/kubernetes-ops/SKILL.md +449 -0
- package/bundled-skills/kubernetes-ops/references/details.md +108 -0
- package/bundled-skills/kustomize/SKILL.md +478 -0
- package/bundled-skills/ledger-tasks-yylo/SKILL.md +219 -0
- package/bundled-skills/linux-administration/SKILL.md +367 -0
- package/bundled-skills/linux-hardening/SKILL.md +154 -0
- package/bundled-skills/llm-app-security/SKILL.md +389 -0
- package/bundled-skills/llm-app-security/references/details.md +674 -0
- package/bundled-skills/llm-caching/SKILL.md +334 -0
- package/bundled-skills/llm-cost-optimization/SKILL.md +311 -0
- package/bundled-skills/llm-fine-tuning/SKILL.md +329 -0
- package/bundled-skills/llm-gateway/SKILL.md +282 -0
- package/bundled-skills/llm-inference-scaling/SKILL.md +286 -0
- package/bundled-skills/llmops-platform-engineering/SKILL.md +472 -0
- package/bundled-skills/load-balancing/SKILL.md +403 -0
- package/bundled-skills/loki-logging/SKILL.md +479 -0
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +4 -4
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
- package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
- package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
- package/bundled-skills/mcp-server-security/SKILL.md +356 -0
- package/bundled-skills/mcp-server-security/references/details.md +745 -0
- package/bundled-skills/mdm-device-management/SKILL.md +404 -0
- package/bundled-skills/mdm-device-management/references/details.md +410 -0
- package/bundled-skills/meme-coin-audit/SKILL.md +402 -0
- package/bundled-skills/mid-engagement-ir-detection/SKILL.md +377 -0
- package/bundled-skills/model-registry-governance/SKILL.md +452 -0
- package/bundled-skills/model-serving-kubernetes/SKILL.md +339 -0
- package/bundled-skills/model-supply-chain-security/SKILL.md +427 -0
- package/bundled-skills/mongodb/SKILL.md +436 -0
- package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +435 -0
- package/bundled-skills/multi-tenant-llm-hosting/references/details.md +211 -0
- package/bundled-skills/mysql/SKILL.md +390 -0
- package/bundled-skills/new-relic/SKILL.md +472 -0
- package/bundled-skills/nfs-storage/SKILL.md +356 -0
- package/bundled-skills/object-storage/SKILL.md +378 -0
- package/bundled-skills/offensive-osint/SKILL.md +443 -0
- package/bundled-skills/okta-attack/SKILL.md +436 -0
- package/bundled-skills/ollama-stack/SKILL.md +379 -0
- package/bundled-skills/openclaw-deployment-hardening/SKILL.md +135 -0
- package/bundled-skills/openclaw-local-mac-mini/SKILL.md +426 -0
- package/bundled-skills/openclaw-local-mac-mini/references/details.md +221 -0
- package/bundled-skills/openclaw-security-hardening/SKILL.md +135 -0
- package/bundled-skills/openshift/SKILL.md +485 -0
- package/bundled-skills/opentelemetry/SKILL.md +438 -0
- package/bundled-skills/opentelemetry/references/details.md +78 -0
- package/bundled-skills/opentofu-migration/SKILL.md +349 -0
- package/bundled-skills/osint-methodology/SKILL.md +460 -0
- package/bundled-skills/osint-methodology/references/details.md +1350 -0
- package/bundled-skills/pci-dss-compliance/SKILL.md +446 -0
- package/bundled-skills/penetration-testing/SKILL.md +152 -0
- package/bundled-skills/performance-tuning/SKILL.md +381 -0
- package/bundled-skills/plan-ledger-tasks-yylo/SKILL.md +52 -0
- package/bundled-skills/planetscale/SKILL.md +297 -0
- package/bundled-skills/platform-engineering/SKILL.md +348 -0
- package/bundled-skills/platform-engineering/references/details.md +944 -0
- package/bundled-skills/podman/SKILL.md +405 -0
- package/bundled-skills/policy-as-code/SKILL.md +434 -0
- package/bundled-skills/policy-as-code/references/details.md +204 -0
- package/bundled-skills/postgresql-devsec/SKILL.md +378 -0
- package/bundled-skills/prometheus-grafana/SKILL.md +469 -0
- package/bundled-skills/prompt-injection-defense/SKILL.md +483 -0
- package/bundled-skills/rag-infrastructure/SKILL.md +269 -0
- package/bundled-skills/rag-observability-evals/SKILL.md +444 -0
- package/bundled-skills/rag-observability-evals/references/details.md +92 -0
- package/bundled-skills/ralph-loop-yylo/SKILL.md +55 -0
- package/bundled-skills/ralph-loop-yylo/references/first_check.md +18 -0
- package/bundled-skills/ralph-loop-yylo/references/implement.md +60 -0
- package/bundled-skills/recon-scope-triage/SKILL.md +128 -0
- package/bundled-skills/redis/SKILL.md +421 -0
- package/bundled-skills/redteam-report-template/SKILL.md +370 -0
- package/bundled-skills/report-writing/SKILL.md +426 -0
- package/bundled-skills/report-writing/references/details.md +187 -0
- package/bundled-skills/resumable-implementation-contracts/SKILL.md +254 -0
- package/bundled-skills/reverse-proxy/SKILL.md +420 -0
- package/bundled-skills/runbook-creation/SKILL.md +438 -0
- package/bundled-skills/runbook-creation/references/details.md +71 -0
- package/bundled-skills/saas-security-posture/SKILL.md +415 -0
- package/bundled-skills/sast-scanning/SKILL.md +444 -0
- package/bundled-skills/sbom-supply-chain/SKILL.md +433 -0
- package/bundled-skills/security-arsenal/SKILL.md +446 -0
- package/bundled-skills/security-arsenal/references/details.md +540 -0
- package/bundled-skills/security-automation/SKILL.md +146 -0
- package/bundled-skills/semantic-versioning/SKILL.md +434 -0
- package/bundled-skills/semantic-versioning/references/details.md +83 -0
- package/bundled-skills/service-mesh/SKILL.md +422 -0
- package/bundled-skills/soc2-compliance/SKILL.md +409 -0
- package/bundled-skills/sops-encryption/SKILL.md +124 -0
- package/bundled-skills/sre-dashboards/SKILL.md +143 -0
- package/bundled-skills/ssh-configuration/SKILL.md +324 -0
- package/bundled-skills/ssl-tls-management/SKILL.md +428 -0
- package/bundled-skills/ssl-tls-management/references/details.md +99 -0
- package/bundled-skills/startup-it-troubleshooting/SKILL.md +415 -0
- package/bundled-skills/supply-chain-attack-recon/SKILL.md +453 -0
- package/bundled-skills/supply-chain-attack-recon/references/details.md +258 -0
- package/bundled-skills/systemd-services/SKILL.md +379 -0
- package/bundled-skills/terraform-aws/SKILL.md +125 -0
- package/bundled-skills/terraform-azure/SKILL.md +415 -0
- package/bundled-skills/terraform-azure/references/details.md +231 -0
- package/bundled-skills/terraform-gcp/SKILL.md +369 -0
- package/bundled-skills/threat-modeling/SKILL.md +487 -0
- package/bundled-skills/understand-project-yylo/SKILL.md +62 -0
- package/bundled-skills/user-management/SKILL.md +383 -0
- package/bundled-skills/using-agent-skills/SKILL.md +220 -0
- package/bundled-skills/vector-database-ops/SKILL.md +300 -0
- package/bundled-skills/vendor-management/SKILL.md +439 -0
- package/bundled-skills/vendor-management/references/details.md +109 -0
- package/bundled-skills/vercel-deployments/SKILL.md +296 -0
- package/bundled-skills/vllm-server/SKILL.md +236 -0
- package/bundled-skills/vmware-vcenter-attack/SKILL.md +412 -0
- package/bundled-skills/vpn-setup/SKILL.md +452 -0
- package/bundled-skills/vulnerability-scanning/SKILL.md +448 -0
- package/bundled-skills/waf-setup/SKILL.md +354 -0
- package/bundled-skills/waf-setup/references/details.md +211 -0
- package/bundled-skills/weather-model-data-fetching/SKILL.md +277 -0
- package/bundled-skills/weather-observation-fetching/SKILL.md +246 -0
- package/bundled-skills/web2-recon/SKILL.md +440 -0
- package/bundled-skills/web2-recon/references/details.md +319 -0
- package/bundled-skills/web3-audit/SKILL.md +445 -0
- package/bundled-skills/web3-audit/references/details.md +224 -0
- package/bundled-skills/wiki-yylo/SKILL.md +114 -0
- package/bundled-skills/windows-hardening/SKILL.md +454 -0
- package/bundled-skills/windows-hardening/references/details.md +204 -0
- package/bundled-skills/windows-server/SKILL.md +318 -0
- package/bundled-skills/workflow-yylo/SKILL.md +107 -0
- package/bundled-skills/zero-trust/SKILL.md +461 -0
- package/package.json +1 -1
- package/skills_index.json +6924 -0
|
@@ -0,0 +1,436 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: ebpf-observability
|
|
3
|
+
description: Use eBPF for deep kernel-level observability — trace syscalls, network
|
|
4
|
+
flows, and application behavior without code changes using Cilium, Tetragon, and
|
|
5
|
+
bpftrace.
|
|
6
|
+
category: devops
|
|
7
|
+
risk: critical
|
|
8
|
+
source: https://github.com/BagelHole/DevOps-Security-Agent-Skills
|
|
9
|
+
source_repo: BagelHole/DevOps-Security-Agent-Skills
|
|
10
|
+
source_type: community
|
|
11
|
+
date_added: '2026-09-20'
|
|
12
|
+
license: MIT
|
|
13
|
+
license_source: https://github.com/BagelHole/DevOps-Security-Agent-Skills/blob/main/LICENSE
|
|
14
|
+
compatibility: Requires the relevant platform CLIs (kubectl, helm, terraform, git,
|
|
15
|
+
CI runners) and authorized access to the target environment. Docs-only; helper scripts
|
|
16
|
+
and templates not bundled.
|
|
17
|
+
metadata:
|
|
18
|
+
author: devops-skills
|
|
19
|
+
version: '1.0'
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
# eBPF Observability
|
|
23
|
+
|
|
24
|
+
eBPF (extended Berkeley Packet Filter) allows you to run sandboxed programs in the Linux kernel without modifying kernel source code or loading kernel modules. This skill covers using eBPF for deep observability, network monitoring, and security enforcement across cloud-native infrastructure.
|
|
25
|
+
|
|
26
|
+
---
|
|
27
|
+
|
|
28
|
+
## 2. Prerequisites
|
|
29
|
+
|
|
30
|
+
### Kernel Version Requirements
|
|
31
|
+
|
|
32
|
+
| Feature | Minimum Kernel | Recommended Kernel |
|
|
33
|
+
|--------------------------|----------------|--------------------|
|
|
34
|
+
| Basic BPF maps & probes | 4.9 | 5.10+ |
|
|
35
|
+
| BPF CO-RE (BTF support) | 5.2 | 5.10+ |
|
|
36
|
+
| BPF ring buffer | 5.8 | 5.10+ |
|
|
37
|
+
| BPF LSM hooks | 5.7 | 5.15+ |
|
|
38
|
+
| Cilium full features | 4.19 | 5.10+ |
|
|
39
|
+
| Tetragon | 4.19 | 5.13+ |
|
|
40
|
+
|
|
41
|
+
### Verify Kernel Support
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Check kernel version
|
|
45
|
+
uname -r
|
|
46
|
+
|
|
47
|
+
# Verify BTF (BPF Type Format) is enabled -- required for CO-RE
|
|
48
|
+
ls /sys/kernel/btf/vmlinux
|
|
49
|
+
|
|
50
|
+
# Check BPF filesystem is mounted
|
|
51
|
+
mount | grep bpf
|
|
52
|
+
|
|
53
|
+
# If not mounted, mount it
|
|
54
|
+
sudo mount -t bpf bpf /sys/fs/bpf
|
|
55
|
+
|
|
56
|
+
# Verify BPF JIT is enabled
|
|
57
|
+
cat /proc/sys/net/core/bpf_jit_enable
|
|
58
|
+
# Should return 1; if not:
|
|
59
|
+
sudo sysctl net.core.bpf_jit_enable=1
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
### Install Toolchain
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
# Ubuntu/Debian -- install bpftrace, bcc tools, and libbpf
|
|
66
|
+
sudo apt-get update
|
|
67
|
+
sudo apt-get install -y bpftrace bpfcc-tools libbpf-dev linux-headers-$(uname -r)
|
|
68
|
+
|
|
69
|
+
# Fedora/RHEL
|
|
70
|
+
sudo dnf install -y bpftrace bcc-tools libbpf-devel kernel-devel
|
|
71
|
+
|
|
72
|
+
# Verify bpftrace works
|
|
73
|
+
sudo bpftrace -e 'BEGIN { printf("eBPF is working\n"); exit(); }'
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
---
|
|
77
|
+
|
|
78
|
+
## 3. Cilium Setup
|
|
79
|
+
|
|
80
|
+
Cilium replaces kube-proxy with eBPF-based networking, providing identity-aware security and deep network observability via Hubble.
|
|
81
|
+
|
|
82
|
+
### Install Cilium on Kubernetes
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Add the Cilium Helm repo
|
|
86
|
+
helm repo add cilium https://helm.cilium.io/
|
|
87
|
+
helm repo update
|
|
88
|
+
|
|
89
|
+
# Install Cilium with Hubble enabled
|
|
90
|
+
helm install cilium cilium/cilium --version 1.16.4 \
|
|
91
|
+
--namespace kube-system \
|
|
92
|
+
--set kubeProxyReplacement=true \
|
|
93
|
+
--set k8sServiceHost="${API_SERVER_IP}" \
|
|
94
|
+
--set k8sServicePort="${API_SERVER_PORT}" \
|
|
95
|
+
--set hubble.enabled=true \
|
|
96
|
+
--set hubble.relay.enabled=true \
|
|
97
|
+
--set hubble.ui.enabled=true \
|
|
98
|
+
--set hubble.metrics.enableOpenMetrics=true \
|
|
99
|
+
--set hubble.metrics.enabled="{dns,drop,tcp,flow,port-distribution,icmp,httpV2:exemplars=true;labelsContext=source_ip\,source_namespace\,source_workload\,destination_ip\,destination_namespace\,destination_workload}"
|
|
100
|
+
|
|
101
|
+
# Wait for Cilium to be ready
|
|
102
|
+
cilium status --wait
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
### Install the Cilium CLI and Hubble CLI
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
# Cilium CLI
|
|
109
|
+
CILIUM_CLI_VERSION=$(curl -s https://raw.githubusercontent.com/cilium/cilium-cli/main/stable.txt)
|
|
110
|
+
curl -L --remote-name "https://github.com/cilium/cilium-cli/releases/download/${CILIUM_CLI_VERSION}/cilium-linux-amd64.tar.gz"
|
|
111
|
+
sudo tar xzvf cilium-linux-amd64.tar.gz -C /usr/local/bin
|
|
112
|
+
rm cilium-linux-amd64.tar.gz
|
|
113
|
+
|
|
114
|
+
# Hubble CLI
|
|
115
|
+
HUBBLE_VERSION=$(curl -s https://raw.githubusercontent.com/cilium/hubble/master/stable.txt)
|
|
116
|
+
curl -L --remote-name "https://github.com/cilium/hubble/releases/download/${HUBBLE_VERSION}/hubble-linux-amd64.tar.gz"
|
|
117
|
+
sudo tar xzvf hubble-linux-amd64.tar.gz -C /usr/local/bin
|
|
118
|
+
rm hubble-linux-amd64.tar.gz
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Hubble Network Observability
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
# Port-forward the Hubble Relay
|
|
125
|
+
cilium hubble port-forward &
|
|
126
|
+
|
|
127
|
+
# Observe all flows in real time
|
|
128
|
+
hubble observe --follow
|
|
129
|
+
|
|
130
|
+
# Filter flows by namespace
|
|
131
|
+
hubble observe --namespace production --follow
|
|
132
|
+
|
|
133
|
+
# Filter by verdict (dropped traffic)
|
|
134
|
+
hubble observe --verdict DROPPED --follow
|
|
135
|
+
|
|
136
|
+
# Filter by DNS queries
|
|
137
|
+
hubble observe --protocol DNS --follow
|
|
138
|
+
|
|
139
|
+
# Filter HTTP traffic to a specific service
|
|
140
|
+
hubble observe --to-label "app=api-server" --protocol HTTP --follow
|
|
141
|
+
|
|
142
|
+
# Export flows as JSON for ingestion into SIEM
|
|
143
|
+
hubble observe --output json --last 1000 > flows.json
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
### Hubble UI Access
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
# Port-forward the Hubble UI
|
|
150
|
+
kubectl port-forward -n kube-system svc/hubble-ui 12000:80
|
|
151
|
+
|
|
152
|
+
# Access at http://localhost:12000 -- provides a real-time service dependency map
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## 4. Tetragon for Security
|
|
158
|
+
|
|
159
|
+
Tetragon is Cilium's runtime security enforcement engine. It uses eBPF to observe and enforce security policies at the kernel level with zero application changes.
|
|
160
|
+
|
|
161
|
+
### Install Tetragon
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
helm repo add cilium https://helm.cilium.io/
|
|
165
|
+
helm repo update
|
|
166
|
+
|
|
167
|
+
helm install tetragon cilium/tetragon \
|
|
168
|
+
--namespace kube-system \
|
|
169
|
+
--set tetragon.grpc.enabled=true \
|
|
170
|
+
--set tetragon.exportFilename=/var/run/cilium/tetragon/tetragon.log
|
|
171
|
+
|
|
172
|
+
# Install the tetra CLI
|
|
173
|
+
curl -LO "https://github.com/cilium/tetragon/releases/latest/download/tetra-linux-amd64.tar.gz"
|
|
174
|
+
sudo tar xzvf tetra-linux-amd64.tar.gz -C /usr/local/bin
|
|
175
|
+
rm tetra-linux-amd64.tar.gz
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
### Process Execution Monitoring
|
|
179
|
+
|
|
180
|
+
```yaml
|
|
181
|
+
# process-monitor.yaml -- TracingPolicy to monitor all process executions
|
|
182
|
+
apiVersion: cilium.io/v1alpha1
|
|
183
|
+
kind: TracingPolicy
|
|
184
|
+
metadata:
|
|
185
|
+
name: process-execution-monitor
|
|
186
|
+
spec:
|
|
187
|
+
kprobes: []
|
|
188
|
+
tracepoints: []
|
|
189
|
+
uprobes: []
|
|
190
|
+
enforcers: []
|
|
191
|
+
# process_exec and process_exit events are always emitted by default
|
|
192
|
+
# Use tetra CLI to observe them:
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
```bash
|
|
196
|
+
# Watch all process executions cluster-wide
|
|
197
|
+
kubectl exec -n kube-system ds/tetragon -c tetragon -- tetra getevents -o compact --process-exec
|
|
198
|
+
|
|
199
|
+
# Filter to a specific namespace
|
|
200
|
+
kubectl exec -n kube-system ds/tetragon -c tetragon -- tetra getevents -o compact \
|
|
201
|
+
--namespace production
|
|
202
|
+
```
|
|
203
|
+
|
|
204
|
+
### File Access Tracking
|
|
205
|
+
|
|
206
|
+
```yaml
|
|
207
|
+
# file-access-policy.yaml -- detect reads/writes to sensitive files
|
|
208
|
+
apiVersion: cilium.io/v1alpha1
|
|
209
|
+
kind: TracingPolicy
|
|
210
|
+
metadata:
|
|
211
|
+
name: sensitive-file-access
|
|
212
|
+
spec:
|
|
213
|
+
kprobes:
|
|
214
|
+
- call: "security_file_open"
|
|
215
|
+
syscall: false
|
|
216
|
+
args:
|
|
217
|
+
- index: 0
|
|
218
|
+
type: "file"
|
|
219
|
+
selectors:
|
|
220
|
+
- matchArgs:
|
|
221
|
+
- index: 0
|
|
222
|
+
operator: "Prefix"
|
|
223
|
+
values:
|
|
224
|
+
- "/etc/shadow"
|
|
225
|
+
- "/etc/passwd"
|
|
226
|
+
- "/etc/kubernetes/pki"
|
|
227
|
+
- "/var/run/secrets/kubernetes.io"
|
|
228
|
+
- "/root/.ssh"
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
kubectl apply -f file-access-policy.yaml
|
|
233
|
+
|
|
234
|
+
# Observe file access events
|
|
235
|
+
kubectl exec -n kube-system ds/tetragon -c tetragon -- tetra getevents -o compact \
|
|
236
|
+
| grep "sensitive-file-access"
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### Network Connection Enforcement
|
|
240
|
+
|
|
241
|
+
```yaml
|
|
242
|
+
# restrict-egress.yaml -- block unexpected outbound connections
|
|
243
|
+
apiVersion: cilium.io/v1alpha1
|
|
244
|
+
kind: TracingPolicy
|
|
245
|
+
metadata:
|
|
246
|
+
name: restrict-egress-connections
|
|
247
|
+
spec:
|
|
248
|
+
kprobes:
|
|
249
|
+
- call: "tcp_connect"
|
|
250
|
+
syscall: false
|
|
251
|
+
args:
|
|
252
|
+
- index: 0
|
|
253
|
+
type: "sock"
|
|
254
|
+
selectors:
|
|
255
|
+
- matchArgs:
|
|
256
|
+
- index: 0
|
|
257
|
+
operator: "DAddr"
|
|
258
|
+
values:
|
|
259
|
+
- "169.254.169.254" # Block IMDS access
|
|
260
|
+
matchActions:
|
|
261
|
+
- action: Sigkill
|
|
262
|
+
- matchNamespaces:
|
|
263
|
+
- namespace: Mnt
|
|
264
|
+
operator: NotIn
|
|
265
|
+
values:
|
|
266
|
+
- "host_mnt"
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
```bash
|
|
270
|
+
kubectl apply -f restrict-egress.yaml
|
|
271
|
+
```
|
|
272
|
+
|
|
273
|
+
### Privileged Escalation Detection
|
|
274
|
+
|
|
275
|
+
```yaml
|
|
276
|
+
# detect-privilege-escalation.yaml
|
|
277
|
+
apiVersion: cilium.io/v1alpha1
|
|
278
|
+
kind: TracingPolicy
|
|
279
|
+
metadata:
|
|
280
|
+
name: detect-privilege-escalation
|
|
281
|
+
spec:
|
|
282
|
+
kprobes:
|
|
283
|
+
- call: "__x64_sys_setuid"
|
|
284
|
+
syscall: true
|
|
285
|
+
args:
|
|
286
|
+
- index: 0
|
|
287
|
+
type: "int"
|
|
288
|
+
selectors:
|
|
289
|
+
- matchArgs:
|
|
290
|
+
- index: 0
|
|
291
|
+
operator: "Equal"
|
|
292
|
+
values:
|
|
293
|
+
- "0"
|
|
294
|
+
matchActions:
|
|
295
|
+
- action: Post
|
|
296
|
+
rateLimit: "1m"
|
|
297
|
+
- call: "__x64_sys_setns"
|
|
298
|
+
syscall: true
|
|
299
|
+
args:
|
|
300
|
+
- index: 1
|
|
301
|
+
type: "int"
|
|
302
|
+
selectors:
|
|
303
|
+
- matchActions:
|
|
304
|
+
- action: Post
|
|
305
|
+
```
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
kubectl apply -f detect-privilege-escalation.yaml
|
|
309
|
+
```
|
|
310
|
+
|
|
311
|
+
---
|
|
312
|
+
|
|
313
|
+
## 5. bpftrace One-Liners
|
|
314
|
+
|
|
315
|
+
These are practical bpftrace commands you can run directly in production for targeted debugging.
|
|
316
|
+
|
|
317
|
+
### Syscall Latency
|
|
318
|
+
|
|
319
|
+
```bash
|
|
320
|
+
# Trace read() syscall latency distribution (microseconds)
|
|
321
|
+
sudo bpftrace -e 'tracepoint:syscalls:sys_enter_read { @start[tid] = nsecs; }
|
|
322
|
+
tracepoint:syscalls:sys_exit_read /@start[tid]/ {
|
|
323
|
+
@usecs = hist((nsecs - @start[tid]) / 1000);
|
|
324
|
+
delete(@start[tid]);
|
|
325
|
+
}'
|
|
326
|
+
|
|
327
|
+
# Top 10 slowest syscalls by total time
|
|
328
|
+
sudo bpftrace -e 'tracepoint:raw_syscalls:sys_enter { @start[tid] = nsecs; }
|
|
329
|
+
tracepoint:raw_syscalls:sys_exit /@start[tid]/ {
|
|
330
|
+
@ns[probe] = sum(nsecs - @start[tid]);
|
|
331
|
+
delete(@start[tid]);
|
|
332
|
+
} END { print(@ns, 10); }'
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
### DNS Tracing
|
|
336
|
+
|
|
337
|
+
```bash
|
|
338
|
+
# Trace DNS queries via UDP port 53 sends
|
|
339
|
+
sudo bpftrace -e 'kprobe:udp_sendmsg {
|
|
340
|
+
$sk = (struct sock *)arg0;
|
|
341
|
+
$dport = ($sk->__sk_common.skc_dport >> 8) | (($sk->__sk_common.skc_dport & 0xff) << 8);
|
|
342
|
+
if ($dport == 53) {
|
|
343
|
+
printf("%-8d %-16s DNS query to %s\n", pid, comm,
|
|
344
|
+
ntop($sk->__sk_common.skc_daddr));
|
|
345
|
+
}
|
|
346
|
+
}'
|
|
347
|
+
|
|
348
|
+
# Count DNS queries by source process
|
|
349
|
+
sudo bpftrace -e 'kprobe:udp_sendmsg {
|
|
350
|
+
$sk = (struct sock *)arg0;
|
|
351
|
+
$dport = ($sk->__sk_common.skc_dport >> 8) | (($sk->__sk_common.skc_dport & 0xff) << 8);
|
|
352
|
+
if ($dport == 53) { @dns[comm] = count(); }
|
|
353
|
+
}'
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
### TCP Retransmits
|
|
357
|
+
|
|
358
|
+
```bash
|
|
359
|
+
# Trace TCP retransmits with source/destination
|
|
360
|
+
sudo bpftrace -e 'kprobe:tcp_retransmit_skb {
|
|
361
|
+
$sk = (struct sock *)arg0;
|
|
362
|
+
$daddr = ntop($sk->__sk_common.skc_daddr);
|
|
363
|
+
$saddr = ntop($sk->__sk_common.skc_rcv_saddr);
|
|
364
|
+
$dport = ($sk->__sk_common.skc_dport >> 8) | (($sk->__sk_common.skc_dport & 0xff) << 8);
|
|
365
|
+
$sport = $sk->__sk_common.skc_num;
|
|
366
|
+
printf("%-20s %-6d -> %-20s %-6d (%s)\n", $saddr, $sport, $daddr, $dport, comm);
|
|
367
|
+
}'
|
|
368
|
+
```
|
|
369
|
+
|
|
370
|
+
### Disk I/O Latency
|
|
371
|
+
|
|
372
|
+
```bash
|
|
373
|
+
# Block I/O latency histogram by device
|
|
374
|
+
sudo bpftrace -e 'tracepoint:block:block_rq_issue { @start[args->dev, args->sector] = nsecs; }
|
|
375
|
+
tracepoint:block:block_rq_complete /@start[args->dev, args->sector]/ {
|
|
376
|
+
@usecs[args->dev] = hist((nsecs - @start[args->dev, args->sector]) / 1000);
|
|
377
|
+
delete(@start[args->dev, args->sector]);
|
|
378
|
+
}'
|
|
379
|
+
|
|
380
|
+
# Top processes by disk I/O bytes
|
|
381
|
+
sudo bpftrace -e 'tracepoint:block:block_rq_issue {
|
|
382
|
+
@bytes[comm] = sum(args->bytes);
|
|
383
|
+
} interval:s:5 { print(@bytes, 10); clear(@bytes); }'
|
|
384
|
+
```
|
|
385
|
+
|
|
386
|
+
### Container-Aware Tracing
|
|
387
|
+
|
|
388
|
+
```bash
|
|
389
|
+
# Trace process exec inside containers (cgroup-filtered)
|
|
390
|
+
sudo bpftrace -e 'tracepoint:syscalls:sys_enter_execve {
|
|
391
|
+
printf("%-8d %-8d %-16s %s\n", pid, cgroup, comm, str(args->filename));
|
|
392
|
+
}'
|
|
393
|
+
|
|
394
|
+
# Memory allocation hotspots per container
|
|
395
|
+
sudo bpftrace -e 'kprobe:__alloc_pages { @pages[cgroup] = count(); }
|
|
396
|
+
interval:s:10 { print(@pages, 10); clear(@pages); }'
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
---
|
|
400
|
+
|
|
401
|
+
|
|
402
|
+
## Contents
|
|
403
|
+
|
|
404
|
+
- [6. Prometheus Integration](references/details.md)
|
|
405
|
+
- [7. Network Observability](references/details.md)
|
|
406
|
+
- [8. Security Monitoring](references/details.md)
|
|
407
|
+
- [9. Performance Profiling](references/details.md)
|
|
408
|
+
- [10. Troubleshooting](references/details.md)
|
|
409
|
+
|
|
410
|
+
## When to Use
|
|
411
|
+
|
|
412
|
+
Use eBPF-based observability when you need:
|
|
413
|
+
|
|
414
|
+
- **Deep performance debugging** -- trace kernel-level latency, syscall overhead, and scheduling delays that application-level metrics cannot reveal.
|
|
415
|
+
- **Network observability without sidecars** -- capture L3/L4/L7 flows, DNS queries, and TCP state transitions directly from the kernel, eliminating the CPU and memory overhead of sidecar proxies.
|
|
416
|
+
- **Security monitoring at the kernel boundary** -- detect container escapes, unexpected process execution, sensitive file access, and anomalous syscall patterns in real time.
|
|
417
|
+
- **Continuous profiling in production** -- generate CPU flame graphs and memory allocation profiles with negligible overhead (typically under 1% CPU).
|
|
418
|
+
- **Service mesh replacement or augmentation** -- Cilium can replace kube-proxy and provide identity-aware network policies enforced at the kernel level.
|
|
419
|
+
|
|
420
|
+
Avoid eBPF when your kernel version is below 4.19, when you are running on managed platforms that restrict BPF capabilities, or when your debugging needs are fully met by application-level tracing.
|
|
421
|
+
|
|
422
|
+
---
|
|
423
|
+
|
|
424
|
+
## Limitations
|
|
425
|
+
|
|
426
|
+
- Guidance executes against real environments: confirm target, blast radius, and rollback plan before applying anything.
|
|
427
|
+
- Never deploy to production without explicit approval. Docs-only import: upstream scripts and templates not bundled.
|
|
428
|
+
|
|
429
|
+
### Example
|
|
430
|
+
|
|
431
|
+
```bash
|
|
432
|
+
git status && git diff --stat
|
|
433
|
+
kubectl diff -f manifest.yaml
|
|
434
|
+
```
|
|
435
|
+
|
|
436
|
+
> Adapted from [BagelHole/DevOps-Security-Agent-Skills](https://github.com/BagelHole/DevOps-Security-Agent-Skills) (MIT); frontmatter, When to Use/Limitations, and safety boundaries added for upstream compliance. Docs-only import: helper scripts and templates not bundled.
|