All articles
Tutorials6 min readDecember 31, 2025
TutorialGitHubGetting StartedQuick Start

How to Scan Your GitHub Repository for Security Vulnerabilities in 5 Minutes

Step-by-step tutorial for connecting your GitHub repo and running your first security scan with ShipReady.

Security Guide

Your First Security Scan

This tutorial walks you through scanning your GitHub repository for security vulnerabilities. Total time: under 5 minutes.

Prerequisites

  • A GitHub account
  • A repository with code (any language)
  • That's it

Step 1: Sign Up (30 seconds)

  1. Go to ShipReady.dev
  2. Click "Get Started"
  3. Click "Continue with GitHub"
  4. Authorize the GitHub App

Step 2: Connect Your Repository (60 seconds)

After authorization, you'll see your repositories:

  1. Find the repository you want to scan
  2. Click "Connect"
  3. Wait for the green checkmark
What's happening: ShipReady is getting read access to analyze your code. We never modify your repository.

Step 3: Run Your First Scan

  1. Click "Scan Now" on your connected repository
  2. Watch the progress indicator
  3. Results appear when complete
What's being scanned:
  • SQL injection patterns
  • XSS vulnerabilities
  • Hardcoded secrets
  • Authentication issues
  • Authorization problems
  • Input validation gaps

Step 4: Review Results

Your scan results show:

Security Score

A 0-100 score based on:

  • Number of vulnerabilities
  • Severity distribution
  • Code patterns

Findings by Severity

SeverityMeaning
CriticalExploitable now, fix immediately
HighSerious risk, fix soon
MediumShould fix, lower urgency
LowMinor issues, fix when convenient
InfoSuggestions for improvement

Individual Findings

Each finding includes:

  • Title: What the issue is
  • File: Where it's located
  • Line: Exact line number
  • Description: Why it's a problem
  • Fix: How to resolve it

Step 5: Fix Your First Vulnerability

Let's fix a common issue: hardcoded secret.

The Finding

CRITICAL: Hardcoded API Key Detected

File: src/config/api.ts Line: 5

const API_KEY = 'sk_live_abc123xyz789'

The Fix

  1. Create environment variable:
bash
# .env.local
API_KEY=sk_live_abc123xyz789
  1. Update code:
typescript
// Before
const API_KEY = 'sk_live_abc123xyz789'

// After const API_KEY = process.env.API_KEY

  1. Add to .gitignore:
bash
# .gitignore
.env.local
  1. Commit the fix:
bash
git add .gitignore src/config/api.ts
git commit -m "Move API key to environment variable"
git push
  1. Re-scan: Click "Scan Again" to verify the fix

Understanding Common Findings

SQL Injection

javascript
// Vulnerable
const query = SELECT * FROM users WHERE id = ${userId}

// Fixed const query = 'SELECT * FROM users WHERE id = $1' await db.query(query, [userId])

Missing Authentication

javascript
// Vulnerable
app.get('/api/users', async (req, res) => {
  return db.users.findAll()
})

// Fixed app.get('/api/users', authenticate, async (req, res) => { return db.users.findAll() })

XSS Vulnerability

jsx
// Vulnerable

// Fixed

{userInput}

// Or if HTML needed: import DOMPurify from 'dompurify'

Next Steps

Enable Automatic Scanning

  1. Go to repository settings
  2. Enable "Scan on Push"
  3. Now every push triggers a scan

Set Up PR Checks

  1. Enable "PR Security Check"
  2. Configure blocking rules
  3. PRs with critical issues won't merge

Explore Security Score

  • Click on your score for breakdown
  • Track improvement over time
  • Compare across repositories

Troubleshooting

"No code found"

Your repository might be:

  • Empty
  • Only containing non-code files
  • Using an unsupported language

"Scan taking too long"

Large repositories take longer. If over 5 minutes:

  • Check repository size
  • Contact support for large repos

"GitHub permission error"

Re-authorize the GitHub App:

  1. Go to GitHub Settings
  2. Applications → Authorized OAuth Apps
  3. Revoke ShipReady
  4. Re-connect from ShipReady dashboard

Summary

✓ Connected GitHub
✓ Selected repository
✓ Ran first scan
✓ Reviewed results
✓ Fixed first issue
------------------------------------
Total: Minutes to secure code

You've completed your first security scan. Your code is now safer than 90% of AI-generated applications.

Ready to secure your AI-generated code?

Stop reading about vulnerabilities. Start fixing them.

Start Scanning Free