cc-codeconductor 1.0.0 → 1.1.0
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/README.md +324 -87
- package/dist/core/compilation/compile-checker.d.ts +2 -0
- package/dist/core/loop/loop-engine.d.ts +3 -0
- package/dist/index.js +2701 -577
- package/dist/library.js +167 -18
- package/dist/validation/schemas.d.ts +390 -44
- package/package.json +4 -1
- package/presets/agy/AGENTS.md +3 -0
- package/presets/agy/gates/pre-commit/GATE.md +5 -4
- package/presets/agy/skills/backlog/SKILL.md +91 -0
- package/presets/agy/skills/openspec/SKILL.md +5 -1
- package/presets/agy/skills/security-ai-llm/SKILL.md +43 -0
- package/presets/agy/skills/security-blue-team/SKILL.md +43 -0
- package/presets/agy/skills/security-cloud/SKILL.md +43 -0
- package/presets/agy/skills/security-crypto/SKILL.md +43 -0
- package/presets/agy/skills/security-exploit-dev/SKILL.md +45 -0
- package/presets/agy/skills/security-grc/SKILL.md +43 -0
- package/presets/agy/skills/security-incident-response/SKILL.md +45 -0
- package/presets/agy/skills/security-log-analysis/SKILL.md +43 -0
- package/presets/agy/skills/security-malware-analysis/SKILL.md +44 -0
- package/presets/agy/skills/security-mobile/SKILL.md +43 -0
- package/presets/agy/skills/security-network/SKILL.md +43 -0
- package/presets/agy/skills/security-ot-ics/SKILL.md +43 -0
- package/presets/agy/skills/security-recon/SKILL.md +45 -0
- package/presets/agy/skills/security-red-team/SKILL.md +44 -0
- package/presets/agy/skills/security-reverse-engineering/SKILL.md +44 -0
- package/presets/agy/skills/security-soc-automation/SKILL.md +43 -0
- package/presets/agy/skills/security-threat-hunting/SKILL.md +43 -0
- package/presets/agy/skills/security-vuln-assessment/SKILL.md +45 -0
- package/presets/agy/skills/security-web/SKILL.md +44 -0
- package/presets/agy/workflows/cc-ask.md +2 -1
- package/presets/agy/workflows/cc-backlog.md +69 -0
- package/presets/agy/workflows/cc-explore.md +1 -1
- package/presets/agy/workflows/cc-openspec.md +3 -1
- package/presets/agy/workflows/cc-security.md +180 -0
- package/presets/claude/CLAUDE.md +4 -0
- package/presets/claude/commands/cc/ask.md +2 -1
- package/presets/claude/commands/cc/backlog.md +104 -0
- package/presets/claude/commands/cc/explore.md +1 -1
- package/presets/claude/commands/cc/openspec.md +16 -1
- package/presets/claude/commands/cc/security.md +179 -0
- package/presets/claude/gates/pre-commit/GATE.md +5 -4
- package/presets/claude/skills/backlog/SKILL.md +91 -0
- package/presets/claude/skills/openspec/SKILL.md +5 -1
- package/presets/claude/skills/security/SKILL.md +382 -0
- package/presets/claude/skills/security-ai-llm/SKILL.md +43 -0
- package/presets/claude/skills/security-blue-team/SKILL.md +43 -0
- package/presets/claude/skills/security-cloud/SKILL.md +43 -0
- package/presets/claude/skills/security-crypto/SKILL.md +43 -0
- package/presets/claude/skills/security-exploit-dev/SKILL.md +45 -0
- package/presets/claude/skills/security-grc/SKILL.md +43 -0
- package/presets/claude/skills/security-incident-response/SKILL.md +45 -0
- package/presets/claude/skills/security-log-analysis/SKILL.md +43 -0
- package/presets/claude/skills/security-malware-analysis/SKILL.md +44 -0
- package/presets/claude/skills/security-mobile/SKILL.md +43 -0
- package/presets/claude/skills/security-network/SKILL.md +43 -0
- package/presets/claude/skills/security-ot-ics/SKILL.md +43 -0
- package/presets/claude/skills/security-recon/SKILL.md +45 -0
- package/presets/claude/skills/security-red-team/SKILL.md +44 -0
- package/presets/claude/skills/security-reverse-engineering/SKILL.md +44 -0
- package/presets/claude/skills/security-soc-automation/SKILL.md +43 -0
- package/presets/claude/skills/security-threat-hunting/SKILL.md +43 -0
- package/presets/claude/skills/security-vuln-assessment/SKILL.md +45 -0
- package/presets/claude/skills/security-web/SKILL.md +44 -0
- package/presets/codex/commands/cc-ask.md +2 -1
- package/presets/codex/gates/pre-commit/GATE.md +5 -4
- package/presets/cursor/AGENTS.md +2 -2
- package/presets/cursor/commands/cc/ask.md +2 -1
- package/presets/cursor/commands/cc/backlog.md +105 -0
- package/presets/cursor/commands/cc/explore.md +1 -1
- package/presets/cursor/commands/cc/openspec.md +16 -1
- package/presets/cursor/commands/cc/security.md +179 -0
- package/presets/cursor/gates/pre-commit/GATE.md +5 -4
- package/presets/cursor/skills/backlog/SKILL.md +91 -0
- package/presets/cursor/skills/openspec/SKILL.md +5 -1
- package/presets/cursor/skills/security-ai-llm/SKILL.md +43 -0
- package/presets/cursor/skills/security-blue-team/SKILL.md +43 -0
- package/presets/cursor/skills/security-cloud/SKILL.md +43 -0
- package/presets/cursor/skills/security-crypto/SKILL.md +43 -0
- package/presets/cursor/skills/security-exploit-dev/SKILL.md +45 -0
- package/presets/cursor/skills/security-grc/SKILL.md +43 -0
- package/presets/cursor/skills/security-incident-response/SKILL.md +45 -0
- package/presets/cursor/skills/security-log-analysis/SKILL.md +43 -0
- package/presets/cursor/skills/security-malware-analysis/SKILL.md +44 -0
- package/presets/cursor/skills/security-mobile/SKILL.md +43 -0
- package/presets/cursor/skills/security-network/SKILL.md +43 -0
- package/presets/cursor/skills/security-ot-ics/SKILL.md +43 -0
- package/presets/cursor/skills/security-recon/SKILL.md +45 -0
- package/presets/cursor/skills/security-red-team/SKILL.md +44 -0
- package/presets/cursor/skills/security-reverse-engineering/SKILL.md +44 -0
- package/presets/cursor/skills/security-soc-automation/SKILL.md +43 -0
- package/presets/cursor/skills/security-threat-hunting/SKILL.md +43 -0
- package/presets/cursor/skills/security-vuln-assessment/SKILL.md +45 -0
- package/presets/cursor/skills/security-web/SKILL.md +44 -0
- package/presets/opencode/commands/cc-ask.md +2 -1
- package/presets/opencode/commands/cc-backlog.md +68 -0
- package/presets/opencode/commands/cc-explore.md +1 -1
- package/presets/opencode/commands/cc-openspec.md +3 -1
- package/presets/opencode/commands/cc-security.md +179 -0
- package/presets/opencode/gates/pre-commit/GATE.md +5 -4
- package/presets/opencode/skills/backlog/SKILL.md +91 -0
- package/presets/opencode/skills/openspec/SKILL.md +5 -1
- package/presets/opencode/skills/security-ai-llm/SKILL.md +43 -0
- package/presets/opencode/skills/security-blue-team/SKILL.md +43 -0
- package/presets/opencode/skills/security-cloud/SKILL.md +43 -0
- package/presets/opencode/skills/security-crypto/SKILL.md +43 -0
- package/presets/opencode/skills/security-exploit-dev/SKILL.md +45 -0
- package/presets/opencode/skills/security-grc/SKILL.md +43 -0
- package/presets/opencode/skills/security-incident-response/SKILL.md +45 -0
- package/presets/opencode/skills/security-log-analysis/SKILL.md +43 -0
- package/presets/opencode/skills/security-malware-analysis/SKILL.md +44 -0
- package/presets/opencode/skills/security-mobile/SKILL.md +43 -0
- package/presets/opencode/skills/security-network/SKILL.md +43 -0
- package/presets/opencode/skills/security-ot-ics/SKILL.md +43 -0
- package/presets/opencode/skills/security-recon/SKILL.md +45 -0
- package/presets/opencode/skills/security-red-team/SKILL.md +44 -0
- package/presets/opencode/skills/security-reverse-engineering/SKILL.md +44 -0
- package/presets/opencode/skills/security-soc-automation/SKILL.md +43 -0
- package/presets/opencode/skills/security-threat-hunting/SKILL.md +43 -0
- package/presets/opencode/skills/security-vuln-assessment/SKILL.md +45 -0
- package/presets/opencode/skills/security-web/SKILL.md +44 -0
- package/src/presets/council/council.yml +12 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-ot-ics
|
|
3
|
+
description: >
|
|
4
|
+
Advise on defensive security for industrial control systems you operate. Safety first. No process-disruption guidance.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# OT / ICS Security
|
|
8
|
+
|
|
9
|
+
## Authorization
|
|
10
|
+
|
|
11
|
+
Use this skill only with **explicit written authorization** for a named
|
|
12
|
+
scope (systems, environments, and time window). If authorization is missing,
|
|
13
|
+
expired, or the request is for someone else's systems, **stop**.
|
|
14
|
+
|
|
15
|
+
This skill is **defensive and owner-authorized**. It does not authorize
|
|
16
|
+
offensive cyber operations.
|
|
17
|
+
|
|
18
|
+
## Do
|
|
19
|
+
|
|
20
|
+
- Separate OT networks; no direct internet to PLCs
|
|
21
|
+
- Change default credentials; document who can stop a line
|
|
22
|
+
- Patch with maintenance windows; test on a replica
|
|
23
|
+
|
|
24
|
+
## Do not
|
|
25
|
+
|
|
26
|
+
- Suggest actions that could halt unsafe physical processes
|
|
27
|
+
- Scan or 'test' live safety systems without OT engineering approval
|
|
28
|
+
|
|
29
|
+
- Do not produce exploit payloads, malware, or attack procedures.
|
|
30
|
+
|
|
31
|
+
## How to Use
|
|
32
|
+
|
|
33
|
+
Load this skill from `/cc-security` when the Task Card domain is `security-ot-ics`.
|
|
34
|
+
Example prompts:
|
|
35
|
+
|
|
36
|
+
- `Review the jump-host design between IT and the plant VLAN.`
|
|
37
|
+
- `Draft a change window checklist for a PLC firmware update.`
|
|
38
|
+
|
|
39
|
+
## Integration
|
|
40
|
+
|
|
41
|
+
- Workflow: `/cc-security` (CCEP command `security`)
|
|
42
|
+
- Existing OWASP application-security skill remains `security` (not this id)
|
|
43
|
+
- High-risk changes still require `security-reviewer`
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-recon
|
|
3
|
+
description: >
|
|
4
|
+
Map owned assets, attack surface, and inventory for systems the requester is authorized to assess. Use for asset discovery, service catalogs, and exposure reviews — never unauthorized scanning.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Authorized Reconnaissance
|
|
8
|
+
|
|
9
|
+
## Authorization
|
|
10
|
+
|
|
11
|
+
Use this skill only with **explicit written authorization** for a named
|
|
12
|
+
scope (systems, environments, and time window). If authorization is missing,
|
|
13
|
+
expired, or the request is for someone else's systems, **stop**.
|
|
14
|
+
|
|
15
|
+
This skill is **defensive and owner-authorized**. It does not authorize
|
|
16
|
+
offensive cyber operations.
|
|
17
|
+
|
|
18
|
+
## Do
|
|
19
|
+
|
|
20
|
+
- Inventory hosts, services, and identities the authorization letter names
|
|
21
|
+
- Prefer read-only, rate-limited discovery against owned environments
|
|
22
|
+
- Record data sources (CMDB, cloud APIs, repo maps) in the Task Card
|
|
23
|
+
- Flag shadow IT only to the asset owner
|
|
24
|
+
|
|
25
|
+
## Do not
|
|
26
|
+
|
|
27
|
+
- Scan networks, IPs, or tenants outside the authorization window
|
|
28
|
+
- Use third-party scanners against production without change control
|
|
29
|
+
- Store credentials, tokens, or dumps in the skill output
|
|
30
|
+
|
|
31
|
+
- Do not produce exploit payloads, malware, or attack procedures.
|
|
32
|
+
|
|
33
|
+
## How to Use
|
|
34
|
+
|
|
35
|
+
Load this skill from `/cc-security` when the Task Card domain is `security-recon`.
|
|
36
|
+
Example prompts:
|
|
37
|
+
|
|
38
|
+
- `Inventory the staging VPC we own: services, public endpoints, and IAM principals in scope for Q3.`
|
|
39
|
+
- `From this repo, list internet-facing routes and compare them to the authorized asset list.`
|
|
40
|
+
|
|
41
|
+
## Integration
|
|
42
|
+
|
|
43
|
+
- Workflow: `/cc-security` (CCEP command `security`)
|
|
44
|
+
- Existing OWASP application-security skill remains `security` (not this id)
|
|
45
|
+
- High-risk changes still require `security-reviewer`
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-red-team
|
|
3
|
+
description: >
|
|
4
|
+
Plan purple-team / adversary-simulation exercises against systems you are contracted to test. High-level objectives and detection gaps only. No live attack procedures or payloads.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Authorized Adversary Simulation (Planning)
|
|
8
|
+
|
|
9
|
+
## Authorization
|
|
10
|
+
|
|
11
|
+
Use this skill only with **explicit written authorization** for a named
|
|
12
|
+
scope (systems, environments, and time window). If authorization is missing,
|
|
13
|
+
expired, or the request is for someone else's systems, **stop**.
|
|
14
|
+
|
|
15
|
+
This skill is **defensive and owner-authorized**. It does not authorize
|
|
16
|
+
offensive cyber operations.
|
|
17
|
+
|
|
18
|
+
## Do
|
|
19
|
+
|
|
20
|
+
- Require a rules-of-engagement document before any exercise
|
|
21
|
+
- Map ATT&CK techniques to detections you want to validate
|
|
22
|
+
- Coordinate with blue team; prefer tabletop if production risk is high
|
|
23
|
+
|
|
24
|
+
## Do not
|
|
25
|
+
|
|
26
|
+
- Provide exploit steps, malware, phishing kits, or C2 playbooks
|
|
27
|
+
- Run unapproved tests against production
|
|
28
|
+
- Help with unauthorized 'red team' against third parties
|
|
29
|
+
|
|
30
|
+
- Do not produce exploit payloads, malware, or attack procedures.
|
|
31
|
+
|
|
32
|
+
## How to Use
|
|
33
|
+
|
|
34
|
+
Load this skill from `/cc-security` when the Task Card domain is `security-red-team`.
|
|
35
|
+
Example prompts:
|
|
36
|
+
|
|
37
|
+
- `Draft ROE and in-scope techniques for an internal purple-team week on staging.`
|
|
38
|
+
- `List detections we should have for credential stuffing against our login — no attack scripts.`
|
|
39
|
+
|
|
40
|
+
## Integration
|
|
41
|
+
|
|
42
|
+
- Workflow: `/cc-security` (CCEP command `security`)
|
|
43
|
+
- Existing OWASP application-security skill remains `security` (not this id)
|
|
44
|
+
- High-risk changes still require `security-reviewer`
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-reverse-engineering
|
|
3
|
+
description: >
|
|
4
|
+
Analyze binaries or protocols you own (or have license to inspect) to improve security, compatibility, or incident response. Not for cracking, DRM bypass, or malware creation.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Authorized Reverse Engineering
|
|
8
|
+
|
|
9
|
+
## Authorization
|
|
10
|
+
|
|
11
|
+
Use this skill only with **explicit written authorization** for a named
|
|
12
|
+
scope (systems, environments, and time window). If authorization is missing,
|
|
13
|
+
expired, or the request is for someone else's systems, **stop**.
|
|
14
|
+
|
|
15
|
+
This skill is **defensive and owner-authorized**. It does not authorize
|
|
16
|
+
offensive cyber operations.
|
|
17
|
+
|
|
18
|
+
## Do
|
|
19
|
+
|
|
20
|
+
- Confirm license and ownership before inspecting a binary
|
|
21
|
+
- Focus on trust boundaries, crypto misuse, and update integrity
|
|
22
|
+
- Document findings as hardening tasks with tests where code exists
|
|
23
|
+
|
|
24
|
+
## Do not
|
|
25
|
+
|
|
26
|
+
- Bypass license checks, DRM, or access controls you do not own
|
|
27
|
+
- Publish unpacking or unpacker tutorials for third-party software
|
|
28
|
+
- Produce malware droppers or obfuscators
|
|
29
|
+
|
|
30
|
+
- Do not produce exploit payloads, malware, or attack procedures.
|
|
31
|
+
|
|
32
|
+
## How to Use
|
|
33
|
+
|
|
34
|
+
Load this skill from `/cc-security` when the Task Card domain is `security-reverse-engineering`.
|
|
35
|
+
Example prompts:
|
|
36
|
+
|
|
37
|
+
- `Review our firmware update signer: how is the public key pinned, and what tests prove tamper detection?`
|
|
38
|
+
- `Map native JNI entrypoints in our Android app for unsafe string concatenation.`
|
|
39
|
+
|
|
40
|
+
## Integration
|
|
41
|
+
|
|
42
|
+
- Workflow: `/cc-security` (CCEP command `security`)
|
|
43
|
+
- Existing OWASP application-security skill remains `security` (not this id)
|
|
44
|
+
- High-risk changes still require `security-reviewer`
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-soc-automation
|
|
3
|
+
description: >
|
|
4
|
+
Automate detection, enrichment, and response playbooks for a SOC you operate. Keep humans in the loop for destructive actions.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# SOC Automation
|
|
8
|
+
|
|
9
|
+
## Authorization
|
|
10
|
+
|
|
11
|
+
Use this skill only with **explicit written authorization** for a named
|
|
12
|
+
scope (systems, environments, and time window). If authorization is missing,
|
|
13
|
+
expired, or the request is for someone else's systems, **stop**.
|
|
14
|
+
|
|
15
|
+
This skill is **defensive and owner-authorized**. It does not authorize
|
|
16
|
+
offensive cyber operations.
|
|
17
|
+
|
|
18
|
+
## Do
|
|
19
|
+
|
|
20
|
+
- Automate enrichment (WHOIS, asset owner, hash reputation) not auto-wipe
|
|
21
|
+
- Version playbooks; require approval for isolate/disable-user actions
|
|
22
|
+
- Test detections with synthetic events in a lab tenant
|
|
23
|
+
|
|
24
|
+
## Do not
|
|
25
|
+
|
|
26
|
+
- Auto-disable production users or servers without an approval gate
|
|
27
|
+
- Pipe raw secrets from tickets into chat webhooks
|
|
28
|
+
|
|
29
|
+
- Do not produce exploit payloads, malware, or attack procedures.
|
|
30
|
+
|
|
31
|
+
## How to Use
|
|
32
|
+
|
|
33
|
+
Load this skill from `/cc-security` when the Task Card domain is `security-soc-automation`.
|
|
34
|
+
Example prompts:
|
|
35
|
+
|
|
36
|
+
- `Draft a SOAR playbook: phishing report → hash lookup → ticket, no auto-containment.`
|
|
37
|
+
- `Turn this Sigma-style idea into a documented detection plus a false-positive test.`
|
|
38
|
+
|
|
39
|
+
## Integration
|
|
40
|
+
|
|
41
|
+
- Workflow: `/cc-security` (CCEP command `security`)
|
|
42
|
+
- Existing OWASP application-security skill remains `security` (not this id)
|
|
43
|
+
- High-risk changes still require `security-reviewer`
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-threat-hunting
|
|
3
|
+
description: >
|
|
4
|
+
Hunt for adversary techniques in telemetry you are authorized to query. Hypothesis-driven, evidence-first, no live offensive operations.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Threat Hunting
|
|
8
|
+
|
|
9
|
+
## Authorization
|
|
10
|
+
|
|
11
|
+
Use this skill only with **explicit written authorization** for a named
|
|
12
|
+
scope (systems, environments, and time window). If authorization is missing,
|
|
13
|
+
expired, or the request is for someone else's systems, **stop**.
|
|
14
|
+
|
|
15
|
+
This skill is **defensive and owner-authorized**. It does not authorize
|
|
16
|
+
offensive cyber operations.
|
|
17
|
+
|
|
18
|
+
## Do
|
|
19
|
+
|
|
20
|
+
- State a hypothesis (technique + data source + expected artifact)
|
|
21
|
+
- Query only approved telemetry (SIEM, EDR, cloud logs)
|
|
22
|
+
- Promote confirmed hits to IR with timestamps and host identity
|
|
23
|
+
|
|
24
|
+
## Do not
|
|
25
|
+
|
|
26
|
+
- Run offensive tooling on production to 'verify' a hunt
|
|
27
|
+
- Query personal mailboxes or systems outside the authorization scope
|
|
28
|
+
|
|
29
|
+
- Do not produce exploit payloads, malware, or attack procedures.
|
|
30
|
+
|
|
31
|
+
## How to Use
|
|
32
|
+
|
|
33
|
+
Load this skill from `/cc-security` when the Task Card domain is `security-threat-hunting`.
|
|
34
|
+
Example prompts:
|
|
35
|
+
|
|
36
|
+
- `Hypothesis: stolen refresh tokens in our IdP logs this week. Query patterns and list follow-ups.`
|
|
37
|
+
- `Hunt for unusual service-account key creation in GCP for project X (authorized).`
|
|
38
|
+
|
|
39
|
+
## Integration
|
|
40
|
+
|
|
41
|
+
- Workflow: `/cc-security` (CCEP command `security`)
|
|
42
|
+
- Existing OWASP application-security skill remains `security` (not this id)
|
|
43
|
+
- High-risk changes still require `security-reviewer`
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-vuln-assessment
|
|
3
|
+
description: >
|
|
4
|
+
Plan and report authorized vulnerability assessments on owned systems. Prioritize evidence, severity, and remediations. Do not deliver exploit payloads.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Vulnerability Assessment
|
|
8
|
+
|
|
9
|
+
## Authorization
|
|
10
|
+
|
|
11
|
+
Use this skill only with **explicit written authorization** for a named
|
|
12
|
+
scope (systems, environments, and time window). If authorization is missing,
|
|
13
|
+
expired, or the request is for someone else's systems, **stop**.
|
|
14
|
+
|
|
15
|
+
This skill is **defensive and owner-authorized**. It does not authorize
|
|
16
|
+
offensive cyber operations.
|
|
17
|
+
|
|
18
|
+
## Do
|
|
19
|
+
|
|
20
|
+
- Use scanner findings plus code review as evidence, not as a scoreboard
|
|
21
|
+
- Map issues to OWASP / CWE and to a concrete fix in the repo
|
|
22
|
+
- Require a reproduction that is safe (config, unit test, or staging)
|
|
23
|
+
- Track false positives explicitly
|
|
24
|
+
|
|
25
|
+
## Do not
|
|
26
|
+
|
|
27
|
+
- Ship exploit PoCs, weaponized payloads, or live attack scripts
|
|
28
|
+
- Scan production without a documented freeze and rollback
|
|
29
|
+
- Mark a finding closed without a failing-then-passing test when code changes
|
|
30
|
+
|
|
31
|
+
- Do not produce exploit payloads, malware, or attack procedures.
|
|
32
|
+
|
|
33
|
+
## How to Use
|
|
34
|
+
|
|
35
|
+
Load this skill from `/cc-security` when the Task Card domain is `security-vuln-assessment`.
|
|
36
|
+
Example prompts:
|
|
37
|
+
|
|
38
|
+
- `Assess the checkout API in staging (ticket SEC-214). Report exploitable authz gaps as remediations, not exploits.`
|
|
39
|
+
- `Triage SAST results on src/auth and turn confirmed issues into failing tests plus patches.`
|
|
40
|
+
|
|
41
|
+
## Integration
|
|
42
|
+
|
|
43
|
+
- Workflow: `/cc-security` (CCEP command `security`)
|
|
44
|
+
- Existing OWASP application-security skill remains `security` (not this id)
|
|
45
|
+
- High-risk changes still require `security-reviewer`
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: security-web
|
|
3
|
+
description: >
|
|
4
|
+
Review and harden web apps (authz, XSS, CSRF, SSRF, injection) on code you maintain. Complements the OWASP `security` skill. No exploit kits.
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Web Application Security
|
|
8
|
+
|
|
9
|
+
## Authorization
|
|
10
|
+
|
|
11
|
+
Use this skill only with **explicit written authorization** for a named
|
|
12
|
+
scope (systems, environments, and time window). If authorization is missing,
|
|
13
|
+
expired, or the request is for someone else's systems, **stop**.
|
|
14
|
+
|
|
15
|
+
This skill is **defensive and owner-authorized**. It does not authorize
|
|
16
|
+
offensive cyber operations.
|
|
17
|
+
|
|
18
|
+
## Do
|
|
19
|
+
|
|
20
|
+
- Enforce authorization on every handler; never rely on the UI
|
|
21
|
+
- Parameterize queries; reject unknown fields
|
|
22
|
+
- Treat cookies, tokens, and redirects as untrusted until validated
|
|
23
|
+
- Add tests for authz, CSRF, and open redirects when you change those paths
|
|
24
|
+
|
|
25
|
+
## Do not
|
|
26
|
+
|
|
27
|
+
- Provide XSS or SQLi payloads for use against systems you do not own
|
|
28
|
+
- Disable CSRF or SameSite 'to make local dev easier' in production configs
|
|
29
|
+
|
|
30
|
+
- Do not produce exploit payloads, malware, or attack procedures.
|
|
31
|
+
|
|
32
|
+
## How to Use
|
|
33
|
+
|
|
34
|
+
Load this skill from `/cc-security` when the Task Card domain is `security-web`.
|
|
35
|
+
Example prompts:
|
|
36
|
+
|
|
37
|
+
- `Review our Next.js Server Actions for IDOR and CSRF. Propose tests, not exploits.`
|
|
38
|
+
- `Harden the file-upload endpoint: type, size, path containment, and tests.`
|
|
39
|
+
|
|
40
|
+
## Integration
|
|
41
|
+
|
|
42
|
+
- Workflow: `/cc-security` (CCEP command `security`)
|
|
43
|
+
- Existing OWASP application-security skill remains `security` (not this id)
|
|
44
|
+
- High-risk changes still require `security-reviewer`
|
|
@@ -36,10 +36,11 @@ The catalog is only:
|
|
|
36
36
|
| `/cc:refactor` | structure, no behavior change |
|
|
37
37
|
| `/cc:review` | inspect a diff/PR |
|
|
38
38
|
| `/cc:tdd-cycle` | red → green → refactor |
|
|
39
|
+
| `/cc:backlog` | create or append BACKLOG.md / objectives |
|
|
39
40
|
| `/cc:openspec` | BACKLOG / BC-xxx delivery |
|
|
40
41
|
|
|
41
42
|
If the CLI is unavailable, apply the same catalog and the same priority:
|
|
42
|
-
openspec → tdd-cycle → review → refactor → fix → feature (default).
|
|
43
|
+
backlog (author) vs openspec (deliver) → tdd-cycle → review → refactor → fix → feature (default).
|
|
43
44
|
|
|
44
45
|
---
|
|
45
46
|
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cc-backlog
|
|
3
|
+
description:
|
|
4
|
+
Author BACKLOG.md — wayfinding, grilling, create or append items, validate
|
|
5
|
+
with openspec, and plan OpenSpec change folders for /cc-openspec.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Backlog Authoring Workflow
|
|
9
|
+
|
|
10
|
+
Objectives: $ARGUMENTS
|
|
11
|
+
|
|
12
|
+
Create or append valid `BACKLOG.md` items and OpenSpec change docs. Do **not**
|
|
13
|
+
deliver implementation — that is `/cc-openspec`.
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## Step 0 — CCEP Bootstrap
|
|
18
|
+
|
|
19
|
+
Command: `backlog` (fixed for this workflow — do not infer from user text)
|
|
20
|
+
|
|
21
|
+
1. Run: `npx cc-codeconductor ccep parse --command backlog "$ARGUMENTS" --output json`
|
|
22
|
+
2. Run: `npx cc-codeconductor ccep resolve --command backlog "$ARGUMENTS" --output json`
|
|
23
|
+
3. Run: `npx cc-codeconductor ccep profile backlog --output json`
|
|
24
|
+
4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command backlog --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
|
|
25
|
+
5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
|
|
26
|
+
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## Step 1 — Wayfinding (repo-explorer)
|
|
30
|
+
|
|
31
|
+
If `graphify-out/graph.json` exists, run `graphify query "$ARGUMENTS"`. Invoke
|
|
32
|
+
`repo-explorer`. Do not write `BACKLOG.md`. Scope must name real files.
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Step 2 — Relentless Grilling (task-coach)
|
|
37
|
+
|
|
38
|
+
Invoke `task-coach`. Measurable acceptance only. One grilling question at a time.
|
|
39
|
+
|
|
40
|
+
**STOP here.** Unresolved grilling questions populate `questionsForUser`;
|
|
41
|
+
`ccep evaluate --command backlog` halts until a human answers.
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
|
|
45
|
+
## Step 3 — Write or append BACKLOG.md
|
|
46
|
+
|
|
47
|
+
Apply skill `backlog`. Create from template if missing; otherwise append under
|
|
48
|
+
`## Items`. Next `BC-NNN` = max existing + 1. Status `READY`. Do not rewrite
|
|
49
|
+
`## Global` or `## Archive`. Do not `git add` `BACKLOG.md` or `openspec/`.
|
|
50
|
+
|
|
51
|
+
---
|
|
52
|
+
|
|
53
|
+
## Step 4 — Validate (mandatory gate)
|
|
54
|
+
|
|
55
|
+
Run `npx cc-codeconductor openspec validate`. If invalid, show errors and
|
|
56
|
+
canonical structure, fix, re-validate. **STOP** planning until valid.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Step 5 — Plan new items
|
|
61
|
+
|
|
62
|
+
For each new `BC-id`: `npx cc-codeconductor openspec plan <BC-id>`.
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## Completion
|
|
67
|
+
|
|
68
|
+
Report IDs, validate result, change folders. Tell the user to run `/cc-openspec`.
|
|
69
|
+
Apply skill `backlog`.
|
|
@@ -28,7 +28,7 @@ If `graphify-out/graph.json` exists, run `graphify query "$ARGUMENTS"`. Invoke `
|
|
|
28
28
|
|
|
29
29
|
## Step 2 — Suggest next command (orchestrator)
|
|
30
30
|
|
|
31
|
-
Recommend exactly one next slash command (`/cc:feature`, `/cc:fix`, `/cc:refactor`, `/cc:review`, `/cc:triage`, …) with a one-sentence rationale. Do not start that workflow.
|
|
31
|
+
Recommend exactly one next slash command (`/cc:feature`, `/cc:fix`, `/cc:refactor`, `/cc:review`, `/cc:backlog`, `/cc:openspec`, `/cc:triage`, …) with a one-sentence rationale. Do not start that workflow.
|
|
32
32
|
|
|
33
33
|
---
|
|
34
34
|
|
|
@@ -46,6 +46,8 @@ Use `$ARGUMENTS` BC-id or `npx cc-codeconductor openspec status` for next READY
|
|
|
46
46
|
|
|
47
47
|
Run `npx cc-codeconductor openspec plan <BC-id>`. Show TaskCards and `openspec/changes/` path.
|
|
48
48
|
|
|
49
|
+
Drive status with CLI (do not edit openspec-state.json): `openspec start <cardId>`, `openspec done <cardId>`, `openspec block <cardId> --reason "…"`, `openspec archive <itemId>`.
|
|
50
|
+
|
|
49
51
|
---
|
|
50
52
|
|
|
51
53
|
## Step 4 — Execute loop
|
|
@@ -70,6 +72,6 @@ Reviewer approves or rejects against acceptance criteria. Reject → `IN_PROGRES
|
|
|
70
72
|
|
|
71
73
|
## Step 6 — Update
|
|
72
74
|
|
|
73
|
-
Mark DONE
|
|
75
|
+
Mark DONE with `openspec archive <itemId>` (all cards must be done), then run `openspec scan`.
|
|
74
76
|
|
|
75
77
|
Apply skill `openspec` for format and state rules.
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cc-security
|
|
3
|
+
description: >
|
|
4
|
+
Run the authorized defensive security workflow — domain security-* skills,
|
|
5
|
+
authorization gate, risk-based routing, hardening, and review.
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Defensive Security Workflow
|
|
9
|
+
|
|
10
|
+
Security objective: $ARGUMENTS
|
|
11
|
+
|
|
12
|
+
Provide the following information in $ARGUMENTS:
|
|
13
|
+
|
|
14
|
+
- What must be reviewed or hardened, and why
|
|
15
|
+
- Domain: a `security-*` skill id (recon, vuln-assessment, web, cloud, IR,
|
|
16
|
+
hunting, GRC, …) or `web-app` / `api` / `cloud-config` /
|
|
17
|
+
`dependency-supply-chain` / `secrets`
|
|
18
|
+
- Authorization: who authorized this work on this target, and the scope boundary
|
|
19
|
+
- Risk classification (`low`, `medium`, or `high`), if known
|
|
20
|
+
- Scope: which files, modules, repos, or environments are in and out of bounds
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## Scope and authorization
|
|
25
|
+
|
|
26
|
+
This workflow performs **authorized defensive security work only**: threat
|
|
27
|
+
modeling, hardening, secure configuration, dependency and supply-chain review,
|
|
28
|
+
secret hygiene, and detection coverage.
|
|
29
|
+
|
|
30
|
+
Refuse outright and offer the defensive equivalent instead (threat model,
|
|
31
|
+
hardening, detection coverage, dependency audit):
|
|
32
|
+
|
|
33
|
+
- Exploit or proof-of-concept development
|
|
34
|
+
- Malware authoring, or malware analysis intended for reuse
|
|
35
|
+
- Reverse engineering aimed at bypassing a control
|
|
36
|
+
- Red-team playbooks
|
|
37
|
+
- Any unauthorized-access procedure
|
|
38
|
+
|
|
39
|
+
Scope is limited to the repository under analysis. Do not scan, probe, or
|
|
40
|
+
perform reconnaissance against third-party hosts.
|
|
41
|
+
|
|
42
|
+
Do not proceed without an authorization statement. Do not produce exploit
|
|
43
|
+
payloads, malware, or attack procedures.
|
|
44
|
+
|
|
45
|
+
---
|
|
46
|
+
|
|
47
|
+
## Step 0 — CCEP Bootstrap
|
|
48
|
+
|
|
49
|
+
Command: `security` (fixed for this workflow — do not infer from user text)
|
|
50
|
+
|
|
51
|
+
1. Run: `npx cc-codeconductor ccep parse --command security "$ARGUMENTS" --output json`
|
|
52
|
+
2. Run: `npx cc-codeconductor ccep resolve --command security "$ARGUMENTS" --output json`
|
|
53
|
+
3. Run: `npx cc-codeconductor ccep profile security --output json`
|
|
54
|
+
4. After planner/intake JSON is available, run: `npx cc-codeconductor ccep evaluate --command security --input <planner.json> --output json`. If `stop` is true, show questions or risks and wait for human input.
|
|
55
|
+
5. Delegate to subagents using compiled CCEP prompts — never forward raw `$ARGUMENTS` to planners.
|
|
56
|
+
Canonical delivery order is test-before-implement whenever both phases apply.
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## Step 1 — Wayfinding (repo-explorer)
|
|
61
|
+
|
|
62
|
+
If `graphify-out/graph.json` exists, run `graphify query "$ARGUMENTS"` (and
|
|
63
|
+
`graphify path` / `graphify explain` when needed). Then invoke `repo-explorer`
|
|
64
|
+
to map modules, conventions, and impact radius. Do not write code in this step.
|
|
65
|
+
Record a Repo Map artifact before intake. Load the matching `security-*` skill
|
|
66
|
+
for the named domain (see `.claude/skills/security-*/SKILL.md`). Keep the OWASP
|
|
67
|
+
`security` skill for application-security reviews.
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## Step 2 — Task Card validation (task-coach)
|
|
72
|
+
|
|
73
|
+
Invoke `task-coach` with the security objective above.
|
|
74
|
+
|
|
75
|
+
task-coach must produce a Task Card that includes:
|
|
76
|
+
|
|
77
|
+
- Objective: what must be reviewed or hardened, in one sentence
|
|
78
|
+
- Domain: which `security-*` skill applies, or `web-app` / `api` /
|
|
79
|
+
`cloud-config` / `dependency-supply-chain` / `secrets`
|
|
80
|
+
- Authorization: who authorized this work on this target, and the scope boundary
|
|
81
|
+
- Risk classification: `low`, `medium`, or `high`
|
|
82
|
+
- Scope: which files or modules are likely affected
|
|
83
|
+
|
|
84
|
+
If authorization is absent, unclear, or names a system the requester does not
|
|
85
|
+
own or operate, **STOP and refuse. Do not route the task.**
|
|
86
|
+
|
|
87
|
+
Redact secrets, tokens, and credentials from any evidence before it enters the
|
|
88
|
+
Task Card. Summarize logs; do not paste env files.
|
|
89
|
+
|
|
90
|
+
**STOP here. Show the Task Card and wait for human confirmation.**
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Step 3 — Route by risk
|
|
95
|
+
|
|
96
|
+
Read the risk field from the Task Card and follow the corresponding route.
|
|
97
|
+
|
|
98
|
+
### Low-risk route
|
|
99
|
+
|
|
100
|
+
Applies when: the weakness is isolated, not exploitable in the current
|
|
101
|
+
configuration, and no authentication, secret, or dependency boundary is
|
|
102
|
+
involved.
|
|
103
|
+
|
|
104
|
+
Route: `task-coach` → `tester` → `implementer`
|
|
105
|
+
|
|
106
|
+
Proceed directly to Step 4 (tests), then Step 5a.
|
|
107
|
+
|
|
108
|
+
### Medium or high-risk route
|
|
109
|
+
|
|
110
|
+
Applies when: the work touches authentication, authorization, secrets,
|
|
111
|
+
cryptography, trust-boundary input validation, or a dependency upgrade.
|
|
112
|
+
|
|
113
|
+
Route: `task-coach` → `architect` → `tester` → `implementer` → `reviewer`
|
|
114
|
+
|
|
115
|
+
Invoke `architect` before implementation. architect must:
|
|
116
|
+
|
|
117
|
+
- Identify the weakness and the affected trust boundary
|
|
118
|
+
- Define the hardening approach and affected files
|
|
119
|
+
- Flag any regression risk to adjacent components
|
|
120
|
+
- Produce a Technical Plan
|
|
121
|
+
|
|
122
|
+
On **high** risk, also invoke `security-reviewer` before Reviewer.
|
|
123
|
+
|
|
124
|
+
**STOP here if high-risk. Show the Technical Plan and wait for human approval
|
|
125
|
+
before continuing.**
|
|
126
|
+
|
|
127
|
+
---
|
|
128
|
+
|
|
129
|
+
## Step 4 — Tests (tester)
|
|
130
|
+
|
|
131
|
+
Invoke `tester` for all risk levels.
|
|
132
|
+
|
|
133
|
+
tester must:
|
|
134
|
+
|
|
135
|
+
1. Write a regression test that proves the weakness exists and confirm it fails
|
|
136
|
+
before any change (RED)
|
|
137
|
+
2. Verify that existing tests still pass
|
|
138
|
+
3. Produce a Coverage Summary: test added, case covered
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Step 5a — Implementation, low-risk (implementer)
|
|
143
|
+
|
|
144
|
+
Invoke `implementer` with the Task Card.
|
|
145
|
+
Implementer creates a Git Worktree before touching any file; all edits happen inside it.
|
|
146
|
+
|
|
147
|
+
implementer must:
|
|
148
|
+
|
|
149
|
+
1. Apply the minimal hardening change — no unrelated changes
|
|
150
|
+
2. Run the suite and make the RED regression test pass
|
|
151
|
+
3. Produce an Implementation Summary: weakness, change applied, files changed
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## Step 5b — Implementation, medium/high-risk (implementer)
|
|
156
|
+
|
|
157
|
+
Invoke `implementer` with the approved Technical Plan and the Task Card.
|
|
158
|
+
Implementer creates a Git Worktree before touching any file; all edits happen inside it.
|
|
159
|
+
|
|
160
|
+
implementer must follow the plan exactly. Any deviation requires a new Technical
|
|
161
|
+
Plan approval. After implementation, run the full test suite. No exploit code.
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Step 6 — Review (Reviewer role) — medium/high-risk only
|
|
166
|
+
|
|
167
|
+
Invoke `reviewer` with the diff and Task Card. The Reviewer must apply the OWASP
|
|
168
|
+
rules in the `security` skill.
|
|
169
|
+
|
|
170
|
+
reviewer produces a Review Report with CRITICAL / WARNING / SUGGESTION findings.
|
|
171
|
+
If any CRITICAL findings exist, **STOP**. Do not close the task until they are
|
|
172
|
+
resolved.
|
|
173
|
+
|
|
174
|
+
---
|
|
175
|
+
|
|
176
|
+
## Completion
|
|
177
|
+
|
|
178
|
+
Report: Task Card, Implementation Summary, regression test added, Review Report
|
|
179
|
+
(if applicable). The task is complete only when: the regression test passes, the
|
|
180
|
+
full suite passes, and no CRITICAL review findings remain.
|
package/presets/claude/CLAUDE.md
CHANGED
|
@@ -738,6 +738,10 @@ apply `.claude/skills/php-pro/SKILL.md`.
|
|
|
738
738
|
When the active task touches backend security, authorization, or data verification,
|
|
739
739
|
apply `.claude/skills/security/SKILL.md`.
|
|
740
740
|
|
|
741
|
+
When the active task is authorized security work (recon, assessment, IR, hunting,
|
|
742
|
+
or a named domain), apply the matching `.claude/skills/security-*` skill (for example
|
|
743
|
+
`.claude/skills/security-web/SKILL.md`) and run `/cc-security`.
|
|
744
|
+
|
|
741
745
|
When the active task requires debugging frontend interactions or accessibility (a11y) checks,
|
|
742
746
|
apply `.claude/skills/a11y-debugging/SKILL.md` and `.claude/skills/modern-web-guidance/SKILL.md`.
|
|
743
747
|
|
|
@@ -36,10 +36,11 @@ The catalog is only:
|
|
|
36
36
|
| `/cc:refactor` | structure, no behavior change |
|
|
37
37
|
| `/cc:review` | inspect a diff/PR |
|
|
38
38
|
| `/cc:tdd-cycle` | red → green → refactor |
|
|
39
|
+
| `/cc:backlog` | create or append BACKLOG.md / objectives |
|
|
39
40
|
| `/cc:openspec` | BACKLOG / BC-xxx delivery |
|
|
40
41
|
|
|
41
42
|
If the CLI is unavailable, apply the same catalog and the same priority:
|
|
42
|
-
openspec → tdd-cycle → review → refactor → fix → feature (default).
|
|
43
|
+
backlog (author) vs openspec (deliver) → tdd-cycle → review → refactor → fix → feature (default).
|
|
43
44
|
|
|
44
45
|
---
|
|
45
46
|
|