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,476 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: audit-logging
|
|
3
|
+
description: Implement centralized audit logging and SIEM integration. Configure log
|
|
4
|
+
retention and security monitoring. Use when implementing audit trail requirements.
|
|
5
|
+
category: security
|
|
6
|
+
risk: safe
|
|
7
|
+
source: https://github.com/BagelHole/DevOps-Security-Agent-Skills
|
|
8
|
+
source_repo: BagelHole/DevOps-Security-Agent-Skills
|
|
9
|
+
source_type: community
|
|
10
|
+
date_added: '2026-09-20'
|
|
11
|
+
license: MIT
|
|
12
|
+
license_source: https://github.com/BagelHole/DevOps-Security-Agent-Skills/blob/main/LICENSE
|
|
13
|
+
compatibility: Checklist and framework guidance; no privileged tooling required. Apply
|
|
14
|
+
controls through your own change process.
|
|
15
|
+
metadata:
|
|
16
|
+
author: devops-skills
|
|
17
|
+
version: '1.0'
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Audit Logging
|
|
21
|
+
|
|
22
|
+
Implement comprehensive audit logging for compliance, security monitoring, and forensic analysis across infrastructure and applications.
|
|
23
|
+
|
|
24
|
+
## When to Use
|
|
25
|
+
|
|
26
|
+
- Setting up centralized logging for compliance frameworks (SOC 2, HIPAA, PCI DSS)
|
|
27
|
+
- Implementing security event monitoring and alerting
|
|
28
|
+
- Building audit trails for regulatory requirements
|
|
29
|
+
- Configuring log retention and tamper-proof storage
|
|
30
|
+
- Integrating application logs with SIEM platforms
|
|
31
|
+
|
|
32
|
+
## Log Categories
|
|
33
|
+
|
|
34
|
+
```yaml
|
|
35
|
+
audit_events:
|
|
36
|
+
authentication:
|
|
37
|
+
- Login attempts (success and failure)
|
|
38
|
+
- MFA enrollment and verification events
|
|
39
|
+
- Session creation, renewal, and termination
|
|
40
|
+
- Password changes and resets
|
|
41
|
+
- API key and token generation
|
|
42
|
+
|
|
43
|
+
authorization:
|
|
44
|
+
- Access grants and denials
|
|
45
|
+
- Permission changes and role assignments
|
|
46
|
+
- Privilege escalation events
|
|
47
|
+
- Resource sharing modifications
|
|
48
|
+
- Policy evaluation results
|
|
49
|
+
|
|
50
|
+
data_access:
|
|
51
|
+
- Read operations on sensitive data
|
|
52
|
+
- Write and update operations
|
|
53
|
+
- Delete and purge operations
|
|
54
|
+
- Bulk export and download events
|
|
55
|
+
- Data classification changes
|
|
56
|
+
|
|
57
|
+
administrative:
|
|
58
|
+
- Configuration changes
|
|
59
|
+
- User and group management
|
|
60
|
+
- System startup and shutdown
|
|
61
|
+
- Backup and restore operations
|
|
62
|
+
- Network and firewall rule changes
|
|
63
|
+
|
|
64
|
+
system:
|
|
65
|
+
- Service health state changes
|
|
66
|
+
- Resource provisioning and deprovisioning
|
|
67
|
+
- Certificate and key rotation events
|
|
68
|
+
- Scheduled job execution results
|
|
69
|
+
- Integration and webhook events
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Rsyslog Configuration for Centralized Logging
|
|
73
|
+
|
|
74
|
+
```bash
|
|
75
|
+
# /etc/rsyslog.d/50-audit.conf
|
|
76
|
+
|
|
77
|
+
# Load imfile module to read application logs
|
|
78
|
+
module(load="imfile")
|
|
79
|
+
|
|
80
|
+
# Forward auth logs
|
|
81
|
+
input(type="imfile"
|
|
82
|
+
File="/var/log/auth.log"
|
|
83
|
+
Tag="auth"
|
|
84
|
+
Severity="info"
|
|
85
|
+
Facility="auth"
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
# Forward application audit logs
|
|
89
|
+
input(type="imfile"
|
|
90
|
+
File="/var/log/app/audit.log"
|
|
91
|
+
Tag="app-audit"
|
|
92
|
+
Severity="info"
|
|
93
|
+
Facility="local0"
|
|
94
|
+
)
|
|
95
|
+
|
|
96
|
+
# Structured JSON template
|
|
97
|
+
template(name="json-audit" type="list") {
|
|
98
|
+
constant(value="{")
|
|
99
|
+
constant(value="\"@timestamp\":\"") property(name="timereported" dateFormat="rfc3339")
|
|
100
|
+
constant(value="\",\"host\":\"") property(name="hostname")
|
|
101
|
+
constant(value="\",\"severity\":\"") property(name="syslogseverity-text")
|
|
102
|
+
constant(value="\",\"facility\":\"") property(name="syslogfacility-text")
|
|
103
|
+
constant(value="\",\"tag\":\"") property(name="syslogtag" format="json")
|
|
104
|
+
constant(value="\",\"message\":\"") property(name="msg" format="json")
|
|
105
|
+
constant(value="\"}\n")
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
# Forward to central syslog server over TLS
|
|
109
|
+
action(
|
|
110
|
+
type="omfwd"
|
|
111
|
+
target="syslog.internal.example.com"
|
|
112
|
+
port="6514"
|
|
113
|
+
protocol="tcp"
|
|
114
|
+
StreamDriver="gtls"
|
|
115
|
+
StreamDriverMode="1"
|
|
116
|
+
StreamDriverAuthMode="x509/name"
|
|
117
|
+
template="json-audit"
|
|
118
|
+
queue.type="LinkedList"
|
|
119
|
+
queue.size="50000"
|
|
120
|
+
queue.filename="fwd_audit"
|
|
121
|
+
queue.saveonshutdown="on"
|
|
122
|
+
action.resumeRetryCount="-1"
|
|
123
|
+
)
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
## Journald Configuration for Persistent Logging
|
|
127
|
+
|
|
128
|
+
```ini
|
|
129
|
+
# /etc/systemd/journald.conf
|
|
130
|
+
[Journal]
|
|
131
|
+
Storage=persistent
|
|
132
|
+
Compress=yes
|
|
133
|
+
Seal=yes
|
|
134
|
+
SplitMode=uid
|
|
135
|
+
MaxRetentionSec=365d
|
|
136
|
+
MaxFileSec=30d
|
|
137
|
+
SystemMaxUse=10G
|
|
138
|
+
SystemKeepFree=2G
|
|
139
|
+
ForwardToSyslog=yes
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
```bash
|
|
143
|
+
# Query journald for audit events
|
|
144
|
+
journalctl _TRANSPORT=audit --since "24 hours ago" --output json-pretty
|
|
145
|
+
|
|
146
|
+
# Filter by specific audit types
|
|
147
|
+
journalctl _AUDIT_TYPE=1112 --since today # user login events
|
|
148
|
+
journalctl _AUDIT_TYPE=1100 --since today # user auth events
|
|
149
|
+
|
|
150
|
+
# Export for offline analysis
|
|
151
|
+
journalctl --since "7 days ago" --output export > /backup/journal-export.bin
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Application Logging with Structured JSON
|
|
155
|
+
|
|
156
|
+
```python
|
|
157
|
+
import logging
|
|
158
|
+
import json
|
|
159
|
+
import hashlib
|
|
160
|
+
from datetime import datetime, timezone
|
|
161
|
+
from functools import wraps
|
|
162
|
+
|
|
163
|
+
class AuditLogger:
|
|
164
|
+
def __init__(self, service_name, logger_name="audit"):
|
|
165
|
+
self.service = service_name
|
|
166
|
+
self.logger = logging.getLogger(logger_name)
|
|
167
|
+
handler = logging.FileHandler("/var/log/app/audit.log")
|
|
168
|
+
handler.setFormatter(logging.Formatter("%(message)s"))
|
|
169
|
+
self.logger.addHandler(handler)
|
|
170
|
+
self.logger.setLevel(logging.INFO)
|
|
171
|
+
self._prev_hash = None
|
|
172
|
+
|
|
173
|
+
def log_event(self, event_type, user, resource, action, result,
|
|
174
|
+
metadata=None, source_ip=None):
|
|
175
|
+
log_entry = {
|
|
176
|
+
"timestamp": datetime.now(timezone.utc).isoformat(),
|
|
177
|
+
"service": self.service,
|
|
178
|
+
"event_type": event_type,
|
|
179
|
+
"user": user,
|
|
180
|
+
"resource": resource,
|
|
181
|
+
"action": action,
|
|
182
|
+
"result": result,
|
|
183
|
+
"source_ip": source_ip,
|
|
184
|
+
"metadata": metadata or {},
|
|
185
|
+
}
|
|
186
|
+
# Chain hash for tamper detection
|
|
187
|
+
raw = json.dumps(log_entry, sort_keys=True)
|
|
188
|
+
log_entry["prev_hash"] = self._prev_hash
|
|
189
|
+
log_entry["hash"] = hashlib.sha256(
|
|
190
|
+
f"{self._prev_hash}:{raw}".encode()
|
|
191
|
+
).hexdigest()
|
|
192
|
+
self._prev_hash = log_entry["hash"]
|
|
193
|
+
self.logger.info(json.dumps(log_entry))
|
|
194
|
+
|
|
195
|
+
def log_auth(self, user, action, success, source_ip=None, mfa=False):
|
|
196
|
+
self.log_event(
|
|
197
|
+
event_type="authentication",
|
|
198
|
+
user=user,
|
|
199
|
+
resource="auth-service",
|
|
200
|
+
action=action,
|
|
201
|
+
result="success" if success else "failure",
|
|
202
|
+
metadata={"mfa_used": mfa},
|
|
203
|
+
source_ip=source_ip,
|
|
204
|
+
)
|
|
205
|
+
|
|
206
|
+
def log_data_access(self, user, resource, operation, record_count=0,
|
|
207
|
+
source_ip=None):
|
|
208
|
+
self.log_event(
|
|
209
|
+
event_type="data_access",
|
|
210
|
+
user=user,
|
|
211
|
+
resource=resource,
|
|
212
|
+
action=operation,
|
|
213
|
+
result="success",
|
|
214
|
+
metadata={"record_count": record_count},
|
|
215
|
+
source_ip=source_ip,
|
|
216
|
+
)
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
def audit_trail(audit_logger, resource_name):
|
|
220
|
+
"""Decorator to automatically audit function calls."""
|
|
221
|
+
def decorator(func):
|
|
222
|
+
@wraps(func)
|
|
223
|
+
def wrapper(*args, **kwargs):
|
|
224
|
+
user = kwargs.get("current_user", "system")
|
|
225
|
+
try:
|
|
226
|
+
result = func(*args, **kwargs)
|
|
227
|
+
audit_logger.log_event(
|
|
228
|
+
event_type="operation",
|
|
229
|
+
user=user,
|
|
230
|
+
resource=resource_name,
|
|
231
|
+
action=func.__name__,
|
|
232
|
+
result="success",
|
|
233
|
+
)
|
|
234
|
+
return result
|
|
235
|
+
except Exception as e:
|
|
236
|
+
audit_logger.log_event(
|
|
237
|
+
event_type="operation",
|
|
238
|
+
user=user,
|
|
239
|
+
resource=resource_name,
|
|
240
|
+
action=func.__name__,
|
|
241
|
+
result="failure",
|
|
242
|
+
metadata={"error": str(e)},
|
|
243
|
+
)
|
|
244
|
+
raise
|
|
245
|
+
return wrapper
|
|
246
|
+
return decorator
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
## Fluentd / Fluent Bit Log Aggregation
|
|
250
|
+
|
|
251
|
+
```yaml
|
|
252
|
+
# fluent-bit.conf - lightweight agent on each node
|
|
253
|
+
[SERVICE]
|
|
254
|
+
Flush 5
|
|
255
|
+
Daemon Off
|
|
256
|
+
Log_Level info
|
|
257
|
+
Parsers_File parsers.conf
|
|
258
|
+
|
|
259
|
+
[INPUT]
|
|
260
|
+
Name tail
|
|
261
|
+
Path /var/log/app/audit.log
|
|
262
|
+
Parser json
|
|
263
|
+
Tag audit.app
|
|
264
|
+
Refresh_Interval 5
|
|
265
|
+
Rotate_Wait 30
|
|
266
|
+
|
|
267
|
+
[INPUT]
|
|
268
|
+
Name systemd
|
|
269
|
+
Tag audit.system
|
|
270
|
+
Systemd_Filter _TRANSPORT=audit
|
|
271
|
+
|
|
272
|
+
[FILTER]
|
|
273
|
+
Name modify
|
|
274
|
+
Match audit.*
|
|
275
|
+
Add cluster ${CLUSTER_NAME}
|
|
276
|
+
Add node ${NODE_NAME}
|
|
277
|
+
|
|
278
|
+
[OUTPUT]
|
|
279
|
+
Name es
|
|
280
|
+
Match audit.*
|
|
281
|
+
Host elasticsearch.internal.example.com
|
|
282
|
+
Port 9200
|
|
283
|
+
Index audit-logs
|
|
284
|
+
Type _doc
|
|
285
|
+
tls On
|
|
286
|
+
tls.verify On
|
|
287
|
+
Retry_Limit 5
|
|
288
|
+
|
|
289
|
+
[OUTPUT]
|
|
290
|
+
Name s3
|
|
291
|
+
Match audit.*
|
|
292
|
+
region us-east-1
|
|
293
|
+
bucket audit-logs-archive
|
|
294
|
+
total_file_size 50M
|
|
295
|
+
upload_timeout 10m
|
|
296
|
+
s3_key_format /logs/%Y/%m/%d/$TAG/%H_%M_%S.gz
|
|
297
|
+
compression gzip
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
## Elasticsearch Index Lifecycle for Retention
|
|
301
|
+
|
|
302
|
+
```json
|
|
303
|
+
{
|
|
304
|
+
"policy": {
|
|
305
|
+
"phases": {
|
|
306
|
+
"hot": {
|
|
307
|
+
"min_age": "0ms",
|
|
308
|
+
"actions": {
|
|
309
|
+
"rollover": {
|
|
310
|
+
"max_size": "50gb",
|
|
311
|
+
"max_age": "1d"
|
|
312
|
+
},
|
|
313
|
+
"set_priority": { "priority": 100 }
|
|
314
|
+
}
|
|
315
|
+
},
|
|
316
|
+
"warm": {
|
|
317
|
+
"min_age": "7d",
|
|
318
|
+
"actions": {
|
|
319
|
+
"shrink": { "number_of_shards": 1 },
|
|
320
|
+
"forcemerge": { "max_num_segments": 1 },
|
|
321
|
+
"set_priority": { "priority": 50 }
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
"cold": {
|
|
325
|
+
"min_age": "30d",
|
|
326
|
+
"actions": {
|
|
327
|
+
"freeze": {},
|
|
328
|
+
"set_priority": { "priority": 0 }
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
"delete": {
|
|
332
|
+
"min_age": "365d",
|
|
333
|
+
"actions": { "delete": {} }
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
```
|
|
339
|
+
|
|
340
|
+
## Retention Policy by Compliance Framework
|
|
341
|
+
|
|
342
|
+
```yaml
|
|
343
|
+
retention_requirements:
|
|
344
|
+
soc2:
|
|
345
|
+
minimum: 1 year
|
|
346
|
+
recommended: 3 years
|
|
347
|
+
notes: "Based on audit period and report requirements"
|
|
348
|
+
|
|
349
|
+
hipaa:
|
|
350
|
+
minimum: 6 years
|
|
351
|
+
notes: "From date of creation or last effective date"
|
|
352
|
+
|
|
353
|
+
pci_dss:
|
|
354
|
+
minimum: 1 year
|
|
355
|
+
immediately_available: 3 months
|
|
356
|
+
notes: "Req 10.7 - retain for at least one year, 3 months immediately available"
|
|
357
|
+
|
|
358
|
+
gdpr:
|
|
359
|
+
minimum: "As long as necessary for processing purpose"
|
|
360
|
+
notes: "Apply data minimization; delete when no longer needed"
|
|
361
|
+
|
|
362
|
+
fedramp:
|
|
363
|
+
minimum: 3 years
|
|
364
|
+
notes: "AU-11 control requirement"
|
|
365
|
+
|
|
366
|
+
iso27001:
|
|
367
|
+
minimum: "Defined by organization policy"
|
|
368
|
+
recommended: 3 years
|
|
369
|
+
notes: "A.12.4.1 - retention period must be defined"
|
|
370
|
+
```
|
|
371
|
+
|
|
372
|
+
## Log Integrity Verification Script
|
|
373
|
+
|
|
374
|
+
```bash
|
|
375
|
+
#!/usr/bin/env bash
|
|
376
|
+
# verify-log-integrity.sh - Verify log file checksums against stored hashes
|
|
377
|
+
|
|
378
|
+
LOG_DIR="/var/log/app"
|
|
379
|
+
HASH_FILE="/var/log/app/.checksums"
|
|
380
|
+
ALERT_WEBHOOK="${ALERT_WEBHOOK_URL}"
|
|
381
|
+
|
|
382
|
+
verify_logs() {
|
|
383
|
+
local failures=0
|
|
384
|
+
while IFS=' ' read -r stored_hash filename; do
|
|
385
|
+
if [ -f "$filename" ]; then
|
|
386
|
+
current_hash=$(sha256sum "$filename" | awk '{print $1}')
|
|
387
|
+
if [ "$stored_hash" != "$current_hash" ]; then
|
|
388
|
+
echo "TAMPER DETECTED: $filename"
|
|
389
|
+
failures=$((failures + 1))
|
|
390
|
+
curl -s -X POST "$ALERT_WEBHOOK" \
|
|
391
|
+
-H "Content-Type: application/json" \
|
|
392
|
+
-d "{\"text\":\"ALERT: Audit log tamper detected on $(hostname): $filename\"}"
|
|
393
|
+
fi
|
|
394
|
+
else
|
|
395
|
+
echo "MISSING: $filename"
|
|
396
|
+
failures=$((failures + 1))
|
|
397
|
+
fi
|
|
398
|
+
done < "$HASH_FILE"
|
|
399
|
+
|
|
400
|
+
return $failures
|
|
401
|
+
}
|
|
402
|
+
|
|
403
|
+
update_checksums() {
|
|
404
|
+
find "$LOG_DIR" -name "*.log" -type f -exec sha256sum {} \; > "$HASH_FILE"
|
|
405
|
+
chmod 440 "$HASH_FILE"
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
case "${1:-verify}" in
|
|
409
|
+
verify) verify_logs ;;
|
|
410
|
+
update) update_checksums ;;
|
|
411
|
+
*) echo "Usage: $0 {verify|update}" ;;
|
|
412
|
+
esac
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
## SIEM Integration Checklist
|
|
416
|
+
|
|
417
|
+
```yaml
|
|
418
|
+
siem_integration:
|
|
419
|
+
log_sources:
|
|
420
|
+
- [ ] Operating system auth logs (syslog, journald)
|
|
421
|
+
- [ ] Application audit logs (structured JSON)
|
|
422
|
+
- [ ] Cloud provider audit trails (CloudTrail, Activity Log, Audit Logs)
|
|
423
|
+
- [ ] Database query and access logs
|
|
424
|
+
- [ ] Network flow logs and firewall logs
|
|
425
|
+
- [ ] Container and orchestrator logs (Kubernetes audit)
|
|
426
|
+
- [ ] WAF and CDN access logs
|
|
427
|
+
- [ ] VPN and remote access logs
|
|
428
|
+
|
|
429
|
+
normalization:
|
|
430
|
+
- [ ] Common event format (CEF) or OCSF schema
|
|
431
|
+
- [ ] Consistent timestamp format (ISO 8601 / UTC)
|
|
432
|
+
- [ ] Unified user identity fields
|
|
433
|
+
- [ ] Standardized severity levels
|
|
434
|
+
|
|
435
|
+
alerting_rules:
|
|
436
|
+
- [ ] Multiple failed login attempts (brute force)
|
|
437
|
+
- [ ] Login from unusual location or device
|
|
438
|
+
- [ ] Privilege escalation events
|
|
439
|
+
- [ ] Sensitive data bulk export
|
|
440
|
+
- [ ] Administrative action outside change window
|
|
441
|
+
- [ ] Service account anomalous activity
|
|
442
|
+
- [ ] Log forwarding gap or interruption
|
|
443
|
+
|
|
444
|
+
operational:
|
|
445
|
+
- [ ] Log pipeline health monitoring
|
|
446
|
+
- [ ] Storage capacity alerting
|
|
447
|
+
- [ ] Retention policy enforcement verified
|
|
448
|
+
- [ ] Backup of log archives confirmed
|
|
449
|
+
- [ ] Access to log systems restricted and audited
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
## Best Practices
|
|
453
|
+
|
|
454
|
+
- Use structured logging (JSON) with consistent field names across all services
|
|
455
|
+
- Ship logs to a centralized platform with write-once storage for tamper protection
|
|
456
|
+
- Implement hash chaining or digital signatures for log integrity verification
|
|
457
|
+
- Define and enforce retention policies per compliance framework requirements
|
|
458
|
+
- Set up real-time alerting for high-severity security events
|
|
459
|
+
- Separate audit logs from application debug logs to reduce noise
|
|
460
|
+
- Never log sensitive data (passwords, tokens, PII) in audit entries
|
|
461
|
+
- Monitor the logging pipeline itself to detect gaps in coverage
|
|
462
|
+
- Regularly test log restoration from archives to verify recoverability
|
|
463
|
+
- Rotate and compress logs to manage storage while meeting retention windows
|
|
464
|
+
|
|
465
|
+
## Limitations
|
|
466
|
+
|
|
467
|
+
- Guidance and checklists only; not legal advice and not a substitute for a qualified auditor.
|
|
468
|
+
- Docs-only import: upstream templates and scripts not bundled.
|
|
469
|
+
|
|
470
|
+
### Example
|
|
471
|
+
|
|
472
|
+
```markdown
|
|
473
|
+
Map this skill's control checklist to our current evidence and list gaps.
|
|
474
|
+
```
|
|
475
|
+
|
|
476
|
+
> 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.
|