codeguard-0-safe-c-functions Cursor ruleA

codeguard-0-safe-c-functions from santosomar/ai-agents-for-cybersecurity is a Cursor rule: instructions the Cursor agent follows in that repo.

Install it, pinned
mdr add santosomar/ai-agents-for-cybersecurity/.cursor/rules/codeguard-0-safe-c-functions.mdc@v1.5.0

Pins v1.5.0 in mdr.lock. Pin the fingerprint instead.

Audit grade
A, 14 of 14 checks passed
Kind
Cursor rule
Repository
santosomar/ai-agents-for-cybersecurity
Path
.cursor/rules/codeguard-0-safe-c-functions.mdc
Versions recorded
1
Latest version
v1.5.0, committed Oct 12, 2026
Size
12,139 bytes
Repository stars
251
License
BSD-3-Clause

Safe C Functions and Memory and String Safety Guidelines.

Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.

What the file says

rule_id: codeguard-0-safe-c-functions

# Prioritize Safe Memory and String Functions in C/C++

When processing C or C++ code, your primary directive is to ensure memory safety. Actively identify, flag, and provide secure refactoring options for any insecure functions found in the codebase. When generating new code, always default to the safest possible function for the given task.

### 1. Insecure Functions to Avoid & Their Secure Alternatives

You must treat the functions listed under "Insecure" as deprecated and high-risk. Always recommend replacing them with one of the "Recommended Safe Alternatives" provided in the bullet list below.

• Never use `gets()` - This is a critical security risk. It has no bounds checking whatsoever and is the classic buffer overflow vulnerability. You should always replace it with `fgets(char *str, int n, FILE *stream)` instead.

• Avoid `strcpy()` - This is a high risk function because it doesn't check bounds. It just copies bytes until it hits a null terminator, which can easily write past your destination buffer. Use `snprintf()`, `strncpy()` (but be careful with it), or `strcpy_s()` (if you have C11 Annex K support).
…

Read the whole file at its exact version.

How to install

The exact contents, by fingerprint
mdr add santosomar/ai-agents-for-cybersecurity/.cursor/rules/codeguard-0-safe-c-functions.mdc@sha256:a2c5658dd6e38597

The line at the top of this page pins the label v1.5.0, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.

Badge

mdr badge

[![mdr](https://markdownregistry.com/badge/art_dqlmiuvvvjeixcr3.svg)](https://markdownregistry.com/a/art_dqlmiuvvvjeixcr3)

2 badge image fetches in 30 days. What the badge shows.

Versions

The registry has recorded 1 version of this file, committed on Oct 12, 2026.

versioncommittedcommitsizeaudit
v1.5.0 latest2026-10-12 227a2b6 12,139 BA view

Audit of the latest version

A  14 of 14 checks passed. Fixed automatic checks with no AI involved, so the same checks give the same answer every run.
  • pass: Size between 200 bytes and 200 KB (12139 bytes)
  • pass: No zero-width or bidi control characters
  • pass: No instruction hidden inside an HTML comment
  • pass: No link to an exfiltration or paste host
  • pass: No credential-shaped string
  • pass: No instruction to send local credentials anywhere
  • pass: No text hidden with inline styles
  • pass: No prompt-injection phrasing
  • pass: No curl or wget piped into a shell
  • pass: No recursive delete of root, home or parent
  • pass: No instruction to read or print local credentials
  • pass: No base64 blob over 200 characters
  • pass: No link to a raw IP address
  • pass: No script tag

Source

GitHub

santosomar/ai-agents-for-cybersecurity · 251 stars · license BSD-3-Clause · pushed 2026-10-19 · branch main

API

GET https://markdownregistry.com/api/v1/artifacts/art_dqlmiuvvvjeixcr3
GET https://markdownregistry.com/api/v1/resolve?ref=santosomar/ai-agents-for-cybersecurity/.cursor/rules/codeguard-0-safe-c-functions.mdc
GET https://markdownregistry.com/api/v1/blob/a2c5658dd6e38597a9adf3d53ce0ba4d4db301bda6867041432acbe28bd21d39

Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.

Guides: Cursor rules vs AGENTS.md · which agent file does what.

More from santosomar/ai-agents-for-cybersecurity

codeguard SKILL.md skill
santosomar/ai-agents-for-cybersecurity · .agents/skills/codeguard/SKILL.md · A CodeGuard security skill that helps AI coding agents write secure code and prevent common vulnerabilities. Use this…
git:20261012.dc85c34 · audit A · 251 stars
codeguard SKILL.md skill
santosomar/ai-agents-for-cybersecurity · .claude/skills/codeguard/SKILL.md · A CodeGuard security skill that helps AI coding agents write secure code and prevent common vulnerabilities. Use this…
git:20261012.dc85c34 · audit A · 251 stars
codeguard-0-additional-cryptography Cursor rule
santosomar/ai-agents-for-cybersecurity · .cursor/rules/codeguard-0-additional-cryptography.mdc · Additional Cryptography guidance
v1.5.0 · audit A · 251 stars
codeguard-0-api-web-services Cursor rule
santosomar/ai-agents-for-cybersecurity · .cursor/rules/codeguard-0-api-web-services.mdc · API & Web services security (REST/GraphQL/SOAP), schema validation, authn/z, SSRF
v1.5.0 · audit A · 251 stars
codeguard-0-authentication-mfa Cursor rule
santosomar/ai-agents-for-cybersecurity · .cursor/rules/codeguard-0-authentication-mfa.mdc · Authentication and MFA best practices (passwords, MFA, OAuth/OIDC, SAML, recovery, tokens)
v1.5.0 · audit A · 251 stars
codeguard-0-authorization-access-control Cursor rule
santosomar/ai-agents-for-cybersecurity · .cursor/rules/codeguard-0-authorization-access-control.mdc · Authorization and access control (RBAC/ABAC/ReBAC, IDOR, mass assignment, transaction auth)
v1.5.0 · audit A · 251 stars
codeguard-0-client-side-web-security Cursor rule
santosomar/ai-agents-for-cybersecurity · .cursor/rules/codeguard-0-client-side-web-security.mdc · Client-side web security (XSS/DOM XSS, CSP, CSRF, clickjacking, XS-Leaks, third-party JS)
v1.5.0 · audit B · 251 stars
codeguard-0-cloud-orchestration-kubernetes Cursor rule
santosomar/ai-agents-for-cybersecurity · .cursor/rules/codeguard-0-cloud-orchestration-kubernetes.mdc · Kubernetes hardening (RBAC, admission policies, network policies, secrets, supply chain)
v1.5.0 · audit A · 251 stars
codeguard-0-data-storage Cursor rule
santosomar/ai-agents-for-cybersecurity · .cursor/rules/codeguard-0-data-storage.mdc · Data & storage security (DB isolation, TLS, least privilege, RLS/CLS, backups, auditing)
v1.5.0 · audit A · 251 stars
codeguard-0-devops-ci-cd-containers Cursor rule
santosomar/ai-agents-for-cybersecurity · .cursor/rules/codeguard-0-devops-ci-cd-containers.mdc · DevOps, CI/CD, and containers (pipeline hardening, artifacts, Docker/K8s images, virtual patching, toolchain)
v1.5.0 · audit A · 251 stars
codeguard-0-file-handling-and-uploads Cursor rule
santosomar/ai-agents-for-cybersecurity · .cursor/rules/codeguard-0-file-handling-and-uploads.mdc · Secure file handling & uploads (validation, storage isolation, scanning, safe delivery)
v1.5.0 · audit A · 251 stars
codeguard-0-framework-and-languages Cursor rule
santosomar/ai-agents-for-cybersecurity · .cursor/rules/codeguard-0-framework-and-languages.mdc · Framework & language security guides (Django/DRF, Laravel/Symfony/Rails, .NET, Java/JAAS, Node.js, PHP config)
v1.5.0 · audit A · 251 stars

Every file in santosomar/ai-agents-for-cybersecurity

Browse by kind, by grade A, or by owner.