opencode-skills-collection 4.0.68 → 4.0.70
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 +304 -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/api-integration-architect/SKILL.md +241 -0
- package/bundled-skills/apify-generate-output-schema/SKILL.md +438 -0
- package/bundled-skills/apify-integration-development/SKILL.md +168 -0
- package/bundled-skills/apify-integration-development/references/ai-framework-package.md +158 -0
- package/bundled-skills/apify-integration-development/references/ai-harness-plugin.md +192 -0
- package/bundled-skills/apify-integration-development/references/sdk-integration.md +236 -0
- package/bundled-skills/apify-integration-development/references/workflow-automation.md +163 -0
- package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
- package/bundled-skills/architecture-review/README.md +42 -0
- package/bundled-skills/architecture-review/SKILL.md +77 -0
- package/bundled-skills/architecture-review/examples.md +11 -0
- package/bundled-skills/architecture-review/reference/best-practices.md +7 -0
- package/bundled-skills/architecture-review/reference/capabilities.md +20 -0
- package/bundled-skills/architecture-review/reference/fallbacks.md +11 -0
- package/bundled-skills/architecture-review/reference/graph.md +15 -0
- package/bundled-skills/architecture-review/reference/mcp.md +14 -0
- package/bundled-skills/architecture-review/reference/workflow.md +15 -0
- package/bundled-skills/architecture-review/templates/architecture-review.md +21 -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/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/code-review-sensei/SKILL.md +177 -0
- package/bundled-skills/codebase-onboarding/README.md +42 -0
- package/bundled-skills/codebase-onboarding/SKILL.md +77 -0
- package/bundled-skills/codebase-onboarding/examples.md +11 -0
- package/bundled-skills/codebase-onboarding/reference/best-practices.md +7 -0
- package/bundled-skills/codebase-onboarding/reference/capabilities.md +20 -0
- package/bundled-skills/codebase-onboarding/reference/fallbacks.md +11 -0
- package/bundled-skills/codebase-onboarding/reference/graph.md +15 -0
- package/bundled-skills/codebase-onboarding/reference/mcp.md +14 -0
- package/bundled-skills/codebase-onboarding/reference/workflow.md +15 -0
- package/bundled-skills/codebase-onboarding/templates/repository-onboarding.md +21 -0
- package/bundled-skills/connection-auth-rules/SKILL.md +199 -0
- package/bundled-skills/connection-auth-rules/fetch_schema.py +320 -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-analysis/README.md +42 -0
- package/bundled-skills/dependency-analysis/SKILL.md +76 -0
- package/bundled-skills/dependency-analysis/examples.md +11 -0
- package/bundled-skills/dependency-analysis/reference/best-practices.md +7 -0
- package/bundled-skills/dependency-analysis/reference/capabilities.md +20 -0
- package/bundled-skills/dependency-analysis/reference/fallbacks.md +11 -0
- package/bundled-skills/dependency-analysis/reference/graph.md +15 -0
- package/bundled-skills/dependency-analysis/reference/mcp.md +14 -0
- package/bundled-skills/dependency-analysis/reference/workflow.md +15 -0
- package/bundled-skills/dependency-analysis/templates/dependency-review.md +21 -0
- package/bundled-skills/dependency-scanning/SKILL.md +457 -0
- package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
- package/bundled-skills/devops-pipeline-builder/SKILL.md +200 -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/eas-app-stores/SKILL.md +197 -0
- package/bundled-skills/eas-app-stores/agents/openai.yaml +4 -0
- package/bundled-skills/eas-app-stores/references/app-store-metadata.md +497 -0
- package/bundled-skills/eas-app-stores/references/ios-app-store.md +376 -0
- package/bundled-skills/eas-app-stores/references/native-ios.md +167 -0
- package/bundled-skills/eas-app-stores/references/play-store.md +244 -0
- package/bundled-skills/eas-app-stores/references/testflight.md +62 -0
- package/bundled-skills/eas-app-stores/references/workflows.md +120 -0
- package/bundled-skills/eas-hosting/SKILL.md +448 -0
- package/bundled-skills/eas-hosting/agents/openai.yaml +4 -0
- package/bundled-skills/eas-observe/SKILL.md +75 -0
- package/bundled-skills/eas-observe/agents/openai.yaml +4 -0
- package/bundled-skills/eas-observe/references/metrics.md +98 -0
- package/bundled-skills/eas-observe/references/queries.md +403 -0
- package/bundled-skills/eas-observe/references/setup.md +476 -0
- package/bundled-skills/eas-observe/references/third-party.md +136 -0
- package/bundled-skills/eas-simulator/SKILL.md +251 -0
- package/bundled-skills/eas-simulator/agents/openai.yaml +4 -0
- package/bundled-skills/eas-simulator/references/controllers.md +135 -0
- package/bundled-skills/eas-simulator/references/run-your-app.md +240 -0
- package/bundled-skills/eas-simulator/references/troubleshooting.md +47 -0
- package/bundled-skills/eas-workflows/SKILL.md +119 -0
- package/bundled-skills/eas-workflows/agents/openai.yaml +4 -0
- package/bundled-skills/eas-workflows/scripts/fetch.js +109 -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/expo-animation/LICENSE +21 -0
- package/bundled-skills/expo-animation/RECIPES.md +385 -0
- package/bundled-skills/expo-animation/SKILL.md +295 -0
- package/bundled-skills/expo-animation/agents/openai.yaml +4 -0
- package/bundled-skills/fact-check-x-unified/SKILL.md +178 -0
- package/bundled-skills/fact-check-x-unified/agents/openai.yaml +4 -0
- package/bundled-skills/fact-check-x-unified/references/acceptance-criteria.md +44 -0
- package/bundled-skills/fact-check-x-unified/references/contracts.md +39 -0
- package/bundled-skills/fact-check-x-unified/scripts/common.py +31 -0
- package/bundled-skills/fact-check-x-unified/scripts/fact_check_x.py +1832 -0
- package/bundled-skills/fact-check-x-unified/scripts/trusted_search_config.py +324 -0
- package/bundled-skills/fact-check-x-unified/tests/anchor_downgrade_test.py +90 -0
- package/bundled-skills/fact-check-x-unified/tests/multi_platform_test.py +369 -0
- package/bundled-skills/fact-check-x-unified/tests/smoke_test.py +740 -0
- package/bundled-skills/fact-check-x-unified/tests/stage_checkpoint_test.py +103 -0
- package/bundled-skills/fact-check-x-unified/tests/trusted_search_config_test.py +156 -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/gpt-taste/SKILL.md +8 -1
- 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/hf-cli/SKILL.md +263 -0
- package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
- package/bundled-skills/huggingface-community-evals/SKILL.md +228 -0
- package/bundled-skills/huggingface-community-evals/examples/.env.example +3 -0
- package/bundled-skills/huggingface-community-evals/examples/USAGE_EXAMPLES.md +101 -0
- package/bundled-skills/huggingface-community-evals/scripts/inspect_eval_uv.py +104 -0
- package/bundled-skills/huggingface-community-evals/scripts/inspect_vllm_uv.py +306 -0
- package/bundled-skills/huggingface-community-evals/scripts/lighteval_vllm_uv.py +297 -0
- package/bundled-skills/huggingface-datasets/SKILL.md +130 -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/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-social/SKILL.md +182 -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/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/longbridge-derivatives/SKILL.md +117 -0
- package/bundled-skills/longbridge-derivatives/references/option.md +36 -0
- package/bundled-skills/longbridge-derivatives/references/options-advanced.md +101 -0
- package/bundled-skills/longbridge-derivatives/references/options-pnl.md +74 -0
- package/bundled-skills/longbridge-derivatives/references/options-strategy.md +82 -0
- package/bundled-skills/longbridge-derivatives/references/options-volatility.md +70 -0
- package/bundled-skills/longbridge-derivatives/references/warrant.md +12 -0
- package/bundled-skills/longbridge-quant/SKILL.md +151 -0
- package/bundled-skills/longbridge-quant/references/correlation.md +51 -0
- package/bundled-skills/longbridge-quant/references/execution-model.md +68 -0
- package/bundled-skills/longbridge-quant/references/factor-research.md +95 -0
- package/bundled-skills/longbridge-quant/references/factor-screen.md +101 -0
- package/bundled-skills/longbridge-quant/references/hedging.md +136 -0
- package/bundled-skills/longbridge-quant/references/ml-strategy.md +77 -0
- package/bundled-skills/longbridge-quant/references/multifactor.md +68 -0
- package/bundled-skills/longbridge-quant/references/pairs-trading.md +61 -0
- package/bundled-skills/longbridge-quant/references/quant-cli.md +133 -0
- package/bundled-skills/longbridge-quant/references/quant-stats.md +150 -0
- package/bundled-skills/longbridge-quant/references/seasonality.md +50 -0
- package/bundled-skills/longbridge-quant/references/strategy-optimizer.md +68 -0
- package/bundled-skills/longbridge-quant/references/volatility-strategy.md +52 -0
- package/bundled-skills/longbridge-research/SKILL.md +187 -0
- package/bundled-skills/longbridge-research/references/company-profile.md +96 -0
- package/bundled-skills/longbridge-research/references/company-tearsheet.md +82 -0
- package/bundled-skills/longbridge-research/references/competitive-analysis.md +81 -0
- package/bundled-skills/longbridge-research/references/consensus.md +92 -0
- package/bundled-skills/longbridge-research/references/coverage-initiation.md +76 -0
- package/bundled-skills/longbridge-research/references/defi-yield.md +60 -0
- package/bundled-skills/longbridge-research/references/finance-calendar.md +165 -0
- package/bundled-skills/longbridge-research/references/financial-planning.md +77 -0
- package/bundled-skills/longbridge-research/references/forecast-eps.md +39 -0
- package/bundled-skills/longbridge-research/references/fund-holder.md +44 -0
- package/bundled-skills/longbridge-research/references/hkipo-analysis.md +101 -0
- package/bundled-skills/longbridge-research/references/industry-peers.md +46 -0
- package/bundled-skills/longbridge-research/references/industry-rank.md +62 -0
- package/bundled-skills/longbridge-research/references/insider-trades.md +48 -0
- package/bundled-skills/longbridge-research/references/institution-rating.md +62 -0
- package/bundled-skills/longbridge-research/references/investment-ideas.md +69 -0
- package/bundled-skills/longbridge-research/references/investment-proposal.md +95 -0
- package/bundled-skills/longbridge-research/references/investors.md +87 -0
- package/bundled-skills/longbridge-research/references/onchain.md +70 -0
- package/bundled-skills/longbridge-research/references/post-investment.md +76 -0
- package/bundled-skills/longbridge-research/references/shareholder.md +72 -0
- package/bundled-skills/longbridge-research/references/short-positions.md +50 -0
- package/bundled-skills/longbridge-research/references/short-trades.md +50 -0
- package/bundled-skills/longbridge-research/references/stock-research.md +61 -0
- package/bundled-skills/longbridge-research/references/thesis-tracker.md +64 -0
- package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
- package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
- package/bundled-skills/makepad-2-0-animation/SKILL.md +318 -0
- package/bundled-skills/makepad-2-0-animation/references/animator-reference.md +433 -0
- package/bundled-skills/makepad-2-0-dsl/SKILL.md +492 -0
- package/bundled-skills/makepad-2-0-dsl/references/dsl-syntax-reference.md +511 -0
- package/bundled-skills/makepad-2-0-dsl/references/extended-guide.md +56 -0
- package/bundled-skills/makepad-2-0-dsl/references/property-system.md +757 -0
- package/bundled-skills/makepad-2-0-events/SKILL.md +497 -0
- package/bundled-skills/makepad-2-0-events/references/event-patterns.md +802 -0
- package/bundled-skills/makepad-2-0-events/references/extended-guide.md +590 -0
- package/bundled-skills/makepad-2-0-layout/SKILL.md +499 -0
- package/bundled-skills/makepad-2-0-layout/references/extended-guide.md +243 -0
- package/bundled-skills/makepad-2-0-layout/references/layout-patterns.md +881 -0
- package/bundled-skills/makepad-2-0-widgets/SKILL.md +261 -0
- package/bundled-skills/makepad-2-0-widgets/references/widget-advanced.md +648 -0
- package/bundled-skills/makepad-2-0-widgets/references/widget-catalog.md +547 -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/meeting-distiller-pro/SKILL.md +120 -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/monte-carlo-analyze-root-cause/SKILL.md +12 -1
- package/bundled-skills/monte-carlo-asset-health/SKILL.md +12 -1
- package/bundled-skills/monte-carlo-context-detection/SKILL.md +170 -0
- package/bundled-skills/monte-carlo-context-detection/references/signal-definitions.md +46 -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/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/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/remotion-captions/SKILL.md +57 -0
- package/bundled-skills/remotion-captions/agents/openai.yaml +7 -0
- package/bundled-skills/remotion-captions/assets/remotion-icon.svg +4 -0
- package/bundled-skills/remotion-captions/display-captions.md +190 -0
- package/bundled-skills/remotion-captions/import-srt-captions.md +73 -0
- package/bundled-skills/remotion-captions/transcribe-captions.md +70 -0
- package/bundled-skills/remotion-create/SKILL.md +106 -0
- package/bundled-skills/remotion-create/agents/openai.yaml +7 -0
- package/bundled-skills/remotion-create/assets/remotion-icon.svg +4 -0
- package/bundled-skills/remotion-create/tailwind.md +11 -0
- package/bundled-skills/remotion-create/video-layout.md +9 -0
- package/bundled-skills/remotion-docs/SKILL.md +67 -0
- package/bundled-skills/remotion-docs/agents/openai.yaml +7 -0
- package/bundled-skills/remotion-docs/assets/remotion-icon.svg +4 -0
- package/bundled-skills/remotion-interactivity/SKILL.md +270 -0
- package/bundled-skills/remotion-interactivity/agents/openai.yaml +7 -0
- package/bundled-skills/remotion-interactivity/assets/remotion-icon.svg +4 -0
- package/bundled-skills/remotion-render/SKILL.md +48 -0
- package/bundled-skills/remotion-render/agents/openai.yaml +7 -0
- package/bundled-skills/remotion-render/assets/remotion-icon.svg +4 -0
- package/bundled-skills/remotion-render/transparent-videos.md +106 -0
- package/bundled-skills/report-writing/SKILL.md +426 -0
- package/bundled-skills/report-writing/references/details.md +187 -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-pricing-strategist/SKILL.md +169 -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/score-eval/SKILL.md +35 -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/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/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/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/writing-guidelines/SKILL.md +60 -0
- package/bundled-skills/zero-trust/SKILL.md +461 -0
- package/package.json +1 -1
- package/skills_index.json +7874 -277
|
@@ -0,0 +1,542 @@
|
|
|
1
|
+
# Details (moved from SKILL.md)
|
|
2
|
+
|
|
3
|
+
> Extended reference content for `ebpf-observability`, kept under `references/` so the entrypoint stays within the audit budget.
|
|
4
|
+
|
|
5
|
+
## 6. Prometheus Integration
|
|
6
|
+
|
|
7
|
+
### Hubble Metrics for Prometheus
|
|
8
|
+
|
|
9
|
+
Hubble automatically exposes Prometheus metrics when configured in the Cilium Helm install. Verify the metrics endpoint:
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
# Check that Hubble metrics are being served
|
|
13
|
+
kubectl exec -n kube-system ds/cilium -- curl -s http://localhost:9965/metrics | head -50
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Create a ServiceMonitor for Prometheus Operator:
|
|
17
|
+
|
|
18
|
+
```yaml
|
|
19
|
+
# hubble-servicemonitor.yaml
|
|
20
|
+
apiVersion: monitoring.coreos.com/v1
|
|
21
|
+
kind: ServiceMonitor
|
|
22
|
+
metadata:
|
|
23
|
+
name: hubble-metrics
|
|
24
|
+
namespace: kube-system
|
|
25
|
+
labels:
|
|
26
|
+
app: cilium
|
|
27
|
+
spec:
|
|
28
|
+
selector:
|
|
29
|
+
matchLabels:
|
|
30
|
+
k8s-app: cilium
|
|
31
|
+
endpoints:
|
|
32
|
+
- port: hubble-metrics
|
|
33
|
+
interval: 15s
|
|
34
|
+
path: /metrics
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### eBPF Exporter for Custom Kernel Metrics
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Deploy cloudflare/ebpf_exporter for custom kernel metrics
|
|
41
|
+
helm repo add ebpf-exporter https://cloudflare.github.io/ebpf_exporter
|
|
42
|
+
helm install ebpf-exporter ebpf-exporter/ebpf-exporter \
|
|
43
|
+
--namespace monitoring \
|
|
44
|
+
--set config.programs[0].name=oom_kills \
|
|
45
|
+
--set config.programs[0].metrics.counters[0].name=oom_kill_total \
|
|
46
|
+
--set config.programs[0].metrics.counters[0].help="Total number of OOM kills"
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Example ebpf_exporter config for tracking OOM kills and run queue latency:
|
|
50
|
+
|
|
51
|
+
```yaml
|
|
52
|
+
# ebpf-exporter-config.yaml
|
|
53
|
+
programs:
|
|
54
|
+
- name: oom_kills
|
|
55
|
+
metrics:
|
|
56
|
+
counters:
|
|
57
|
+
- name: oom_kill_total
|
|
58
|
+
help: "Total number of OOM kills"
|
|
59
|
+
labels:
|
|
60
|
+
- name: cgroup
|
|
61
|
+
size: 128
|
|
62
|
+
decoders:
|
|
63
|
+
- name: string
|
|
64
|
+
kprobes:
|
|
65
|
+
oom_kill_process: count_oom
|
|
66
|
+
- name: runqlat
|
|
67
|
+
metrics:
|
|
68
|
+
histograms:
|
|
69
|
+
- name: run_queue_latency_seconds
|
|
70
|
+
help: "Run queue latency histogram in seconds"
|
|
71
|
+
bucket_type: exp2
|
|
72
|
+
bucket_min: 0
|
|
73
|
+
bucket_max: 26
|
|
74
|
+
bucket_multiplier: 0.000000001
|
|
75
|
+
tracepoints:
|
|
76
|
+
sched:sched_wakeup: trace_wakeup
|
|
77
|
+
sched:sched_switch: trace_switch
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
### Grafana Dashboard
|
|
81
|
+
|
|
82
|
+
Import these community dashboards for eBPF metrics:
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# Hubble dashboard -- Grafana dashboard ID 16611
|
|
86
|
+
# Cilium Agent dashboard -- Grafana dashboard ID 16612
|
|
87
|
+
# Cilium Operator dashboard -- Grafana dashboard ID 16613
|
|
88
|
+
|
|
89
|
+
# Or create a ConfigMap for automatic provisioning
|
|
90
|
+
kubectl create configmap grafana-cilium-dashboard \
|
|
91
|
+
--from-file=cilium-dashboard.json \
|
|
92
|
+
--namespace monitoring \
|
|
93
|
+
-o yaml --dry-run=client | \
|
|
94
|
+
kubectl label --local -f - grafana_dashboard=1 -o yaml | \
|
|
95
|
+
kubectl apply -f -
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Key Prometheus queries for eBPF-sourced metrics:
|
|
99
|
+
|
|
100
|
+
```promql
|
|
101
|
+
# Dropped packets rate by reason
|
|
102
|
+
rate(hubble_drop_total[5m])
|
|
103
|
+
|
|
104
|
+
# DNS error rate by query type
|
|
105
|
+
sum(rate(hubble_dns_responses_total{rcode!="No Error"}[5m])) by (rcode, qtypes)
|
|
106
|
+
|
|
107
|
+
# HTTP request latency (p99) from Hubble L7 visibility
|
|
108
|
+
histogram_quantile(0.99, sum(rate(hubble_http_request_duration_seconds_bucket[5m])) by (le, destination))
|
|
109
|
+
|
|
110
|
+
# TCP retransmit rate from eBPF exporter
|
|
111
|
+
rate(tcp_retransmits_total[5m])
|
|
112
|
+
|
|
113
|
+
# Run queue latency p99
|
|
114
|
+
histogram_quantile(0.99, sum(rate(run_queue_latency_seconds_bucket[5m])) by (le))
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
## 7. Network Observability
|
|
121
|
+
|
|
122
|
+
### L3/L4 Flow Logging
|
|
123
|
+
|
|
124
|
+
```bash
|
|
125
|
+
# Log all TCP connections with Hubble
|
|
126
|
+
hubble observe --type l3/l4 --protocol TCP --follow
|
|
127
|
+
|
|
128
|
+
# Filter SYN packets only (new connections)
|
|
129
|
+
hubble observe --type trace:to-endpoint --tcp-flags SYN --follow
|
|
130
|
+
|
|
131
|
+
# Export flows to a file for batch analysis
|
|
132
|
+
hubble observe --output json --since 1h > network-flows.json
|
|
133
|
+
|
|
134
|
+
# Count flows by destination service over the last hour
|
|
135
|
+
hubble observe --output json --since 1h | \
|
|
136
|
+
jq -r '.destination.labels[] | select(startswith("k8s:app="))' | \
|
|
137
|
+
sort | uniq -c | sort -rn | head -20
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
### L7 Protocol Visibility
|
|
141
|
+
|
|
142
|
+
Enable L7 visibility with Cilium annotations on target pods:
|
|
143
|
+
|
|
144
|
+
```yaml
|
|
145
|
+
# Annotate a namespace for HTTP visibility
|
|
146
|
+
apiVersion: v1
|
|
147
|
+
kind: Namespace
|
|
148
|
+
metadata:
|
|
149
|
+
name: production
|
|
150
|
+
annotations:
|
|
151
|
+
policy.cilium.io/proxy-visibility: "<Egress/53/UDP/DNS>,<Ingress/80/TCP/HTTP>,<Ingress/443/TCP/HTTP>"
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
# Observe L7 HTTP flows
|
|
156
|
+
hubble observe --type l7 --protocol HTTP --follow
|
|
157
|
+
|
|
158
|
+
# Filter by HTTP status code (5xx errors)
|
|
159
|
+
hubble observe --type l7 --http-status "500+" --follow
|
|
160
|
+
|
|
161
|
+
# Filter by HTTP method and path
|
|
162
|
+
hubble observe --type l7 --http-method GET --http-path "/api/v1/.*" --follow
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
### DNS Monitoring
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
# All DNS queries and responses
|
|
169
|
+
hubble observe --type l7 --protocol DNS --follow
|
|
170
|
+
|
|
171
|
+
# DNS queries that returned NXDOMAIN
|
|
172
|
+
hubble observe --type l7 --protocol DNS --dns-rcode NXDOMAIN --follow
|
|
173
|
+
|
|
174
|
+
# DNS latency analysis with bpftrace
|
|
175
|
+
sudo bpftrace -e 'kprobe:dns_resolve { @start[tid] = nsecs; }
|
|
176
|
+
kretprobe:dns_resolve /@start[tid]/ {
|
|
177
|
+
@dns_latency_us = hist((nsecs - @start[tid]) / 1000);
|
|
178
|
+
delete(@start[tid]);
|
|
179
|
+
}'
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
### Service Dependency Map Generation
|
|
183
|
+
|
|
184
|
+
Hubble UI automatically generates service maps. For programmatic access:
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
# Get a service map via Hubble Relay API
|
|
188
|
+
hubble observe --output json --since 24h | \
|
|
189
|
+
jq '{src: .source.labels, dst: .destination.labels, verdict: .verdict}' | \
|
|
190
|
+
jq -s 'group_by(.src, .dst) | map({
|
|
191
|
+
source: .[0].src,
|
|
192
|
+
destination: .[0].dst,
|
|
193
|
+
flow_count: length,
|
|
194
|
+
verdicts: [.[].verdict] | group_by(.) | map({(.[0]): length}) | add
|
|
195
|
+
})' > service-map.json
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
|
|
201
|
+
## 8. Security Monitoring
|
|
202
|
+
|
|
203
|
+
### Detect Container Escapes
|
|
204
|
+
|
|
205
|
+
```yaml
|
|
206
|
+
# container-escape-detection.yaml
|
|
207
|
+
apiVersion: cilium.io/v1alpha1
|
|
208
|
+
kind: TracingPolicy
|
|
209
|
+
metadata:
|
|
210
|
+
name: detect-container-escape
|
|
211
|
+
spec:
|
|
212
|
+
kprobes:
|
|
213
|
+
- call: "__x64_sys_unshare"
|
|
214
|
+
syscall: true
|
|
215
|
+
args:
|
|
216
|
+
- index: 0
|
|
217
|
+
type: "int"
|
|
218
|
+
selectors:
|
|
219
|
+
- matchActions:
|
|
220
|
+
- action: Post
|
|
221
|
+
- call: "__x64_sys_mount"
|
|
222
|
+
syscall: true
|
|
223
|
+
args:
|
|
224
|
+
- index: 0
|
|
225
|
+
type: "string"
|
|
226
|
+
- index: 1
|
|
227
|
+
type: "string"
|
|
228
|
+
- index: 2
|
|
229
|
+
type: "string"
|
|
230
|
+
selectors:
|
|
231
|
+
- matchArgs:
|
|
232
|
+
- index: 2
|
|
233
|
+
operator: "Equal"
|
|
234
|
+
values:
|
|
235
|
+
- "proc"
|
|
236
|
+
- "sysfs"
|
|
237
|
+
- "cgroup"
|
|
238
|
+
matchActions:
|
|
239
|
+
- action: Post
|
|
240
|
+
- call: "__x64_sys_ptrace"
|
|
241
|
+
syscall: true
|
|
242
|
+
args:
|
|
243
|
+
- index: 0
|
|
244
|
+
type: "int"
|
|
245
|
+
selectors:
|
|
246
|
+
- matchActions:
|
|
247
|
+
- action: Post
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
```bash
|
|
251
|
+
kubectl apply -f container-escape-detection.yaml
|
|
252
|
+
```
|
|
253
|
+
|
|
254
|
+
### Unexpected Syscall Detection
|
|
255
|
+
|
|
256
|
+
```yaml
|
|
257
|
+
# unexpected-syscalls.yaml -- alert on dangerous syscalls
|
|
258
|
+
apiVersion: cilium.io/v1alpha1
|
|
259
|
+
kind: TracingPolicy
|
|
260
|
+
metadata:
|
|
261
|
+
name: unexpected-syscalls
|
|
262
|
+
spec:
|
|
263
|
+
kprobes:
|
|
264
|
+
- call: "__x64_sys_bpf"
|
|
265
|
+
syscall: true
|
|
266
|
+
args:
|
|
267
|
+
- index: 0
|
|
268
|
+
type: "int"
|
|
269
|
+
selectors:
|
|
270
|
+
- matchNamespaces:
|
|
271
|
+
- namespace: Pid
|
|
272
|
+
operator: NotIn
|
|
273
|
+
values:
|
|
274
|
+
- "host_ns"
|
|
275
|
+
matchActions:
|
|
276
|
+
- action: Post
|
|
277
|
+
- call: "__x64_sys_perf_event_open"
|
|
278
|
+
syscall: true
|
|
279
|
+
selectors:
|
|
280
|
+
- matchNamespaces:
|
|
281
|
+
- namespace: Pid
|
|
282
|
+
operator: NotIn
|
|
283
|
+
values:
|
|
284
|
+
- "host_ns"
|
|
285
|
+
matchActions:
|
|
286
|
+
- action: Post
|
|
287
|
+
- call: "__x64_sys_init_module"
|
|
288
|
+
syscall: true
|
|
289
|
+
selectors:
|
|
290
|
+
- matchActions:
|
|
291
|
+
- action: Sigkill
|
|
292
|
+
```
|
|
293
|
+
|
|
294
|
+
### File Integrity Monitoring
|
|
295
|
+
|
|
296
|
+
```yaml
|
|
297
|
+
# file-integrity-monitor.yaml
|
|
298
|
+
apiVersion: cilium.io/v1alpha1
|
|
299
|
+
kind: TracingPolicy
|
|
300
|
+
metadata:
|
|
301
|
+
name: file-integrity-monitor
|
|
302
|
+
spec:
|
|
303
|
+
kprobes:
|
|
304
|
+
- call: "security_file_open"
|
|
305
|
+
syscall: false
|
|
306
|
+
args:
|
|
307
|
+
- index: 0
|
|
308
|
+
type: "file"
|
|
309
|
+
selectors:
|
|
310
|
+
- matchArgs:
|
|
311
|
+
- index: 0
|
|
312
|
+
operator: "Prefix"
|
|
313
|
+
values:
|
|
314
|
+
- "/etc/"
|
|
315
|
+
- "/usr/bin/"
|
|
316
|
+
- "/usr/sbin/"
|
|
317
|
+
- "/usr/lib/"
|
|
318
|
+
matchActions:
|
|
319
|
+
- action: Post
|
|
320
|
+
rateLimit: "1m"
|
|
321
|
+
- call: "security_inode_rename"
|
|
322
|
+
syscall: false
|
|
323
|
+
args:
|
|
324
|
+
- index: 0
|
|
325
|
+
type: "path"
|
|
326
|
+
- index: 1
|
|
327
|
+
type: "path"
|
|
328
|
+
selectors:
|
|
329
|
+
- matchActions:
|
|
330
|
+
- action: Post
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
```bash
|
|
334
|
+
kubectl apply -f file-integrity-monitor.yaml
|
|
335
|
+
|
|
336
|
+
# Stream events to your SIEM
|
|
337
|
+
kubectl logs -n kube-system ds/tetragon -c export-stdout -f | \
|
|
338
|
+
jq 'select(.process_kprobe.policy_name == "file-integrity-monitor")' | \
|
|
339
|
+
tee /dev/stderr | \
|
|
340
|
+
curl -X POST -H "Content-Type: application/json" -d @- https://siem.internal/api/events
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
---
|
|
344
|
+
|
|
345
|
+
|
|
346
|
+
## 9. Performance Profiling
|
|
347
|
+
|
|
348
|
+
### Continuous Profiling with Parca
|
|
349
|
+
|
|
350
|
+
Parca uses eBPF to collect CPU profiles continuously with minimal overhead.
|
|
351
|
+
|
|
352
|
+
```bash
|
|
353
|
+
# Install Parca Agent via Helm
|
|
354
|
+
helm repo add parca https://parca-dev.github.io/helm-charts
|
|
355
|
+
helm repo update
|
|
356
|
+
|
|
357
|
+
helm install parca-agent parca/parca-agent \
|
|
358
|
+
--namespace parca \
|
|
359
|
+
--create-namespace \
|
|
360
|
+
--set config.node=true \
|
|
361
|
+
--set config.store.address="parca-server.parca.svc:7070" \
|
|
362
|
+
--set config.store.insecure=true \
|
|
363
|
+
--set config.debuginfo.strip=true \
|
|
364
|
+
--set config.debuginfo.upload.enabled=true
|
|
365
|
+
```
|
|
366
|
+
|
|
367
|
+
### Continuous Profiling with Pyroscope
|
|
368
|
+
|
|
369
|
+
```bash
|
|
370
|
+
# Install Grafana Pyroscope with eBPF profiling
|
|
371
|
+
helm repo add grafana https://grafana.github.io/helm-charts
|
|
372
|
+
helm repo update
|
|
373
|
+
|
|
374
|
+
helm install pyroscope grafana/pyroscope \
|
|
375
|
+
--namespace pyroscope \
|
|
376
|
+
--create-namespace \
|
|
377
|
+
--set ebpf.enabled=true \
|
|
378
|
+
--set agent.mode=ebpf
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
### CPU Flame Graphs with bpftrace
|
|
382
|
+
|
|
383
|
+
```bash
|
|
384
|
+
# Sample kernel and user stacks at 99Hz for 30 seconds
|
|
385
|
+
sudo bpftrace -e 'profile:hz:99 { @[kstack, ustack, comm] = count(); }' \
|
|
386
|
+
-d 30 > stacks.out
|
|
387
|
+
|
|
388
|
+
# Using perf with BPF for flame graphs
|
|
389
|
+
sudo perf record -F 99 -a -g -- sleep 30
|
|
390
|
+
sudo perf script > perf.stacks
|
|
391
|
+
|
|
392
|
+
# Convert to flame graph (using Brendan Gregg's tools)
|
|
393
|
+
git clone https://github.com/brendangregg/FlameGraph.git
|
|
394
|
+
./FlameGraph/stackcollapse-perf.pl perf.stacks | \
|
|
395
|
+
./FlameGraph/flamegraph.pl > flamegraph.svg
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
### Off-CPU Analysis
|
|
399
|
+
|
|
400
|
+
```bash
|
|
401
|
+
# Trace off-CPU time to find where threads are blocked
|
|
402
|
+
sudo bpftrace -e '
|
|
403
|
+
kprobe:finish_task_switch {
|
|
404
|
+
$prev = (struct task_struct *)arg0;
|
|
405
|
+
if ($prev->__state != 0) {
|
|
406
|
+
@block_start[$prev->pid] = nsecs;
|
|
407
|
+
}
|
|
408
|
+
if (@block_start[tid]) {
|
|
409
|
+
@off_cpu_us[kstack, comm] = sum((nsecs - @block_start[tid]) / 1000);
|
|
410
|
+
delete(@block_start[tid]);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
413
|
+
END { print(@off_cpu_us, 20); }'
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
### Memory Leak Detection
|
|
417
|
+
|
|
418
|
+
```bash
|
|
419
|
+
# Track memory allocations not freed
|
|
420
|
+
sudo bpftrace -e '
|
|
421
|
+
kprobe:kmalloc { @allocs[kstack] = count(); @bytes[kstack] = sum(arg0); }
|
|
422
|
+
kprobe:kfree { @frees = count(); }
|
|
423
|
+
interval:s:10 { print(@bytes, 10); }
|
|
424
|
+
'
|
|
425
|
+
|
|
426
|
+
# Per-process heap growth tracking
|
|
427
|
+
sudo bpftrace -e '
|
|
428
|
+
uprobe:/lib/x86_64-linux-gnu/libc.so.6:malloc { @size[comm, tid] = sum(arg0); }
|
|
429
|
+
interval:s:5 { print(@size, 10); clear(@size); }
|
|
430
|
+
'
|
|
431
|
+
```
|
|
432
|
+
|
|
433
|
+
---
|
|
434
|
+
|
|
435
|
+
|
|
436
|
+
## 10. Troubleshooting
|
|
437
|
+
|
|
438
|
+
### Common eBPF Issues
|
|
439
|
+
|
|
440
|
+
**BPF verifier rejects program:**
|
|
441
|
+
|
|
442
|
+
```bash
|
|
443
|
+
# Get verbose verifier output
|
|
444
|
+
sudo bpftrace -d -e 'your_program_here' 2>&1 | tail -50
|
|
445
|
+
|
|
446
|
+
# Common causes:
|
|
447
|
+
# - Unbounded loops (BPF requires bounded loops or unrolled iterations)
|
|
448
|
+
# - Stack size exceeds 512 bytes
|
|
449
|
+
# - Accessing memory without null checks
|
|
450
|
+
# - Back-edges in control flow (pre-5.3 kernels)
|
|
451
|
+
```
|
|
452
|
+
|
|
453
|
+
**BTF not available:**
|
|
454
|
+
|
|
455
|
+
```bash
|
|
456
|
+
# Check if BTF is compiled into the kernel
|
|
457
|
+
cat /boot/config-$(uname -r) | grep CONFIG_DEBUG_INFO_BTF
|
|
458
|
+
|
|
459
|
+
# If not, install BTF data from btfhub
|
|
460
|
+
# https://github.com/aquasecurity/btfhub
|
|
461
|
+
wget "https://github.com/aquasecurity/btfhub-archive/raw/main/ubuntu/22.04/x86_64/$(uname -r).btf.tar.xz"
|
|
462
|
+
tar xvf "$(uname -r).btf.tar.xz"
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
**Permission denied:**
|
|
466
|
+
|
|
467
|
+
```bash
|
|
468
|
+
# BPF requires CAP_BPF (or CAP_SYS_ADMIN on older kernels)
|
|
469
|
+
# For containers, add to securityContext:
|
|
470
|
+
# securityContext:
|
|
471
|
+
# capabilities:
|
|
472
|
+
# add: ["BPF", "PERFMON", "SYS_RESOURCE"]
|
|
473
|
+
|
|
474
|
+
# Check current capabilities
|
|
475
|
+
cat /proc/self/status | grep Cap
|
|
476
|
+
capsh --decode=$(cat /proc/self/status | grep CapEff | awk '{print $2}')
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
**Cilium pods not starting:**
|
|
480
|
+
|
|
481
|
+
```bash
|
|
482
|
+
# Check Cilium agent logs
|
|
483
|
+
kubectl logs -n kube-system -l k8s-app=cilium --tail=100
|
|
484
|
+
|
|
485
|
+
# Verify BPF filesystem
|
|
486
|
+
kubectl exec -n kube-system ds/cilium -- mount | grep bpf
|
|
487
|
+
|
|
488
|
+
# Check for conflicting CNIs
|
|
489
|
+
ls /etc/cni/net.d/
|
|
490
|
+
|
|
491
|
+
# Run Cilium connectivity test
|
|
492
|
+
cilium connectivity test
|
|
493
|
+
```
|
|
494
|
+
|
|
495
|
+
**Tetragon events missing:**
|
|
496
|
+
|
|
497
|
+
```bash
|
|
498
|
+
# Verify TracingPolicy is loaded
|
|
499
|
+
kubectl get tracingpolicies
|
|
500
|
+
|
|
501
|
+
# Check Tetragon agent logs for verifier errors
|
|
502
|
+
kubectl logs -n kube-system ds/tetragon -c tetragon --tail=200 | grep -i error
|
|
503
|
+
|
|
504
|
+
# Verify the kprobe is attached
|
|
505
|
+
kubectl exec -n kube-system ds/tetragon -c tetragon -- \
|
|
506
|
+
cat /sys/kernel/debug/kprobes/list | grep your_function
|
|
507
|
+
```
|
|
508
|
+
|
|
509
|
+
**High overhead from eBPF programs:**
|
|
510
|
+
|
|
511
|
+
```bash
|
|
512
|
+
# List all loaded BPF programs and their run time
|
|
513
|
+
sudo bpftool prog show
|
|
514
|
+
sudo bpftool prog profile id <PROG_ID> duration 5
|
|
515
|
+
|
|
516
|
+
# Check map memory usage
|
|
517
|
+
sudo bpftool map show
|
|
518
|
+
sudo bpftool map dump id <MAP_ID> | wc -l
|
|
519
|
+
|
|
520
|
+
# If a program is consuming too much CPU, check its run count and time
|
|
521
|
+
sudo bpftool prog show id <PROG_ID> --json | jq '{run_cnt, run_time_ns}'
|
|
522
|
+
|
|
523
|
+
# Detach a misbehaving program
|
|
524
|
+
sudo bpftool prog detach id <PROG_ID> type <ATTACH_TYPE>
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
### Kernel Compatibility Matrix
|
|
528
|
+
|
|
529
|
+
```bash
|
|
530
|
+
# Quick check: which eBPF features your kernel supports
|
|
531
|
+
sudo bpftool feature probe kernel
|
|
532
|
+
|
|
533
|
+
# Check specific program types
|
|
534
|
+
sudo bpftool feature probe kernel | grep program_type
|
|
535
|
+
|
|
536
|
+
# Check available map types
|
|
537
|
+
sudo bpftool feature probe kernel | grep map_type
|
|
538
|
+
|
|
539
|
+
# Check available helper functions
|
|
540
|
+
sudo bpftool feature probe kernel | grep helper
|
|
541
|
+
```
|
|
542
|
+
|