opencode-skills-collection 4.0.67 → 4.0.69
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundled-skills/.antigravity-install-manifest.json +281 -1
- package/bundled-skills/access-review/SKILL.md +394 -0
- package/bundled-skills/access-review/references/details.md +121 -0
- package/bundled-skills/agent-evals/SKILL.md +420 -0
- package/bundled-skills/agent-observability/SKILL.md +346 -0
- package/bundled-skills/agent-observability/references/details.md +786 -0
- package/bundled-skills/ai-agent-security/SKILL.md +393 -0
- package/bundled-skills/ai-agent-security/references/details.md +912 -0
- package/bundled-skills/ai-coding-agent-guardrails/SKILL.md +442 -0
- package/bundled-skills/ai-coding-agent-guardrails/references/details.md +753 -0
- package/bundled-skills/ai-inference-service-mesh/SKILL.md +449 -0
- package/bundled-skills/ai-pipeline-orchestration/SKILL.md +287 -0
- package/bundled-skills/ai-red-teaming/SKILL.md +409 -0
- package/bundled-skills/ai-security-hardening/SKILL.md +343 -0
- package/bundled-skills/ai-sre-incident-response/SKILL.md +336 -0
- package/bundled-skills/alerting-oncall/SKILL.md +458 -0
- package/bundled-skills/alerting-oncall/references/details.md +84 -0
- package/bundled-skills/anti-slop-design/SKILL.md +393 -0
- package/bundled-skills/antigravity-maintainer-batch-release/SKILL.md +1 -0
- package/bundled-skills/apk-redteam-pipeline/SKILL.md +446 -0
- package/bundled-skills/argocd-gitops/SKILL.md +469 -0
- package/bundled-skills/arm-templates/SKILL.md +438 -0
- package/bundled-skills/arm-templates/references/details.md +64 -0
- package/bundled-skills/artifact-yylo/SKILL.md +122 -0
- package/bundled-skills/asset-inventory/SKILL.md +412 -0
- package/bundled-skills/asset-inventory/references/details.md +127 -0
- package/bundled-skills/audit-logging/SKILL.md +476 -0
- package/bundled-skills/aws-cloudtrail/SKILL.md +486 -0
- package/bundled-skills/aws-cost-optimization/SKILL.md +331 -0
- package/bundled-skills/aws-ec2/SKILL.md +426 -0
- package/bundled-skills/aws-ecs-fargate/SKILL.md +388 -0
- package/bundled-skills/aws-iam/SKILL.md +463 -0
- package/bundled-skills/aws-lambda/SKILL.md +428 -0
- package/bundled-skills/aws-rds/SKILL.md +380 -0
- package/bundled-skills/aws-s3/SKILL.md +434 -0
- package/bundled-skills/aws-secrets-manager/SKILL.md +486 -0
- package/bundled-skills/aws-vpc/SKILL.md +436 -0
- package/bundled-skills/azure-ai-document-intelligence-ts/SKILL.md +1 -1
- package/bundled-skills/azure-aks/SKILL.md +423 -0
- package/bundled-skills/azure-devops/SKILL.md +457 -0
- package/bundled-skills/azure-functions-devsec/SKILL.md +436 -0
- package/bundled-skills/azure-keyvault/SKILL.md +455 -0
- package/bundled-skills/azure-keyvault/references/details.md +83 -0
- package/bundled-skills/azure-monitor-audit/SKILL.md +379 -0
- package/bundled-skills/azure-networking/SKILL.md +448 -0
- package/bundled-skills/azure-networking/references/details.md +135 -0
- package/bundled-skills/azure-sql/SKILL.md +413 -0
- package/bundled-skills/azure-sql/references/details.md +113 -0
- package/bundled-skills/azure-vms/SKILL.md +402 -0
- package/bundled-skills/azure-vms/references/details.md +134 -0
- package/bundled-skills/backup-recovery/SKILL.md +388 -0
- package/bundled-skills/bb-methodology/SKILL.md +451 -0
- package/bundled-skills/bb-methodology/references/details.md +120 -0
- package/bundled-skills/block-storage/SKILL.md +371 -0
- package/bundled-skills/blue-green-deploy/SKILL.md +453 -0
- package/bundled-skills/blue-green-deploy/references/details.md +90 -0
- package/bundled-skills/bug-bounty/SKILL.md +447 -0
- package/bundled-skills/bug-bounty/references/details.md +1316 -0
- package/bundled-skills/bugcrowd-reporting/SKILL.md +351 -0
- package/bundled-skills/business-continuity/SKILL.md +463 -0
- package/bundled-skills/career-ops/SKILL.md +186 -0
- package/bundled-skills/cdn-setup/SKILL.md +374 -0
- package/bundled-skills/change-management/SKILL.md +438 -0
- package/bundled-skills/change-management/references/details.md +105 -0
- package/bundled-skills/circleci/SKILL.md +475 -0
- package/bundled-skills/cis-benchmarks/SKILL.md +150 -0
- package/bundled-skills/cloudflare-pages/SKILL.md +318 -0
- package/bundled-skills/cloudflare-r2/SKILL.md +353 -0
- package/bundled-skills/cloudflare-workers/SKILL.md +415 -0
- package/bundled-skills/cloudflare-zero-trust/SKILL.md +361 -0
- package/bundled-skills/cloudformation/SKILL.md +461 -0
- package/bundled-skills/constraint-driven-development/SKILL.md +335 -0
- package/bundled-skills/constraint-driven-development/references/floor-guard.md +99 -0
- package/bundled-skills/container-hardening/SKILL.md +126 -0
- package/bundled-skills/container-registries/SKILL.md +435 -0
- package/bundled-skills/container-scanning/SKILL.md +416 -0
- package/bundled-skills/convex-backend/SKILL.md +338 -0
- package/bundled-skills/dast-scanning/SKILL.md +437 -0
- package/bundled-skills/database-backups/SKILL.md +425 -0
- package/bundled-skills/datadog/SKILL.md +487 -0
- package/bundled-skills/dependency-scanning/SKILL.md +457 -0
- package/bundled-skills/devcontainers-nix/SKILL.md +416 -0
- package/bundled-skills/disaster-recovery/SKILL.md +374 -0
- package/bundled-skills/disaster-recovery/references/details.md +219 -0
- package/bundled-skills/dns-management/SKILL.md +375 -0
- package/bundled-skills/docker-compose/SKILL.md +482 -0
- package/bundled-skills/docker-management/SKILL.md +426 -0
- package/bundled-skills/ebpf-observability/SKILL.md +436 -0
- package/bundled-skills/ebpf-observability/references/details.md +542 -0
- package/bundled-skills/elk-stack/SKILL.md +487 -0
- package/bundled-skills/enterprise-vpn-attack/SKILL.md +395 -0
- package/bundled-skills/evidence-hygiene/SKILL.md +404 -0
- package/bundled-skills/feature-flags/SKILL.md +426 -0
- package/bundled-skills/feature-flags/references/details.md +86 -0
- package/bundled-skills/fedramp-compliance/SKILL.md +453 -0
- package/bundled-skills/firebase-app-platform/SKILL.md +381 -0
- package/bundled-skills/firewall-config/SKILL.md +479 -0
- package/bundled-skills/gcp-audit-logs/SKILL.md +452 -0
- package/bundled-skills/gcp-audit-logs/references/details.md +56 -0
- package/bundled-skills/gcp-cloud-functions/SKILL.md +284 -0
- package/bundled-skills/gcp-cloud-sql/SKILL.md +277 -0
- package/bundled-skills/gcp-compute/SKILL.md +319 -0
- package/bundled-skills/gcp-gke/SKILL.md +307 -0
- package/bundled-skills/gcp-networking/SKILL.md +293 -0
- package/bundled-skills/gcp-secret-manager/SKILL.md +421 -0
- package/bundled-skills/gcp-secret-manager/references/details.md +131 -0
- package/bundled-skills/gdpr-compliance/SKILL.md +451 -0
- package/bundled-skills/gdpr-compliance/references/details.md +145 -0
- package/bundled-skills/geo-audit/SKILL.md +368 -0
- package/bundled-skills/geo-brand-mentions/SKILL.md +68 -0
- package/bundled-skills/geo-brand-mentions/references/details.md +471 -0
- package/bundled-skills/geo-citability/SKILL.md +350 -0
- package/bundled-skills/geo-compare/SKILL.md +340 -0
- package/bundled-skills/geo-content/SKILL.md +383 -0
- package/bundled-skills/geo-crawlers/SKILL.md +408 -0
- package/bundled-skills/geo-llmstxt/SKILL.md +464 -0
- package/bundled-skills/geo-platform-optimizer/SKILL.md +314 -0
- package/bundled-skills/geo-proposal/SKILL.md +378 -0
- package/bundled-skills/geo-prospect/SKILL.md +225 -0
- package/bundled-skills/geo-report/SKILL.md +436 -0
- package/bundled-skills/geo-report-pdf/SKILL.md +157 -0
- package/bundled-skills/geo-schema/SKILL.md +408 -0
- package/bundled-skills/geo-technical/SKILL.md +78 -0
- package/bundled-skills/geo-technical/references/details.md +543 -0
- package/bundled-skills/git-workflow/SKILL.md +460 -0
- package/bundled-skills/github-actions/SKILL.md +368 -0
- package/bundled-skills/gitlab-ci/SKILL.md +340 -0
- package/bundled-skills/google-no-code/SKILL.md +136 -0
- package/bundled-skills/gpu-kubernetes-operations/SKILL.md +468 -0
- package/bundled-skills/gpu-server-management/SKILL.md +236 -0
- package/bundled-skills/hashicorp-vault/SKILL.md +408 -0
- package/bundled-skills/helm-charts/SKILL.md +469 -0
- package/bundled-skills/hipaa-compliance/SKILL.md +451 -0
- package/bundled-skills/hunt-aspnet/SKILL.md +321 -0
- package/bundled-skills/hunt-ato/SKILL.md +184 -0
- package/bundled-skills/hunt-auth-bypass/SKILL.md +426 -0
- package/bundled-skills/hunt-auth-bypass/references/details.md +80 -0
- package/bundled-skills/hunt-brute-force/SKILL.md +341 -0
- package/bundled-skills/hunt-business-logic/SKILL.md +281 -0
- package/bundled-skills/hunt-cache-poison/SKILL.md +382 -0
- package/bundled-skills/hunt-captcha-bypass/SKILL.md +136 -0
- package/bundled-skills/hunt-cicd/SKILL.md +311 -0
- package/bundled-skills/hunt-clickjacking/SKILL.md +110 -0
- package/bundled-skills/hunt-cors/SKILL.md +335 -0
- package/bundled-skills/hunt-dom/SKILL.md +323 -0
- package/bundled-skills/hunt-exceptional-conditions/SKILL.md +111 -0
- package/bundled-skills/hunt-file-upload/SKILL.md +202 -0
- package/bundled-skills/hunt-fintech-graphql/SKILL.md +289 -0
- package/bundled-skills/hunt-forgot-password/SKILL.md +114 -0
- package/bundled-skills/hunt-grpc/SKILL.md +317 -0
- package/bundled-skills/hunt-host-header/SKILL.md +309 -0
- package/bundled-skills/hunt-html-injection/SKILL.md +106 -0
- package/bundled-skills/hunt-http-smuggling/SKILL.md +129 -0
- package/bundled-skills/hunt-http-smuggling/references/phase2h-smuggling-cachepoison.md +177 -0
- package/bundled-skills/hunt-idor/SKILL.md +434 -0
- package/bundled-skills/hunt-jwt-crypto/SKILL.md +221 -0
- package/bundled-skills/hunt-k8s/SKILL.md +337 -0
- package/bundled-skills/hunt-laravel/SKILL.md +255 -0
- package/bundled-skills/hunt-ldap/SKILL.md +351 -0
- package/bundled-skills/hunt-lfi/SKILL.md +311 -0
- package/bundled-skills/hunt-llm-ai/SKILL.md +289 -0
- package/bundled-skills/hunt-mfa-bypass/SKILL.md +177 -0
- package/bundled-skills/hunt-misc/SKILL.md +378 -0
- package/bundled-skills/hunt-nextjs/SKILL.md +299 -0
- package/bundled-skills/hunt-nodejs/SKILL.md +263 -0
- package/bundled-skills/hunt-nosqli/SKILL.md +210 -0
- package/bundled-skills/hunt-ntlm-info/SKILL.md +314 -0
- package/bundled-skills/hunt-oauth/SKILL.md +459 -0
- package/bundled-skills/hunt-open-redirect/SKILL.md +223 -0
- package/bundled-skills/hunt-race-condition/SKILL.md +381 -0
- package/bundled-skills/hunt-race-condition/references/details.md +159 -0
- package/bundled-skills/hunt-rag-vector/SKILL.md +212 -0
- package/bundled-skills/hunt-rce/SKILL.md +444 -0
- package/bundled-skills/hunt-rce/references/details.md +110 -0
- package/bundled-skills/hunt-saml/SKILL.md +156 -0
- package/bundled-skills/hunt-session/SKILL.md +342 -0
- package/bundled-skills/hunt-shadow-api/SKILL.md +198 -0
- package/bundled-skills/hunt-source-leak/SKILL.md +345 -0
- package/bundled-skills/hunt-spa-api/SKILL.md +163 -0
- package/bundled-skills/hunt-springboot/SKILL.md +285 -0
- package/bundled-skills/hunt-sqli/SKILL.md +466 -0
- package/bundled-skills/hunt-ssrf/SKILL.md +396 -0
- package/bundled-skills/hunt-ssrf/references/details.md +179 -0
- package/bundled-skills/hunt-ssti/SKILL.md +163 -0
- package/bundled-skills/hunt-subdomain/SKILL.md +379 -0
- package/bundled-skills/hunt-tls-network/SKILL.md +399 -0
- package/bundled-skills/hunt-xxe/SKILL.md +466 -0
- package/bundled-skills/i-have-adhd/SKILL.md +170 -0
- package/bundled-skills/idea-evaluator/SKILL.md +75 -0
- package/bundled-skills/idea-evaluator/idea-evaluator-con/SKILL.md +64 -0
- package/bundled-skills/idea-evaluator/idea-evaluator-pro/SKILL.md +64 -0
- package/bundled-skills/identity-access-management/SKILL.md +382 -0
- package/bundled-skills/identity-access-management/references/details.md +524 -0
- package/bundled-skills/incident-management/SKILL.md +484 -0
- package/bundled-skills/incident-response/SKILL.md +448 -0
- package/bundled-skills/incident-response/references/details.md +113 -0
- package/bundled-skills/interview-me/SKILL.md +248 -0
- package/bundled-skills/iso27001-compliance/SKILL.md +460 -0
- package/bundled-skills/jenkins/SKILL.md +462 -0
- package/bundled-skills/jev-use/SKILL.md +158 -0
- package/bundled-skills/kubernetes-hardening/SKILL.md +154 -0
- package/bundled-skills/kubernetes-ops/SKILL.md +449 -0
- package/bundled-skills/kubernetes-ops/references/details.md +108 -0
- package/bundled-skills/kustomize/SKILL.md +478 -0
- package/bundled-skills/ledger-tasks-yylo/SKILL.md +219 -0
- package/bundled-skills/linux-administration/SKILL.md +367 -0
- package/bundled-skills/linux-hardening/SKILL.md +154 -0
- package/bundled-skills/llm-app-security/SKILL.md +389 -0
- package/bundled-skills/llm-app-security/references/details.md +674 -0
- package/bundled-skills/llm-caching/SKILL.md +334 -0
- package/bundled-skills/llm-cost-optimization/SKILL.md +311 -0
- package/bundled-skills/llm-fine-tuning/SKILL.md +329 -0
- package/bundled-skills/llm-gateway/SKILL.md +282 -0
- package/bundled-skills/llm-inference-scaling/SKILL.md +286 -0
- package/bundled-skills/llmops-platform-engineering/SKILL.md +472 -0
- package/bundled-skills/load-balancing/SKILL.md +403 -0
- package/bundled-skills/loki-logging/SKILL.md +479 -0
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package-lock.json +4 -4
- package/bundled-skills/loki-mode/examples/todo-app-generated/backend/package.json +1 -1
- package/bundled-skills/m365-entra-attack/SKILL.md +423 -0
- package/bundled-skills/mac-mini-llm-lab/SKILL.md +350 -0
- package/bundled-skills/mcp-server-security/SKILL.md +356 -0
- package/bundled-skills/mcp-server-security/references/details.md +745 -0
- package/bundled-skills/mdm-device-management/SKILL.md +404 -0
- package/bundled-skills/mdm-device-management/references/details.md +410 -0
- package/bundled-skills/meme-coin-audit/SKILL.md +402 -0
- package/bundled-skills/mid-engagement-ir-detection/SKILL.md +377 -0
- package/bundled-skills/model-registry-governance/SKILL.md +452 -0
- package/bundled-skills/model-serving-kubernetes/SKILL.md +339 -0
- package/bundled-skills/model-supply-chain-security/SKILL.md +427 -0
- package/bundled-skills/mongodb/SKILL.md +436 -0
- package/bundled-skills/multi-tenant-llm-hosting/SKILL.md +435 -0
- package/bundled-skills/multi-tenant-llm-hosting/references/details.md +211 -0
- package/bundled-skills/mysql/SKILL.md +390 -0
- package/bundled-skills/new-relic/SKILL.md +472 -0
- package/bundled-skills/nfs-storage/SKILL.md +356 -0
- package/bundled-skills/object-storage/SKILL.md +378 -0
- package/bundled-skills/offensive-osint/SKILL.md +443 -0
- package/bundled-skills/okta-attack/SKILL.md +436 -0
- package/bundled-skills/ollama-stack/SKILL.md +379 -0
- package/bundled-skills/openclaw-deployment-hardening/SKILL.md +135 -0
- package/bundled-skills/openclaw-local-mac-mini/SKILL.md +426 -0
- package/bundled-skills/openclaw-local-mac-mini/references/details.md +221 -0
- package/bundled-skills/openclaw-security-hardening/SKILL.md +135 -0
- package/bundled-skills/openshift/SKILL.md +485 -0
- package/bundled-skills/opentelemetry/SKILL.md +438 -0
- package/bundled-skills/opentelemetry/references/details.md +78 -0
- package/bundled-skills/opentofu-migration/SKILL.md +349 -0
- package/bundled-skills/osint-methodology/SKILL.md +460 -0
- package/bundled-skills/osint-methodology/references/details.md +1350 -0
- package/bundled-skills/pci-dss-compliance/SKILL.md +446 -0
- package/bundled-skills/penetration-testing/SKILL.md +152 -0
- package/bundled-skills/performance-tuning/SKILL.md +381 -0
- package/bundled-skills/plan-ledger-tasks-yylo/SKILL.md +52 -0
- package/bundled-skills/planetscale/SKILL.md +297 -0
- package/bundled-skills/platform-engineering/SKILL.md +348 -0
- package/bundled-skills/platform-engineering/references/details.md +944 -0
- package/bundled-skills/podman/SKILL.md +405 -0
- package/bundled-skills/policy-as-code/SKILL.md +434 -0
- package/bundled-skills/policy-as-code/references/details.md +204 -0
- package/bundled-skills/postgresql-devsec/SKILL.md +378 -0
- package/bundled-skills/prometheus-grafana/SKILL.md +469 -0
- package/bundled-skills/prompt-injection-defense/SKILL.md +483 -0
- package/bundled-skills/rag-infrastructure/SKILL.md +269 -0
- package/bundled-skills/rag-observability-evals/SKILL.md +444 -0
- package/bundled-skills/rag-observability-evals/references/details.md +92 -0
- package/bundled-skills/ralph-loop-yylo/SKILL.md +55 -0
- package/bundled-skills/ralph-loop-yylo/references/first_check.md +18 -0
- package/bundled-skills/ralph-loop-yylo/references/implement.md +60 -0
- package/bundled-skills/recon-scope-triage/SKILL.md +128 -0
- package/bundled-skills/redis/SKILL.md +421 -0
- package/bundled-skills/redteam-report-template/SKILL.md +370 -0
- package/bundled-skills/report-writing/SKILL.md +426 -0
- package/bundled-skills/report-writing/references/details.md +187 -0
- package/bundled-skills/resumable-implementation-contracts/SKILL.md +254 -0
- package/bundled-skills/reverse-proxy/SKILL.md +420 -0
- package/bundled-skills/runbook-creation/SKILL.md +438 -0
- package/bundled-skills/runbook-creation/references/details.md +71 -0
- package/bundled-skills/saas-security-posture/SKILL.md +415 -0
- package/bundled-skills/sast-scanning/SKILL.md +444 -0
- package/bundled-skills/sbom-supply-chain/SKILL.md +433 -0
- package/bundled-skills/security-arsenal/SKILL.md +446 -0
- package/bundled-skills/security-arsenal/references/details.md +540 -0
- package/bundled-skills/security-automation/SKILL.md +146 -0
- package/bundled-skills/semantic-versioning/SKILL.md +434 -0
- package/bundled-skills/semantic-versioning/references/details.md +83 -0
- package/bundled-skills/service-mesh/SKILL.md +422 -0
- package/bundled-skills/soc2-compliance/SKILL.md +409 -0
- package/bundled-skills/sops-encryption/SKILL.md +124 -0
- package/bundled-skills/sre-dashboards/SKILL.md +143 -0
- package/bundled-skills/ssh-configuration/SKILL.md +324 -0
- package/bundled-skills/ssl-tls-management/SKILL.md +428 -0
- package/bundled-skills/ssl-tls-management/references/details.md +99 -0
- package/bundled-skills/startup-it-troubleshooting/SKILL.md +415 -0
- package/bundled-skills/supply-chain-attack-recon/SKILL.md +453 -0
- package/bundled-skills/supply-chain-attack-recon/references/details.md +258 -0
- package/bundled-skills/systemd-services/SKILL.md +379 -0
- package/bundled-skills/terraform-aws/SKILL.md +125 -0
- package/bundled-skills/terraform-azure/SKILL.md +415 -0
- package/bundled-skills/terraform-azure/references/details.md +231 -0
- package/bundled-skills/terraform-gcp/SKILL.md +369 -0
- package/bundled-skills/threat-modeling/SKILL.md +487 -0
- package/bundled-skills/understand-project-yylo/SKILL.md +62 -0
- package/bundled-skills/user-management/SKILL.md +383 -0
- package/bundled-skills/using-agent-skills/SKILL.md +220 -0
- package/bundled-skills/vector-database-ops/SKILL.md +300 -0
- package/bundled-skills/vendor-management/SKILL.md +439 -0
- package/bundled-skills/vendor-management/references/details.md +109 -0
- package/bundled-skills/vercel-deployments/SKILL.md +296 -0
- package/bundled-skills/vllm-server/SKILL.md +236 -0
- package/bundled-skills/vmware-vcenter-attack/SKILL.md +412 -0
- package/bundled-skills/vpn-setup/SKILL.md +452 -0
- package/bundled-skills/vulnerability-scanning/SKILL.md +448 -0
- package/bundled-skills/waf-setup/SKILL.md +354 -0
- package/bundled-skills/waf-setup/references/details.md +211 -0
- package/bundled-skills/weather-model-data-fetching/SKILL.md +277 -0
- package/bundled-skills/weather-observation-fetching/SKILL.md +246 -0
- package/bundled-skills/web2-recon/SKILL.md +440 -0
- package/bundled-skills/web2-recon/references/details.md +319 -0
- package/bundled-skills/web3-audit/SKILL.md +445 -0
- package/bundled-skills/web3-audit/references/details.md +224 -0
- package/bundled-skills/wiki-yylo/SKILL.md +114 -0
- package/bundled-skills/windows-hardening/SKILL.md +454 -0
- package/bundled-skills/windows-hardening/references/details.md +204 -0
- package/bundled-skills/windows-server/SKILL.md +318 -0
- package/bundled-skills/workflow-yylo/SKILL.md +107 -0
- package/bundled-skills/zero-trust/SKILL.md +461 -0
- package/package.json +1 -1
- package/skills_index.json +6924 -0
|
@@ -0,0 +1,410 @@
|
|
|
1
|
+
# Details (moved from SKILL.md)
|
|
2
|
+
|
|
3
|
+
> Extended reference content for `mdm-device-management`, kept under `references/` so the entrypoint stays within the audit budget.
|
|
4
|
+
|
|
5
|
+
## 6. Security Policies — Cross-Platform
|
|
6
|
+
|
|
7
|
+
### 6.1 Password / passcode requirements
|
|
8
|
+
|
|
9
|
+
```xml
|
|
10
|
+
<!-- macOS configuration profile — password policy -->
|
|
11
|
+
<dict>
|
|
12
|
+
<key>PayloadType</key>
|
|
13
|
+
<string>com.apple.mobiledevice.passwordpolicy</string>
|
|
14
|
+
<key>minLength</key>
|
|
15
|
+
<integer>12</integer>
|
|
16
|
+
<key>requireAlphanumeric</key>
|
|
17
|
+
<true/>
|
|
18
|
+
<key>maxInactivity</key>
|
|
19
|
+
<integer>5</integer>
|
|
20
|
+
<key>maxPINAgeInDays</key>
|
|
21
|
+
<integer>90</integer>
|
|
22
|
+
</dict>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
```json
|
|
26
|
+
// Intune Windows password policy (JSON for Graph API)
|
|
27
|
+
{
|
|
28
|
+
"@odata.type": "#microsoft.graph.windows10GeneralConfiguration",
|
|
29
|
+
"passwordRequired": true,
|
|
30
|
+
"passwordMinimumLength": 12,
|
|
31
|
+
"passwordRequiredType": "alphanumeric",
|
|
32
|
+
"passwordMinutesOfInactivityBeforeScreenTimeout": 5,
|
|
33
|
+
"passwordExpirationDays": 90,
|
|
34
|
+
"passwordBlockSimple": true
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### 6.2 Screen lock enforcement
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
# macOS — require password after sleep/screensaver (via script or profile)
|
|
42
|
+
sudo defaults write /Library/Preferences/com.apple.screensaver askForPassword -int 1
|
|
43
|
+
sudo defaults write /Library/Preferences/com.apple.screensaver askForPasswordDelay -int 0
|
|
44
|
+
sudo defaults write /Library/Preferences/com.apple.screensaver idleTime -int 300
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
```powershell
|
|
48
|
+
# Windows — lock screen after 5 minutes of inactivity
|
|
49
|
+
powercfg /change monitor-timeout-ac 5
|
|
50
|
+
# Registry-based enforcement
|
|
51
|
+
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" `
|
|
52
|
+
-Name "InactivityTimeoutSecs" -Value 300
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 6.3 Encryption enforcement summary
|
|
56
|
+
|
|
57
|
+
| OS | Tool | Verify Command |
|
|
58
|
+
|----|------|----------------|
|
|
59
|
+
| macOS | FileVault | `fdesetup status` |
|
|
60
|
+
| Windows | BitLocker | `manage-bde -status C:` |
|
|
61
|
+
| Linux | LUKS | `lsblk -o NAME,FSTYPE,MOUNTPOINT \| grep crypt` |
|
|
62
|
+
| iOS | Native (always-on with passcode) | Managed via MDM profile |
|
|
63
|
+
| Android | Native | `adb shell getprop ro.crypto.state` |
|
|
64
|
+
|
|
65
|
+
---
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
## 7. Software Deployment
|
|
69
|
+
|
|
70
|
+
### 7.1 macOS — Homebrew Bundle
|
|
71
|
+
|
|
72
|
+
```ruby
|
|
73
|
+
# Brewfile — deploy via MDM script or Git checkout
|
|
74
|
+
tap "homebrew/bundle"
|
|
75
|
+
|
|
76
|
+
# Core tools
|
|
77
|
+
brew "git"
|
|
78
|
+
brew "gh"
|
|
79
|
+
brew "jq"
|
|
80
|
+
brew "wget"
|
|
81
|
+
brew "gnupg"
|
|
82
|
+
|
|
83
|
+
# Security
|
|
84
|
+
brew "1password-cli"
|
|
85
|
+
cask "1password"
|
|
86
|
+
cask "tailscale"
|
|
87
|
+
cask "cloudflare-warp"
|
|
88
|
+
|
|
89
|
+
# Development
|
|
90
|
+
cask "visual-studio-code"
|
|
91
|
+
cask "iterm2"
|
|
92
|
+
cask "docker"
|
|
93
|
+
brew "node"
|
|
94
|
+
brew "python@3.12"
|
|
95
|
+
|
|
96
|
+
# Communication
|
|
97
|
+
cask "slack"
|
|
98
|
+
cask "zoom"
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
# Deploy Brewfile on a new Mac
|
|
103
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
104
|
+
brew bundle --file=/path/to/Brewfile --no-lock
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### 7.2 Windows — winget / Chocolatey
|
|
108
|
+
|
|
109
|
+
```powershell
|
|
110
|
+
# winget import from a JSON manifest
|
|
111
|
+
# packages.json
|
|
112
|
+
@"
|
|
113
|
+
{
|
|
114
|
+
"Sources": [{
|
|
115
|
+
"Packages": [
|
|
116
|
+
{ "PackageIdentifier": "Git.Git" },
|
|
117
|
+
{ "PackageIdentifier": "Microsoft.VisualStudioCode" },
|
|
118
|
+
{ "PackageIdentifier": "Docker.DockerDesktop" },
|
|
119
|
+
{ "PackageIdentifier": "SlackTechnologies.Slack" },
|
|
120
|
+
{ "PackageIdentifier": "Zoom.Zoom" },
|
|
121
|
+
{ "PackageIdentifier": "Tailscale.Tailscale" },
|
|
122
|
+
{ "PackageIdentifier": "AgileBits.1Password" },
|
|
123
|
+
{ "PackageIdentifier": "OpenJS.NodeJS.LTS" },
|
|
124
|
+
{ "PackageIdentifier": "Python.Python.3.12" }
|
|
125
|
+
],
|
|
126
|
+
"SourceDetails": {
|
|
127
|
+
"Name": "winget",
|
|
128
|
+
"Type": "Microsoft.Winget.Source.Type.Microsoft"
|
|
129
|
+
}
|
|
130
|
+
}]
|
|
131
|
+
}
|
|
132
|
+
"@ | Out-File -FilePath packages.json -Encoding utf8
|
|
133
|
+
|
|
134
|
+
winget import -i packages.json --accept-package-agreements --accept-source-agreements
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### 7.3 Automatic update enforcement
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
# macOS — enable automatic updates via MDM or command
|
|
141
|
+
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticCheckEnabled -bool true
|
|
142
|
+
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticDownload -bool true
|
|
143
|
+
sudo defaults write /Library/Preferences/com.apple.SoftwareUpdate AutomaticallyInstallMacOSUpdates -bool true
|
|
144
|
+
sudo softwareupdate --schedule on
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
```powershell
|
|
148
|
+
# Windows — configure Windows Update via registry
|
|
149
|
+
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" `
|
|
150
|
+
-Name "NoAutoUpdate" -Value 0
|
|
151
|
+
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" `
|
|
152
|
+
-Name "AUOptions" -Value 4 # 4 = Auto download and schedule install
|
|
153
|
+
```
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
## 8. Compliance Checks with osquery
|
|
159
|
+
|
|
160
|
+
These queries work with Fleet, osquery standalone, or any osquery-compatible
|
|
161
|
+
platform.
|
|
162
|
+
|
|
163
|
+
```sql
|
|
164
|
+
-- Check disk encryption on macOS
|
|
165
|
+
SELECT de.encrypted, de.type, du.username
|
|
166
|
+
FROM disk_encryption de
|
|
167
|
+
JOIN disk_util du ON de.name = du.name
|
|
168
|
+
WHERE du.mountpoint = '/' AND de.encrypted = 1;
|
|
169
|
+
|
|
170
|
+
-- Check disk encryption on Windows
|
|
171
|
+
SELECT drive_letter, protection_status, conversion_status
|
|
172
|
+
FROM bitlocker_info
|
|
173
|
+
WHERE drive_letter = 'C:' AND protection_status = 1;
|
|
174
|
+
|
|
175
|
+
-- Verify firewall is enabled (macOS)
|
|
176
|
+
SELECT global_state, stealth_enabled, logging_enabled
|
|
177
|
+
FROM alf;
|
|
178
|
+
|
|
179
|
+
-- Verify firewall is enabled (Windows)
|
|
180
|
+
SELECT name, enabled FROM windows_firewall_profiles
|
|
181
|
+
WHERE enabled = 1;
|
|
182
|
+
|
|
183
|
+
-- Check OS version (macOS)
|
|
184
|
+
SELECT name, version, major, minor, patch
|
|
185
|
+
FROM os_version
|
|
186
|
+
WHERE major >= 14;
|
|
187
|
+
|
|
188
|
+
-- Check OS version (Windows)
|
|
189
|
+
SELECT name, version, build
|
|
190
|
+
FROM os_version
|
|
191
|
+
WHERE build >= '22631';
|
|
192
|
+
|
|
193
|
+
-- List users with admin privileges (macOS)
|
|
194
|
+
SELECT u.username, u.uid
|
|
195
|
+
FROM users u
|
|
196
|
+
JOIN user_groups ug ON u.uid = ug.uid
|
|
197
|
+
JOIN groups g ON ug.gid = g.gid
|
|
198
|
+
WHERE g.groupname = 'admin';
|
|
199
|
+
|
|
200
|
+
-- Detect unencrypted removable drives (Windows)
|
|
201
|
+
SELECT device_id, drive_letter, protection_status
|
|
202
|
+
FROM bitlocker_info
|
|
203
|
+
WHERE protection_status = 0;
|
|
204
|
+
|
|
205
|
+
-- Check screen lock timeout (macOS)
|
|
206
|
+
SELECT domain, key, value FROM preferences
|
|
207
|
+
WHERE domain = 'com.apple.screensaver'
|
|
208
|
+
AND key = 'idleTime';
|
|
209
|
+
|
|
210
|
+
-- Verify automatic updates are enabled (macOS)
|
|
211
|
+
SELECT domain, key, value FROM preferences
|
|
212
|
+
WHERE domain = 'com.apple.SoftwareUpdate'
|
|
213
|
+
AND key = 'AutomaticCheckEnabled';
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
## 9. Remote Wipe & Lock
|
|
220
|
+
|
|
221
|
+
### 9.1 macOS remote wipe (Fleet)
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
# Lock a device immediately with a 6-digit PIN
|
|
225
|
+
fleetctl mdm lock --host "serial=C02X12345678"
|
|
226
|
+
|
|
227
|
+
# Wipe a device (factory reset) — DESTRUCTIVE
|
|
228
|
+
fleetctl mdm erase --host "serial=C02X12345678"
|
|
229
|
+
|
|
230
|
+
# Or via the Fleet API
|
|
231
|
+
curl -X POST https://fleet.yourcompany.com/api/v1/fleet/hosts/42/wipe \
|
|
232
|
+
-H "Authorization: Bearer ${FLEET_API_TOKEN}"
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
### 9.2 Windows remote wipe (Intune)
|
|
236
|
+
|
|
237
|
+
```powershell
|
|
238
|
+
# Via Microsoft Graph API
|
|
239
|
+
$body = @{
|
|
240
|
+
keepEnrollmentData = $false
|
|
241
|
+
keepUserData = $false
|
|
242
|
+
} | ConvertTo-Json
|
|
243
|
+
|
|
244
|
+
Invoke-MgGraphRequest -Method POST `
|
|
245
|
+
-Uri "https://graph.microsoft.com/v1.0/deviceManagement/managedDevices/{deviceId}/wipe" `
|
|
246
|
+
-Body $body -ContentType "application/json"
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
### 9.3 Lost device runbook
|
|
250
|
+
|
|
251
|
+
```text
|
|
252
|
+
1. Employee reports device lost/stolen via Slack #it-help or PagerDuty.
|
|
253
|
+
2. IT admin verifies identity (video call or manager confirmation).
|
|
254
|
+
3. Immediately issue remote lock command (wipe only if data-sensitive).
|
|
255
|
+
4. Rotate any credentials cached on the device:
|
|
256
|
+
- Revoke SSO sessions (Okta/Google Workspace admin console)
|
|
257
|
+
- Rotate API keys stored on the device
|
|
258
|
+
- Revoke VPN certificates
|
|
259
|
+
5. File a police report if theft is suspected.
|
|
260
|
+
6. Remove device from MDM after 30 days or once replacement is shipped.
|
|
261
|
+
7. Update asset inventory and notify finance for insurance claim.
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
---
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
## 10. Onboarding Automation — Zero-Touch Enrollment
|
|
268
|
+
|
|
269
|
+
### 10.1 macOS zero-touch flow
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
#!/usr/bin/env bash
|
|
273
|
+
# onboard-mac.sh — runs as a post-enrollment script via MDM
|
|
274
|
+
set -euo pipefail
|
|
275
|
+
|
|
276
|
+
LOG="/var/log/onboarding.log"
|
|
277
|
+
exec > >(tee -a "$LOG") 2>&1
|
|
278
|
+
|
|
279
|
+
echo "=== Starting onboarding $(date) ==="
|
|
280
|
+
|
|
281
|
+
# 1. Install Rosetta 2 on Apple Silicon
|
|
282
|
+
if [[ "$(uname -m)" == "arm64" ]]; then
|
|
283
|
+
softwareupdate --install-rosetta --agree-to-license
|
|
284
|
+
fi
|
|
285
|
+
|
|
286
|
+
# 2. Install Homebrew
|
|
287
|
+
if ! command -v brew &>/dev/null; then
|
|
288
|
+
NONINTERACTIVE=1 /bin/bash -c \
|
|
289
|
+
"$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
290
|
+
fi
|
|
291
|
+
|
|
292
|
+
# 3. Install standard tooling from Brewfile
|
|
293
|
+
curl -fsSL https://internal.yourcompany.com/brewfile -o /tmp/Brewfile
|
|
294
|
+
brew bundle --file=/tmp/Brewfile --no-lock
|
|
295
|
+
|
|
296
|
+
# 4. Configure Git defaults
|
|
297
|
+
git config --global init.defaultBranch main
|
|
298
|
+
git config --global pull.rebase true
|
|
299
|
+
|
|
300
|
+
# 5. Enable FileVault (will prompt at next login)
|
|
301
|
+
sudo fdesetup enable -defer /var/db/FileVaultDeferred.plist \
|
|
302
|
+
-forceatlogin 0 -dontaskatlogout
|
|
303
|
+
|
|
304
|
+
# 6. Enable firewall
|
|
305
|
+
sudo /usr/libexec/ApplicationFirewall/socketfilterfw --setglobalstate on
|
|
306
|
+
|
|
307
|
+
# 7. Set screen lock
|
|
308
|
+
defaults write com.apple.screensaver askForPassword -int 1
|
|
309
|
+
defaults write com.apple.screensaver askForPasswordDelay -int 0
|
|
310
|
+
defaults write com.apple.screensaver idleTime -int 300
|
|
311
|
+
|
|
312
|
+
# 8. Enroll in Tailscale VPN
|
|
313
|
+
open -a "Tailscale"
|
|
314
|
+
|
|
315
|
+
echo "=== Onboarding complete $(date) ==="
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
### 10.2 Windows zero-touch flow (Autopilot + Intune)
|
|
319
|
+
|
|
320
|
+
```powershell
|
|
321
|
+
# deploy.ps1 — assigned as an Intune PowerShell script
|
|
322
|
+
$ErrorActionPreference = "Stop"
|
|
323
|
+
$logFile = "C:\ProgramData\onboarding.log"
|
|
324
|
+
Start-Transcript -Path $logFile -Append
|
|
325
|
+
|
|
326
|
+
Write-Host "=== Starting onboarding $(Get-Date) ==="
|
|
327
|
+
|
|
328
|
+
# 1. Install winget packages
|
|
329
|
+
$packages = @(
|
|
330
|
+
"Git.Git",
|
|
331
|
+
"Microsoft.VisualStudioCode",
|
|
332
|
+
"Docker.DockerDesktop",
|
|
333
|
+
"SlackTechnologies.Slack",
|
|
334
|
+
"Tailscale.Tailscale",
|
|
335
|
+
"AgileBits.1Password"
|
|
336
|
+
)
|
|
337
|
+
|
|
338
|
+
foreach ($pkg in $packages) {
|
|
339
|
+
Write-Host "Installing $pkg..."
|
|
340
|
+
winget install --id $pkg --accept-package-agreements --accept-source-agreements --silent
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
# 2. Enable BitLocker
|
|
344
|
+
Enable-BitLocker -MountPoint "C:" -EncryptionMethod XtsAes256 -TpmProtector
|
|
345
|
+
Add-BitLockerKeyProtector -MountPoint "C:" -RecoveryPasswordProtector
|
|
346
|
+
|
|
347
|
+
# 3. Configure firewall
|
|
348
|
+
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
|
|
349
|
+
Set-NetFirewallProfile -Profile Domain,Public,Private `
|
|
350
|
+
-DefaultInboundAction Block -DefaultOutboundAction Allow
|
|
351
|
+
|
|
352
|
+
# 4. Set power and lock settings
|
|
353
|
+
powercfg /change monitor-timeout-ac 5
|
|
354
|
+
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" `
|
|
355
|
+
-Name "InactivityTimeoutSecs" -Value 300
|
|
356
|
+
|
|
357
|
+
# 5. Enable automatic updates
|
|
358
|
+
Set-ItemProperty -Path "HKLM:\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU" `
|
|
359
|
+
-Name "AUOptions" -Value 4
|
|
360
|
+
|
|
361
|
+
Write-Host "=== Onboarding complete $(Get-Date) ==="
|
|
362
|
+
Stop-Transcript
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
### 10.3 Onboarding checklist (for IT automation)
|
|
366
|
+
|
|
367
|
+
```yaml
|
|
368
|
+
# onboarding-checklist.yml — track in your ticketing system or Fleet
|
|
369
|
+
new_hire_onboarding:
|
|
370
|
+
pre_day_one:
|
|
371
|
+
- Purchase and ship device via CDW/Apple Business Manager
|
|
372
|
+
- Assign device to MDM server in ABM/Autopilot
|
|
373
|
+
- Create accounts: Google Workspace / M365, Okta SSO, GitHub, Slack
|
|
374
|
+
- Generate VPN invite (Tailscale, WireGuard)
|
|
375
|
+
- Prepare welcome documentation link
|
|
376
|
+
|
|
377
|
+
day_one_automated:
|
|
378
|
+
- Device powers on and auto-enrolls in MDM (zero-touch)
|
|
379
|
+
- MDM pushes security profiles (encryption, firewall, password policy)
|
|
380
|
+
- Software bundle installs automatically
|
|
381
|
+
- User signs into SSO — all apps authenticate via SAML/OIDC
|
|
382
|
+
- Compliance policies begin evaluation
|
|
383
|
+
|
|
384
|
+
day_one_manual:
|
|
385
|
+
- IT schedules 15-min welcome call to verify setup
|
|
386
|
+
- Employee confirms disk encryption enabled (fdesetup status / manage-bde)
|
|
387
|
+
- Employee joins #it-help Slack channel
|
|
388
|
+
- Employee completes security awareness training link
|
|
389
|
+
|
|
390
|
+
week_one_verification:
|
|
391
|
+
- Fleet/MDM dashboard shows device as compliant
|
|
392
|
+
- All critical policies passing (encryption, firewall, OS version)
|
|
393
|
+
- VPN connectivity verified
|
|
394
|
+
- MFA enrolled on all critical services
|
|
395
|
+
```
|
|
396
|
+
|
|
397
|
+
---
|
|
398
|
+
|
|
399
|
+
|
|
400
|
+
## Quick Reference
|
|
401
|
+
|
|
402
|
+
| Task | macOS Command | Windows Command |
|
|
403
|
+
|------|---------------|-----------------|
|
|
404
|
+
| Check encryption | `fdesetup status` | `manage-bde -status C:` |
|
|
405
|
+
| Enable firewall | `socketfilterfw --setglobalstate on` | `Set-NetFirewallProfile -Enabled True` |
|
|
406
|
+
| Force OS update | `softwareupdate -ia` | `usoclient StartInstallD` |
|
|
407
|
+
| Lock screen now | `pmset displaysleepnow` | `rundll32.exe user32.dll,LockWorkStation` |
|
|
408
|
+
| List MDM profiles | `profiles show -type enrollment` | `dsregcmd /status` |
|
|
409
|
+
| Check compliance | `fleetctl get hosts --query "..."` | `fleetctl get hosts --query "..."` |
|
|
410
|
+
|