From 9a520955a553035049189f2c398ea725277aff0d Mon Sep 17 00:00:00 2001 From: Justin Date: Mon, 27 Oct 2025 12:25:29 -0700 Subject: [PATCH 1/3] Change 'title' to 'description' and remove newlines from description. --- src/formats/copilot.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/formats/copilot.py b/src/formats/copilot.py index 067bb62..bfe2cb0 100644 --- a/src/formats/copilot.py +++ b/src/formats/copilot.py @@ -49,10 +49,11 @@ 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) + description = description.replace('\n', '') + if description: + yaml_lines.append(description) # Add version yaml_lines.append(f"version: {self.version}") From 202f653c6a9772eb8f3d038ba2cdd8d7abdbead1 Mon Sep 17 00:00:00 2001 From: Justin Date: Mon, 27 Oct 2025 12:38:26 -0700 Subject: [PATCH 2/3] Use `yaml.safe_dump` just to be safe --- src/formats/base.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/formats/base.py b/src/formats/base.py index b9a92b6..2fbdd77 100644 --- a/src/formats/base.py +++ b/src/formats/base.py @@ -124,7 +124,7 @@ 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, From c1b7a1eca7dce0986b202eb7ec55c0c6fee4525a Mon Sep 17 00:00:00 2001 From: Justin Date: Mon, 27 Oct 2025 12:51:47 -0700 Subject: [PATCH 3/3] More elgant solution and resulting rule changes --- skills/software-security/rules/codeguard-0-api-web-services.md | 3 +-- .../software-security/rules/codeguard-0-authentication-mfa.md | 3 +-- .../rules/codeguard-0-authorization-access-control.md | 3 +-- .../rules/codeguard-0-client-side-web-security.md | 3 +-- .../rules/codeguard-0-cloud-orchestration-kubernetes.md | 3 +-- skills/software-security/rules/codeguard-0-data-storage.md | 3 +-- .../rules/codeguard-0-devops-ci-cd-containers.md | 3 +-- .../rules/codeguard-0-file-handling-and-uploads.md | 3 +-- .../rules/codeguard-0-framework-and-languages.md | 3 +-- .../rules/codeguard-0-input-validation-injection.md | 3 +-- skills/software-security/rules/codeguard-0-logging.md | 3 +-- skills/software-security/rules/codeguard-0-mobile-apps.md | 3 +-- .../rules/codeguard-0-privacy-data-protection.md | 3 +-- .../rules/codeguard-0-session-management-and-cookies.md | 3 +-- .../rules/codeguard-0-supply-chain-security.md | 3 +-- .../rules/codeguard-0-xml-and-serialization.md | 3 +-- src/formats/base.py | 1 + src/formats/copilot.py | 1 - 18 files changed, 17 insertions(+), 33 deletions(-) diff --git a/skills/software-security/rules/codeguard-0-api-web-services.md b/skills/software-security/rules/codeguard-0-api-web-services.md index 7e8a188..73ed291 100644 --- a/skills/software-security/rules/codeguard-0-api-web-services.md +++ b/skills/software-security/rules/codeguard-0-api-web-services.md @@ -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 diff --git a/skills/software-security/rules/codeguard-0-authentication-mfa.md b/skills/software-security/rules/codeguard-0-authentication-mfa.md index 53201bf..9be5d6c 100644 --- a/skills/software-security/rules/codeguard-0-authentication-mfa.md +++ b/skills/software-security/rules/codeguard-0-authentication-mfa.md @@ -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 diff --git a/skills/software-security/rules/codeguard-0-authorization-access-control.md b/skills/software-security/rules/codeguard-0-authorization-access-control.md index 9fee91d..828ce1a 100644 --- a/skills/software-security/rules/codeguard-0-authorization-access-control.md +++ b/skills/software-security/rules/codeguard-0-authorization-access-control.md @@ -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 diff --git a/skills/software-security/rules/codeguard-0-client-side-web-security.md b/skills/software-security/rules/codeguard-0-client-side-web-security.md index b49a5bf..207566f 100644 --- a/skills/software-security/rules/codeguard-0-client-side-web-security.md +++ b/skills/software-security/rules/codeguard-0-client-side-web-security.md @@ -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 diff --git a/skills/software-security/rules/codeguard-0-cloud-orchestration-kubernetes.md b/skills/software-security/rules/codeguard-0-cloud-orchestration-kubernetes.md index 4527de4..4e45e1b 100644 --- a/skills/software-security/rules/codeguard-0-cloud-orchestration-kubernetes.md +++ b/skills/software-security/rules/codeguard-0-cloud-orchestration-kubernetes.md @@ -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 diff --git a/skills/software-security/rules/codeguard-0-data-storage.md b/skills/software-security/rules/codeguard-0-data-storage.md index 4df19cc..24bcb24 100644 --- a/skills/software-security/rules/codeguard-0-data-storage.md +++ b/skills/software-security/rules/codeguard-0-data-storage.md @@ -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 diff --git a/skills/software-security/rules/codeguard-0-devops-ci-cd-containers.md b/skills/software-security/rules/codeguard-0-devops-ci-cd-containers.md index 01cf39d..205dcff 100644 --- a/skills/software-security/rules/codeguard-0-devops-ci-cd-containers.md +++ b/skills/software-security/rules/codeguard-0-devops-ci-cd-containers.md @@ -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 diff --git a/skills/software-security/rules/codeguard-0-file-handling-and-uploads.md b/skills/software-security/rules/codeguard-0-file-handling-and-uploads.md index 3c6277c..0f5f781 100644 --- a/skills/software-security/rules/codeguard-0-file-handling-and-uploads.md +++ b/skills/software-security/rules/codeguard-0-file-handling-and-uploads.md @@ -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 diff --git a/skills/software-security/rules/codeguard-0-framework-and-languages.md b/skills/software-security/rules/codeguard-0-framework-and-languages.md index f004909..fb170eb 100644 --- a/skills/software-security/rules/codeguard-0-framework-and-languages.md +++ b/skills/software-security/rules/codeguard-0-framework-and-languages.md @@ -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 diff --git a/skills/software-security/rules/codeguard-0-input-validation-injection.md b/skills/software-security/rules/codeguard-0-input-validation-injection.md index 016badb..b7d0f5c 100644 --- a/skills/software-security/rules/codeguard-0-input-validation-injection.md +++ b/skills/software-security/rules/codeguard-0-input-validation-injection.md @@ -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 diff --git a/skills/software-security/rules/codeguard-0-logging.md b/skills/software-security/rules/codeguard-0-logging.md index 48322e5..aca7ccf 100644 --- a/skills/software-security/rules/codeguard-0-logging.md +++ b/skills/software-security/rules/codeguard-0-logging.md @@ -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 diff --git a/skills/software-security/rules/codeguard-0-mobile-apps.md b/skills/software-security/rules/codeguard-0-mobile-apps.md index b100ca2..aacc06b 100644 --- a/skills/software-security/rules/codeguard-0-mobile-apps.md +++ b/skills/software-security/rules/codeguard-0-mobile-apps.md @@ -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 diff --git a/skills/software-security/rules/codeguard-0-privacy-data-protection.md b/skills/software-security/rules/codeguard-0-privacy-data-protection.md index dd2cf2e..fc9a18b 100644 --- a/skills/software-security/rules/codeguard-0-privacy-data-protection.md +++ b/skills/software-security/rules/codeguard-0-privacy-data-protection.md @@ -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 diff --git a/skills/software-security/rules/codeguard-0-session-management-and-cookies.md b/skills/software-security/rules/codeguard-0-session-management-and-cookies.md index 34f4905..aee07ec 100644 --- a/skills/software-security/rules/codeguard-0-session-management-and-cookies.md +++ b/skills/software-security/rules/codeguard-0-session-management-and-cookies.md @@ -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 diff --git a/skills/software-security/rules/codeguard-0-supply-chain-security.md b/skills/software-security/rules/codeguard-0-supply-chain-security.md index cd87ea4..604c4e6 100644 --- a/skills/software-security/rules/codeguard-0-supply-chain-security.md +++ b/skills/software-security/rules/codeguard-0-supply-chain-security.md @@ -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 diff --git a/skills/software-security/rules/codeguard-0-xml-and-serialization.md b/skills/software-security/rules/codeguard-0-xml-and-serialization.md index bb187ef..055c065 100644 --- a/skills/software-security/rules/codeguard-0-xml-and-serialization.md +++ b/skills/software-security/rules/codeguard-0-xml-and-serialization.md @@ -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 diff --git a/src/formats/base.py b/src/formats/base.py index 2fbdd77..5af8732 100644 --- a/src/formats/base.py +++ b/src/formats/base.py @@ -128,6 +128,7 @@ def _format_yaml_field(self, field_name: str, value: str) -> str: {field_name: value}, default_flow_style=False, allow_unicode=True, + width=float("inf") ) return yaml_dump.strip() return "" diff --git a/src/formats/copilot.py b/src/formats/copilot.py index bfe2cb0..801db2b 100644 --- a/src/formats/copilot.py +++ b/src/formats/copilot.py @@ -51,7 +51,6 @@ def generate(self, rule: ProcessedRule, globs: str) -> str: # Add description description = self._format_yaml_field("description", rule.description) - description = description.replace('\n', '') if description: yaml_lines.append(description)