[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6BYRPVC9BB3DSS24PDQ6V19":3,"skill-same:01M6BYRPVC9BB3DSS24PDQ6V19":124},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":33,"linkOnly":34,"markdownContent":35,"markdownBody":36,"frontMatter":37,"refName":82,"commitSha":83,"skillDirectory":84,"forksCount":85,"repositoryHtmlUrl":86,"repositoryHomepageUrl":6,"ownerHtmlUrl":87,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":88,"install":89,"resources":102},"01M6BYRPVC9BB3DSS24PDQ6V19","to-spec",null,"Turn the current conversation into a spec and publish it to the project issue tracker: no interview, just synthesis of what you've already discussed.","Vortex375\u002Fseraph","Vortex375","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F5016523?v=4","01M6BYMHA5FQE4EMD6BSZ13M46","Benjamin Schmitz","01M6BYMHEYGQ7DM3Q8A7KBNZ48",2,"AGPL-3.0","https:\u002F\u002Fgithub.com\u002FVortex375\u002Fseraph\u002Fblob\u002Fmain\u002Fapp\u002Fseraph_app\u002F.agents\u002Fskills\u002Fto-spec\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32],"spec","to spec","publish","just","interview","Synthesis","issue","tracker","conversation","project","it","you","issue tracker","true","2026-11-10 10:12:30",false,"---\nname: configuring-ldap-security-hardening\ndescription: Hardens LDAP directory services against credential harvesting, LDAP\n  injection, anonymous binding, and channel-binding bypass by enforcing LDAPS, channel\n  binding, and LDAP signing. Use when securing an LDAP or Active Directory environment\n  against these attack classes or auditing directory service configurations for\n  these vulnerabilities.\ndomain: cybersecurity\nsubdomain: identity-access-management\ntags:\n- iam\n- identity\n- access-control\n- ldap\n- directory-services\n- hardening\nversion: '1.0'\nauthor: mahipal\nlicense: Apache-2.0\nnist_csf:\n- PR.AA-01\n- PR.AA-02\n- PR.AA-05\n- PR.AA-06\nmitre_attack:\n- T1087.002\n- T1110.003\n- T1557.001\n- T1040\n- T1078.002\nmitre_f3:\n  version: '1.1'\n  tactics:\n  - initial-access\n  - positioning\n  techniques:\n  - id: T1110.003\n    name: 'Brute Force: Password Spraying'\n    tactic: initial-access\n    source: attack\n  - id: T1110\n    name: Brute Force\n    tactic: initial-access\n    source: attack\n  - id: F1006\n    name: Account Takeover\n    tactic: initial-access\n    source: f3\n  - id: T1557\n    name: Adversary-in-the-Middle\n    tactic: positioning\n    source: attack\n---\n# Configuring LDAP Security Hardening\n\n## Overview\nHarden LDAP directory services against common attacks including credential harvesting, LDAP injection, anonymous binding, and channel binding bypass. Covers LDAPS enforcement, channel binding, LDAP signing, access control lists, and monitoring for LDAP-based attacks.\n\n\n## When to Use\n\n- When deploying or configuring configuring ldap security hardening capabilities in your environment\n- When establishing security controls aligned to compliance requirements\n- When building or improving security architecture for this domain\n- When conducting security assessments that require this implementation\n\n## Prerequisites\n\n- Familiarity with identity access management concepts and tools\n- Access to a test or lab environment for safe execution\n- Python 3.8+ with required dependencies installed\n- Appropriate authorization for any testing activities\n\n## Objectives\n- Implement comprehensive configuring ldap security hardening capability\n- Establish automated discovery and monitoring processes\n- Integrate with enterprise IAM and security tools\n- Generate compliance-ready documentation and reports\n- Align with NIST 800-53 access control requirements\n\n## Security Controls\n| Control | NIST 800-53 | Description |\n|---------|-------------|-------------|\n| Account Management | AC-2 | Lifecycle management |\n| Access Enforcement | AC-3 | Policy-based access control |\n| Least Privilege | AC-6 | Minimum necessary permissions |\n| Audit Logging | AU-3 | Authentication and access events |\n| Identification | IA-2 | User and service identification |\n\n## Verification\n- [ ] Implementation tested in non-production environment\n- [ ] Security policies configured and enforced\n- [ ] Audit logging enabled and forwarding to SIEM\n- [ ] Documentation and runbooks complete\n- [ ] Compliance evidence generated\n","# Configuring LDAP Security Hardening\n\n## Overview\nHarden LDAP directory services against common attacks including credential harvesting, LDAP injection, anonymous binding, and channel binding bypass. Covers LDAPS enforcement, channel binding, LDAP signing, access control lists, and monitoring for LDAP-based attacks.\n\n\n## When to Use\n\n- When deploying or configuring configuring ldap security hardening capabilities in your environment\n- When establishing security controls aligned to compliance requirements\n- When building or improving security architecture for this domain\n- When conducting security assessments that require this implementation\n\n## Prerequisites\n\n- Familiarity with identity access management concepts and tools\n- Access to a test or lab environment for safe execution\n- Python 3.8+ with required dependencies installed\n- Appropriate authorization for any testing activities\n\n## Objectives\n- Implement comprehensive configuring ldap security hardening capability\n- Establish automated discovery and monitoring processes\n- Integrate with enterprise IAM and security tools\n- Generate compliance-ready documentation and reports\n- Align with NIST 800-53 access control requirements\n\n## Security Controls\n| Control | NIST 800-53 | Description |\n|---------|-------------|-------------|\n| Account Management | AC-2 | Lifecycle management |\n| Access Enforcement | AC-3 | Policy-based access control |\n| Least Privilege | AC-6 | Minimum necessary permissions |\n| Audit Logging | AU-3 | Authentication and access events |\n| Identification | IA-2 | User and service identification |\n\n## Verification\n- [ ] Implementation tested in non-production environment\n- [ ] Security policies configured and enforced\n- [ ] Audit logging enabled and forwarding to SIEM\n- [ ] Documentation and runbooks complete\n- [ ] Compliance evidence generated\n",{"name":38,"tags":39,"author":46,"domain":47,"license":48,"version":49,"mitre_f3":50,"nist_csf":70,"subdomain":75,"description":76,"mitre_attack":77},"configuring-ldap-security-hardening",[40,41,42,43,44,45],"iam","identity","access-control","ldap","directory-services","hardening","mahipal","cybersecurity","Apache-2.0","1.0",{"tactics":51,"version":54,"techniques":55},[52,53],"initial-access","positioning","1.1",[56,60,63,67],{"id":57,"name":58,"source":59,"tactic":52},"T1110.003","Brute Force: Password Spraying","attack",{"id":61,"name":62,"source":59,"tactic":52},"T1110","Brute Force",{"id":64,"name":65,"source":66,"tactic":52},"F1006","Account Takeover","f3",{"id":68,"name":69,"source":59,"tactic":53},"T1557","Adversary-in-the-Middle",[71,72,73,74],"PR.AA-01","PR.AA-02","PR.AA-05","PR.AA-06","identity-access-management","Hardens LDAP directory services against credential harvesting, LDAP injection, anonymous binding, and channel-binding bypass by enforcing LDAPS, channel binding, and LDAP signing. Use when securing an LDAP or Active Directory environment against these attack classes or auditing directory service configurations for these vulnerabilities.",[78,57,79,80,81],"T1087.002","T1557.001","T1040","T1078.002","main","54a798831d2266a3ca61ce68a7acb80b81160d57","app\u002Fseraph_app\u002F.agents\u002Fskills\u002Fto-spec",0,"https:\u002F\u002Fgithub.com\u002FVortex375\u002Fseraph","https:\u002F\u002Fgithub.com\u002FVortex375","2026-11-08 18:46:14",{"source":8,"skillName":38,"commands":90,"prompt":100,"zipAvailable":101},[91,94,97],{"tool":92,"command":93},"npx","npx skills add Vortex375\u002Fseraph --skill configuring-ldap-security-hardening",{"tool":95,"command":96},"bunx","bunx skills add Vortex375\u002Fseraph --skill configuring-ldap-security-hardening",{"tool":98,"command":99},"pnpm","pnpm dlx skills add Vortex375\u002Fseraph --skill configuring-ldap-security-hardening","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FVortex375\u002Fseraph\u002Fblob\u002Fmain\u002Fapp\u002Fseraph_app\u002F.agents\u002Fskills\u002Fto-spec\u002FSKILL.md",true,[103,109,114,118],{"path":104,"resourceType":105,"resourceTypeDesc":106,"sizeBytes":107,"sourceHtmlUrl":108},"agents\u002Fopenai.yaml","REFERENCE","参考文档",135,"https:\u002F\u002Fgithub.com\u002FVortex375\u002Fseraph\u002Fblob\u002Fmain\u002Fapp\u002Fseraph_app\u002F.agents\u002Fskills\u002Fto-spec\u002Fagents\u002Fopenai.yaml",{"path":110,"resourceType":110,"resourceTypeDesc":111,"sizeBytes":112,"sourceHtmlUrl":113},"LICENSE","许可证",11255,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fconfiguring-ldap-security-hardening\u002FLICENSE",{"path":115,"resourceType":105,"resourceTypeDesc":106,"sizeBytes":116,"sourceHtmlUrl":117},"references\u002Fapi-reference.md",1667,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fconfiguring-ldap-security-hardening\u002Freferences\u002Fapi-reference.md",{"path":119,"resourceType":120,"resourceTypeDesc":121,"sizeBytes":122,"sourceHtmlUrl":123},"scripts\u002Fagent.py","SCRIPT","脚本",5412,"https:\u002F\u002Fgithub.com\u002Fmukul975\u002FAnthropic-Cybersecurity-Skills\u002Fblob\u002Fmain\u002Fskills\u002Fconfiguring-ldap-security-hardening\u002Fscripts\u002Fagent.py",[125,149,174,196,211,230],{"skillNo":126,"name":127,"nameZh":6,"description":128,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":129,"categories":130,"keywords":141,"publishedAt":33},"01M6BYS1QVW7F887EXS5RR34TA","writing-for-agents","Writing documents for agents. Use when creating or editing skills, or modifying AGENTS.md or CLAUDE.md.","https:\u002F\u002Fgithub.com\u002FVortex375\u002Fseraph\u002Fblob\u002Fmain\u002Fapp\u002Fseraph_app\u002F.agents\u002Fskills\u002Fwriting-for-agents\u002FSKILL.md",[131,136],{"categoryNo":132,"categoryName":133,"taxonomyType":134,"taxonomyTypeDesc":135},"01JBSEEDCAT000000000000018","写作与文案","SCENARIO","使用场景",{"categoryNo":137,"categoryName":138,"taxonomyType":139,"taxonomyTypeDesc":140},"01JBSEEDCAT000000000000036","内容创作者","PROFESSION","适用职业",[142,143,144,145,146,147,148],"writing","for","writing for agents","when","use","editing","documents",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":155,"publishedAt":33},"01M6BYRZNREK0C7V6Y43AKDJWW","wizard","Generate an interactive bash wizard that walks a human through steps only they can perform. Use when provisioning infrastructure, setting up credentials or CI secrets, walking an unfamiliar third-party dashboard, or running a one-off migration or cutover. Don't invoke this for steps the agent can perform itself.","https:\u002F\u002Fgithub.com\u002FVortex375\u002Fseraph\u002Fblob\u002Fmain\u002Fapp\u002Fseraph_app\u002F.agents\u002Fskills\u002Fwizard\u002FSKILL.md",[],[151,156,157,158,159,160,161,162,145,163,164,143,165,166,167,168,169,170,146,171,172,173],"provisioning","ci","generate","infrastructure","dashboard","can","running","invoke","party","credentials","human","provisioning infrastructure","migration","up","only","interactive","Bash","secrets",{"skillNo":175,"name":176,"nameZh":6,"description":177,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":178,"categories":179,"keywords":180,"publishedAt":33},"01M6BYRY92S448X31PTG25TCJC","wayfinder","Plan a huge chunk of work (more than one agent session can hold) as a shared map of decision tickets on your issue tracker, and resolve them one at a time until the way to the destination is clear.","https:\u002F\u002Fgithub.com\u002FVortex375\u002Fseraph\u002Fblob\u002Fmain\u002Fapp\u002Fseraph_app\u002F.agents\u002Fskills\u002Fwayfinder\u002FSKILL.md",[],[176,181,182,183,161,184,32,185,186,187,188,189,25,190,191,192,193,194,195,26],"at","map","agent session","time","shared","more","tickets","as","clear","session","one at a time","work","decision","plan","chunk",{"skillNo":197,"name":198,"nameZh":6,"description":199,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":200,"categories":201,"keywords":202,"publishedAt":33},"01M6BYRWXMYWB6PD7E9PAD44M4","wait-what","Stop. That last message did not land: re-pitch it.","https:\u002F\u002Fgithub.com\u002FVortex375\u002Fseraph\u002Fblob\u002Fmain\u002Fapp\u002Fseraph_app\u002F.agents\u002Fskills\u002Fwait-what\u002FSKILL.md",[],[203,204,205,32,206,29,207,208,209,210],"wait what","wait","re","last","pitch","message","stop","land",{"skillNo":212,"name":213,"nameZh":6,"description":214,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":215,"categories":216,"keywords":217,"publishedAt":33},"01M6BYRTS6JNDYB7BZVAWK7JJ9","triage","Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.","https:\u002F\u002Fgithub.com\u002FVortex375\u002Fseraph\u002Fblob\u002Fmain\u002Fapp\u002Fseraph_app\u002F.agents\u002Fskills\u002Ftriage\u002FSKILL.md",[],[213,218,219,220,221,222,223,224,225,226,227,228,32,229],"machine","roles","grill","ready","write","verify","issues","state","move","prs","state machine","briefs",{"skillNo":231,"name":232,"nameZh":6,"description":233,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":234,"categories":235,"keywords":236,"publishedAt":33},"01M6BYRRRCDHNXH2YBDTYJPG36","to-tickets","Break a plan, spec, or the current conversation into a set of tracer-bullet tickets, each declaring its blocking edges, published to the configured tracker (edges as text in one file per ticket locally, or native blocking links on a real tracker).","https:\u002F\u002Fgithub.com\u002FVortex375\u002Fseraph\u002Fblob\u002Fmain\u002Fapp\u002Fseraph_app\u002F.agents\u002Fskills\u002Fto-tickets\u002FSKILL.md",[],[237,187,19,238,239,32,240,241,188,27,26,242,194,243,244],"to tickets","links","break","native","ticket","text","SET","file"]