Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
description: API & Web services security (REST/GraphQL/SOAP), schema validation, authn/z,
SSRF
description: API & Web services security (REST/GraphQL/SOAP), schema validation, authn/z, SSRF
languages:
- c
- go
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
description: Authentication and MFA best practices (passwords, MFA, OAuth/OIDC, SAML,
recovery, tokens)
description: Authentication and MFA best practices (passwords, MFA, OAuth/OIDC, SAML, recovery, tokens)
languages:
- c
- go
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
description: Authorization and access control (RBAC/ABAC/ReBAC, IDOR, mass assignment,
transaction auth)
description: Authorization and access control (RBAC/ABAC/ReBAC, IDOR, mass assignment, transaction auth)
languages:
- c
- go
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
description: Client-side web security (XSS/DOM XSS, CSP, CSRF, clickjacking, XS-Leaks,
third-party JS)
description: Client-side web security (XSS/DOM XSS, CSP, CSRF, clickjacking, XS-Leaks, third-party JS)
languages:
- c
- html
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
description: Kubernetes hardening (RBAC, admission policies, network policies, secrets,
supply chain)
description: Kubernetes hardening (RBAC, admission policies, network policies, secrets, supply chain)
languages:
- javascript
- yaml
Expand Down
3 changes: 1 addition & 2 deletions skills/software-security/rules/codeguard-0-data-storage.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
description: Data & storage security (DB isolation, TLS, least privilege, RLS/CLS,
backups, auditing)
description: Data & storage security (DB isolation, TLS, least privilege, RLS/CLS, backups, auditing)
languages:
- c
- javascript
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
description: DevOps, CI/CD, and containers (pipeline hardening, artifacts, Docker/K8s
images, virtual patching, toolchain)
description: DevOps, CI/CD, and containers (pipeline hardening, artifacts, Docker/K8s images, virtual patching, toolchain)
languages:
- docker
- javascript
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
description: Secure file handling & uploads (validation, storage isolation, scanning,
safe delivery)
description: Secure file handling & uploads (validation, storage isolation, scanning, safe delivery)
languages:
- c
- go
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
description: Framework & language security guides (Django/DRF, Laravel/Symfony/Rails,
.NET, Java/JAAS, Node.js, PHP config)
description: Framework & language security guides (Django/DRF, Laravel/Symfony/Rails, .NET, Java/JAAS, Node.js, PHP config)
languages:
- c
- java
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
description: Input validation and injection defense (SQL/LDAP/OS), parameterization,
prototype pollution
description: Input validation and injection defense (SQL/LDAP/OS), parameterization, prototype pollution
languages:
- c
- go
Expand Down
3 changes: 1 addition & 2 deletions skills/software-security/rules/codeguard-0-logging.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
description: Logging & monitoring (structured telemetry, redaction, integrity, detection
& alerting)
description: Logging & monitoring (structured telemetry, redaction, integrity, detection & alerting)
languages:
- c
- javascript
Expand Down
3 changes: 1 addition & 2 deletions skills/software-security/rules/codeguard-0-mobile-apps.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
description: 'Mobile app security (iOS/Android): storage, transport, code integrity,
biometrics, permissions'
description: 'Mobile app security (iOS/Android): storage, transport, code integrity, biometrics, permissions'
languages:
- java
- javascript
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
description: Privacy & data protection (minimization, classification, encryption,
rights, transparency)
description: Privacy & data protection (minimization, classification, encryption, rights, transparency)
languages:
- javascript
- matlab
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
description: Session management and secure cookies (rotation, fixation, timeouts,
theft detection)
description: Session management and secure cookies (rotation, fixation, timeouts, theft detection)
languages:
- c
- go
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
description: Dependency & supply chain security (pinning, SBOM, provenance, integrity,
private registries)
description: Dependency & supply chain security (pinning, SBOM, provenance, integrity, private registries)
languages:
- docker
- javascript
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
---
description: XML security and safe deserialization (DTD/XXE hardening, schema validation,
no unsafe native deserialization)
description: XML security and safe deserialization (DTD/XXE hardening, schema validation, no unsafe native deserialization)
languages:
- c
- go
Expand Down
3 changes: 2 additions & 1 deletion src/formats/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,10 +124,11 @@ def _format_yaml_field(self, field_name: str, value: str) -> str:
Properly formatted YAML string, or empty string if value is empty
"""
if value and value.strip():
yaml_dump = yaml.dump(
yaml_dump = yaml.safe_dump(
{field_name: value},
default_flow_style=False,
allow_unicode=True,
width=float("inf")
)
return yaml_dump.strip()
return ""
8 changes: 4 additions & 4 deletions src/formats/copilot.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,10 @@ def generate(self, rule: ProcessedRule, globs: str) -> str:
# Add applyTo (Copilot's equivalent of globs)
yaml_lines.append(f"applyTo: '{globs}'")

# Add title
title = self._format_yaml_field("title", rule.description)
if title:
yaml_lines.append(title)
# Add description
description = self._format_yaml_field("description", rule.description)
if description:
yaml_lines.append(description)

# Add version
yaml_lines.append(f"version: {self.version}")
Expand Down
Loading