Cloud Security Office Hours Banner

๐Ÿ“š How to Add a Cloud Security Resource

A beginner-friendly guide for sharing resources with 2000+ cloud security professionals

Get Started Other Contributions

๐Ÿ“– What You'll Learn

  1. Understanding what you're doing
  2. Finding and preparing your resource
  3. Adding it to the website
  4. Creating a pull request
  5. Getting your resource published

โฑ๏ธ Time needed: ~10-15 minutes for your first contribution

โœจ Good news: You don't need to be a programmer. You just need to find a cool resource, copy and paste some text, and follow a few simple steps.
Fastest option: Run the interactive script below to add a resource automatically.
python3 tools/submit_resource.py

See the full script guide โ†’

Common errors (and quick fixes):

๐ŸŽฏ What is a Resource?

A resource is anything that helps cloud security professionals learn, practice, or advance their careers. Examples:

๐Ÿš€ Quick Start: Add a Resource in 5 Steps

1

Gather Your Resource Info

Before you do anything technical, write down these details about your resource:

Name: [e.g., "CloudGoat"] URL: [e.g., "https://github.com/RhinoSecurityLabs/cloudgoat"] Description: [1-2 sentences explaining what it is and why it's useful] Tags: [Select from the list below] Category: [Pick one main category]

Example:

Name: OWASP EKS Goat URL: https://github.com/OWASP/www-project-eks-goat Description: Intentionally vulnerable AWS EKS environment with 20+ attack-defense labs simulating real-world misconfigurations and IAM flaws. Tags: CTF, Labs & Training, AWS, Kubernetes Category: CTF Challenges
2

Pick Your Tags

Tags help people find resources. Pick 2-5 tags from this list:

Resource Types:

CTF Labs & Training Tool Certification Job Search

Cloud Platforms:

AWS Azure GCP Kubernetes Multi-Cloud

Security Focus:

Vulnerability Testing Penetration Testing Cloud Scanning Secrets Management Compliance AI Security IAM DevSecOps

Other:

NEW 2026 Free Paid Open Source
3

Get a Preview Image (Optional)

Preview images are the small screenshot shown for each resource. They're optionalโ€”the site works without them!

Easy option: Just skip this step! The website will automatically generate thumbnails.

Better option: Provide a custom preview image:

  • Take a screenshot of the resource's homepage
  • Save it as a JPG file (about 150KB or smaller)
  • Name it something clear, like: cloudgoat-preview.jpg
4

Edit the Resources HTML File

Don't be scared! HTML is just text with special labels. Here's what you need to do:

  1. Go to resources.html on GitHub
  2. Find the section for your resource's category
  3. Copy an existing resource card (we'll show you how)
  4. Paste it and change the details

Here's what a resource card looks like:

<a href="PASTE_YOUR_URL_HERE" class="card-link" target="_blank" rel="noopener noreferrer"> <div class="resource-card"> <h3>Your Resource Name</h3> <p>Your description (1-2 sentences)</p> <div class="resource-tags"> <span class="tag ctf">CTF</span> <span class="tag">AWS</span> </div> </div> </a>

What to change:

  • PASTE_YOUR_URL_HERE โ†’ Your resource's URL
  • Your Resource Name โ†’ The actual name
  • Your description... โ†’ What you wrote in Step 1
  • The <span class="tag"> lines โ†’ Your tags

Tag styling: Some tags have special colors:

  • <span class="tag ctf"> = CTF (teal)
  • <span class="tag tool"> = Tool (purple)
  • <span class="tag lab"> = Lab/Training (green)
  • <span class="tag ai-security"> = AI Security (orange)
  • <span class="tag certification"> = Certification (blue)
  • <span class="tag job"> = Job Search (pink)
  • <span class="tag"> = Regular tag (gray)
๐Ÿ’ก Don't worry about images yet! The site will handle that automatically. If you want to add a custom preview image, see Step 5.
5

Add a Preview Image (Optional)

If you took a screenshot in Step 3, follow these sub-steps:

5a. Upload Your Image

  1. Go to the img/previews/ folder on GitHub
  2. Click "Add file" โ†’ "Upload files"
  3. Drag/drop your screenshot
  4. Write a commit message: "Add preview image for [Resource Name]"
  5. Click "Commit changes"

5b. Edit preview-mapping.json

  1. Open preview-mapping.json
  2. Click the pencil icon to edit
  3. Find this section and add a new line:
{ "https://your-resource-url.com": "img/previews/your-preview-image.jpg", "https://another-resource.com": "img/previews/another-preview.jpg" }
  1. Scroll down and click "Commit changes"

๐Ÿด Creating a Pull Request (GitHub)

What's a pull request? It's how you ask a project to accept your changes. Think of it as raising your hand in class to share something.

Beginner-Friendly Method: GitHub's Web Interface

You don't need to install anything or learn command-line. Here's the easiest way:

Step A: Fork the Repository

  1. Go to github.com/CloudSecurityOfficeHours/csoh.org
  2. Click the "Fork" button (top-right corner)
  3. This creates your own copy of the project

Step B: Edit the Files

  1. In your fork, click on resources.html
  2. Click the pencil icon โœ๏ธ to edit
  3. Find where you want to add your resource (scroll to the right category section)
  4. Paste your resource card (see Step 4 above)
  5. Scroll down and click "Commit changes"
  6. Add a message like: "Add [Resource Name] to resources"
  7. Click "Commit changes" again

Repeat for preview-mapping.json if you have a custom preview image.

Step C: Create the Pull Request

  1. Go back to your fork homepage
  2. You'll see a yellow banner saying "This branch is ahead of CloudSecurityOfficeHours:main"
  3. Click the "Contribute" button โ†’ "Open pull request"
  4. Add a title: "Add [Resource Name]"
  5. Add a description:
**Resource:** [Name] **URL:** [Link] **Category:** [Category] This resource teaches [what it teaches]. It would be great for people learning about [what topic].
  1. Click "Create pull request"
That's it! The maintainers will review your contribution.

โ“ Frequently Asked Questions

Q: Do I need to be a developer to contribute?

A: No! This guide is specifically designed for non-technical people. You just need to copy/paste and follow instructions.

Q: What if I make a mistake?

A: No problem! That's why pull requests exist. You can edit your PR before it's merged, and maintainers can help fix issues.

Q: How long until my resource is published?

A: Usually within a few days. Maintainers review every contribution.

Q: Can I add multiple resources at once?

A: Yes! But start with one to get comfortable with the process.

Q: What if the preview image doesn't show?

A: That's okay! The website will auto-generate a thumbnail. You can always improve it later.

Q: What makes a "good" resource?

A: Anything that helps cloud security professionals learn, practice, or advance their careers. Our community votes with their clicks!

๐Ÿ’ก Pro Tips

๐Ÿ“ž Need Help?

๐ŸŽ‰ Ready to Add Your First Resource?

Start with Step 1 above!

By adding a resource, you're helping grow the cloud security community. Every contribution matters.