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 b9a92b6..5af8732 100644 --- a/src/formats/base.py +++ b/src/formats/base.py @@ -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 "" diff --git a/src/formats/copilot.py b/src/formats/copilot.py index 067bb62..801db2b 100644 --- a/src/formats/copilot.py +++ b/src/formats/copilot.py @@ -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}")