Install
$ agentstack add skill-jmstar85-oh-my-githubcopilot-security-scan ✓ scanned · ✓ verified — works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ● Environment & secrets Used
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
About
Security Scan
Rapid security sweep for code changes. Faster than a full /review — focused on security only.
When to Use
- Before committing code that touches auth, user input, data storage, or external APIs
- After adding new dependencies
- Quick pre-PR security gate
Scan Protocol
Step 1: Determine Scope
# Default: scan recent changes
git diff --name-only HEAD~1
# Or use provided path
Step 2: Secrets Scan
# Scan for common secret patterns
grep -rn --include="*.{ts,js,py,go,rs,java,cs,yaml,json,env,sh,toml}" \
-e "sk-[A-Za-z0-9]\{32,\}" \
-e "ghp_[A-Za-z0-9]\{36\}" \
-e "AKIA[0-9A-Z]\{16\}" \
-e "api.key\s*=\s*['\"][^'\"]\{8,\}" \
-e "password\s*=\s*['\"][^'\"]\{4,\}" \
-e "secret\s*=\s*['\"][^'\"]\{8,\}" \
.
# Check .env is in .gitignore
cat .gitignore | grep -E "\.env$|\.env\."
CRITICAL: Any match in committed code = immediate blocker.
Step 3: Dependency Audit
Run language-appropriate audit:
# Node.js
npm audit --audit-level=high
# Python
pip-audit # or: safety check
# Rust
cargo audit
# Go
govulncheck ./...
# Java/Maven
mvn dependency-check:check
Report: Count of critical/high severity CVEs and their package names.
Step 4: Input Validation Spot-Check
For changed files that handle user input (API endpoints, form handlers, CLI args):
- Is input validated/sanitized before use?
- Are SQL queries parameterized (no string concatenation)?
- Is HTML output escaped before rendering?
- Are file paths sanitized (no
../traversal)?
Step 5: Auth/Authz Quick Check
For changed files touching auth:
- Is authentication checked BEFORE authorization?
- Are authorization checks on EVERY relevant endpoint?
- Are JWT tokens validated (algorithm + signature + expiry)?
- Are session cookies
HttpOnly; Secure; SameSite=Strict?
Output Format
## Security Scan Report
**Scope:** [files scanned]
**Date:** [timestamp]
### Secrets
- [ ] No hardcoded secrets found
- ⚠ Found: [file:line — description]
### Dependencies
- Critical CVEs: X
- High CVEs: Y
- Packages: [list if any]
### Input Validation
- [ ] User inputs sanitized in changed files
- ⚠ Risk: [file:line — description]
### Auth
- [ ] Auth/authz checks present on relevant routes
- ⚠ Risk: [file:line — description]
### Verdict
CLEAN / NEEDS ATTENTION / BLOCKER
### Next Steps
- [Action items with file:line references]
Severity Quick Reference
| Finding | Severity | Action | |---------|----------|--------| | Hardcoded secret in committed file | CRITICAL | Rotate key + remove from history | | Critical CVE in direct dependency | HIGH | Update package immediately | | SQL injection risk | CRITICAL | Parameterize query before PR | | Missing auth check on endpoint | HIGH | Add before PR | | High CVE in transitive dependency | MEDIUM | Track in backlog | | HTTP instead of HTTPS | MEDIUM | Enforce HTTPS redirect |
See Also
@security-reviewer— comprehensive OWASP Top 10 security review/review— full code review including security/coding-standards— baseline code quality rules
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: jmstar85
- Source: jmstar85/oh-my-githubcopilot
- License: MIT
- Homepage: https://www.linkedin.com/in/minsungjung/
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet — be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.