ci-security-scanning
Add automated security scanning to CI/CD — GitHub Actions, GitLab CI, or any pipeline — so every pull request is checked for vulnerabilities before it merges…
Skill by Tecosys
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/tecosys-ci-security-scanning
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: devops, data, security, productivity
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/ci-security-scanning
What's inside
- Skill name
ci-security-scanning- Description
- Add automated security scanning to CI/CD — GitHub Actions, GitLab CI, or any pipeline — so every pull request is checked for vulnerabilities before it merges, with the build failing on real findings and results uploaded as SARIF to code scanning. Covers diff-scoped review of changed files, secret scanning, dependency/SCA, and SAST/DAST gates. Use when the user asks to add security scanning, SAST, DAST, pentesting, vulnerability checks, or automated security review to their CI pipeline, pre-merge gate, or PR workflow.
- License
- AGPL-3.0
- Instructions
- 89 lines in SKILL.md · view on GitHub
Files (1)
- SKILL.md
SKILL.md (first lines)
# Set up security scanning in CI/CD
Gate pull requests so vulnerable code is caught before it merges. Build a layered pipeline — each layer catches a class the others structurally can't — and fail the build on real findings. Nutaan writes the workflow file and wires it to the repo; the layers below are ordered cheapest-first.
## The layers
| Layer | Catches | Common OSS tool |
|---|---|---|
| **Secret scanning** | Committed keys, tokens, passwords | `gitleaks`, `trufflehog` |
| **Dependency / SCA** | Known-CVE dependencies | `osv-scanner`, `trivy`, `npm audit`, `pip-audit` |
| **SAST (static)** | Injection, XSS, unsafe patterns in source | `semgrep` |
| **DAST / dynamic** | Exploitable bugs against a running app | `nuclei`, OWASP ZAP baseline; or the exploit-validated review below |
| **Exploit-validated review** | Logic/authz/injection bugs, proven not just flagged | Nutaan itself, or the Strix CLI if installed |
Secret + SCA + SAST are fast and belong on **every PR**. DAST and deep review are heavier — run them diff-scoped on PRs and in full on a nightly/`release` schedule.
## GitHub Actions starter
Create `.github/workflows/security.yml`:
```yaml
name: Security Scan
on:
pull_request:
permissions:
contents: read
security-events: write # for SARIF upload
jobs:
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # required so diff-scoped steps can resolve the base
- name: Secret scan
uses: gitleaks/gitleaks-action@v2
- name: Dependency scan
uses: google/osv-scanner-action@v1
with:
scan-args: "-r ."
- name: SAST (Semgrep)
uses: semgrep/semgrep-action@v1
with:
config: p/ci
generateSarif: "1"
- name: Upload SARIF
if: always()
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: semgrep.sarif
```
Tune each action to **fail the job on findings at your chosen severity** (most support a severity threshold) — a scan that never fails the build is decoration, not a gate.
## Diff-scoped review on large repos
Reviewing the whole tree on every PR is wasteful. Scope to the PR's changed files and resolve the base branch robustly — don't hard-code `origin/main`:
```bash
# Prefer the CI's own base-branch variable; fall back to origin/HEAD.
BASE_BRANCH="${GITHUB_BASE_REF:-${CI_MERGE_REQUEST_TARGET_BRANCH_NAME:-}}"
if [ -z "$BASE_BRANCH" ]; then
BASE_BRANCH=$(git symbolic-ref --quiet --short refs/remotes/origin/HEAD 2>/dev/null)
BASE_BRANCH="${BASE_BRANCH#origin/}"
fi
DIFF_BASE="origin/${BASE_BRANCH:-main}"
# Fail loudly rather than silently narrowing scope to, say, HEAD~1 (which on a
# multi-commit branch would scan only the last commit and let earlier ones pass).
git rev-parse --verify --quiet "$DIFF_BASE" >/dev/null || {
echo "Cannot resolve diff base '$DIFF_BASE' — fetch the base branch or set it explicitly." >&2; exit 1; }
CHANGED=$(git diff --name-only "$DIFF_BASE"...HEAD)
# run semgrep / your reviewer over $CHANGED
```
## Other pipelines
Any CI works the same way: install the tools, run them headless, and gate on the exit code. Schedule `standard` scans nightly and a full dynamic/exploit-validated pass for release candidates.
## Don't fail open
A passing scan means "nothing found **in what was scanned**", not "secure". Make sure each step actually fails on findings, that diff resolution didn't silently fall back to an empty diff, and that heavy dynamic passes are given enough time/budget to finish. A green check on a scan that never ran, or ran on zero files, is worse than no gate — it manufactures false confidence. Findings that make it through still get remediated with `fix-security-vulnerabilities`.From Tecosys/Nutaan-Code, AGPL-3.0.
More from Tecosys/Nutaan-Code
- 0.547score
api-security-testing
Tecosys
Security-test a REST, GraphQL, or gRPC API — enumerate endpoints from an OpenAPI/GraphQL/Postman schema (or by crawling), then actually exploit the…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
auth-testing
Tecosys
Test authentication, session, and access control on an authorized target — the login/admin bypass steps of a penetration test.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
owasp-top-10-testing
Tecosys
Test an application against the OWASP Top 10 — attempt real exploits for each category of the current OWASP Top 10:2025 (broken access control including SSRF…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
find-security-vulnerabilities-in-code
Tecosys
Find security vulnerabilities in a codebase or repository — a white-box security review that reads the source, reasons about the actual data flow and…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
fix-security-vulnerabilities
Tecosys
Fix security vulnerabilities found in a pentest or code review — triage by severity, patch the root cause rather than the symptom, and re-run the exploit to…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
impeccable
Tecosys
The taste layer for every interface Nutaan Code designs or builds — websites, landing pages, dashboards, product UI, app screens, components, forms…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
nutaan-design
Tecosys
How Nutaan Code turns a request into a design — reading what the user actually asked for (their words, any screenshots or images they attached, the project…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
osint-recon
Tecosys
Perform open-source intelligence (OSINT) reconnaissance on domains, hosts, usernames, emails, or organizations.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
outreach
Tecosys
Run an outreach campaign end to end from one instruction — define the ICP, find the people (a list the user gives, a search, or LinkedIn in the browser)…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
application-security-testing
Tecosys
Application security testing (AppSec) across a whole product — decide which asset needs which test (source code, running web app, API, CI pipeline), run it…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
penetration-testing
Tecosys
Run an authorized penetration test end to end — recon, mapping, exploitation, validation, and reporting.
SkillBFreshness: B★ 1Claude Code +9 - 0.544score
exposure-audit
Tecosys
Perform an authorized external exposure audit (sensitive files, .env files, admin portals, secret leaks) for a target domain or organization to verify search…
SkillBFreshness: B★ 1Claude Code +9
Signals
- Stars
- 1
- Forks
- 1
- Open issues
- 0
- Last commit (this folder)
- Sep 12, 2026 (1 month ago)
- Last release
- Sep 20, 2026 (1 month ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- AGPL-3.0
- Repository
- github.com/Tecosys/Nutaan-Code
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from Tecosys
- 0.547score
find-security-vulnerabilities-in-code
Tecosys
Find security vulnerabilities in a codebase or repository — a white-box security review that reads the source, reasons about the actual data flow and…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
fix-security-vulnerabilities
Tecosys
Fix security vulnerabilities found in a pentest or code review — triage by severity, patch the root cause rather than the symptom, and re-run the exploit to…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
auth-testing
Tecosys
Test authentication, session, and access control on an authorized target — the login/admin bypass steps of a penetration test.
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
api-security-testing
Tecosys
Security-test a REST, GraphQL, or gRPC API — enumerate endpoints from an OpenAPI/GraphQL/Postman schema (or by crawling), then actually exploit the…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
owasp-top-10-testing
Tecosys
Test an application against the OWASP Top 10 — attempt real exploits for each category of the current OWASP Top 10:2025 (broken access control including SSRF…
SkillBFreshness: B★ 1Claude Code +9 - 0.547score
impeccable
Tecosys
The taste layer for every interface Nutaan Code designs or builds — websites, landing pages, dashboards, product UI, app screens, components, forms…
SkillBFreshness: B★ 1Claude Code +9
Cite this page
ci-security-scanning skill. Agent Mart. https://agentmart.dev/skills/tecosys-ci-security-scanning (last updated 2026-10-24)