codeguard-0-file-handling-and-uploads Cursor ruleA

codeguard-0-file-handling-and-uploads 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-file-handling-and-uploads.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-file-handling-and-uploads.mdc
Versions recorded
2
Latest version
v1.5.0, committed Oct 12, 2026
First version recorded
Oct 19, 2025
Size
3,596 bytes
Repository stars
251
License
BSD-3-Clause

Secure file handling & uploads (validation, storage isolation, scanning, safe delivery).

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-file-handling-and-uploads

## File Upload Security Guidelines

This rule advises on secure file upload practices to prevent malicious file attacks and protect system integrity:

- Extension Validation
  - List allowed extensions only for business-critical functionality.
  - Ensure input validation is applied before validating extensions.
  - Avoid double extensions (e.g., `.jpg.php`) and null byte injection (e.g., `.php%00.jpg`).
  - Use allowlist approach rather than denylist for file extensions.
  - Validate extensions after decoding filename to prevent bypass attempts.

- Content Type and File Signature Validation
  - Never trust client-supplied Content-Type headers as they can be spoofed.
  - Validate file signatures (magic numbers) in conjunction with Content-Type checking.
  - Implement allowlist approach for MIME types as a quick protection layer.
  - Use file signature validation but not as a standalone security measure.

- Filename Security
  - Generate random filenames (UUID/GUID) instead of using user-supplied names.
  - If user filenames required, implement maximum length limits.
…

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-file-handling-and-uploads.mdc@sha256:70ee72c0cf3135f6

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_rnkl5vso76dlbpth.svg)](https://markdownregistry.com/a/art_rnkl5vso76dlbpth)

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

Versions

The registry has recorded 2 versions of this file, between Oct 19, 2025 and Oct 12, 2026, about one every 358 days.

versioncommittedcommitsizeaudit
v1.5.0 latest2026-10-12 227a2b6 3,596 BA view · diff
v1.0.02025-10-19 52abd04 3,598 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 (3596 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_rnkl5vso76dlbpth
GET https://markdownregistry.com/api/v1/resolve?ref=santosomar/ai-agents-for-cybersecurity/.cursor/rules/codeguard-0-file-handling-and-uploads.mdc
GET https://markdownregistry.com/api/v1/blob/70ee72c0cf3135f6681442c025ef5cb16a71f9535ae61d9cb95bf903d9cb02e8

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-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
codeguard-0-iac-security Cursor rule
santosomar/ai-agents-for-cybersecurity · .cursor/rules/codeguard-0-iac-security.mdc · Infrastructure as Code Security
v1.5.0 · audit A · 251 stars

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

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