跳到正文
cccskills
免费在 GitHub 公开

security-scan

Scan the codebase for common security issues: hardcoded secrets, SQL injection vectors, XSS, unvalidated inputs, and insecure defaults. Use before deploying, as part of code quality review, or when asked to check for security issues.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(1)

  • SKILL.md3.1 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

Run a security scan on this codebase.

Changed files (focus here first)

!git diff --name-only HEAD~1 2>/dev/null || git diff --name-only origin/main...HEAD 2>/dev/null || echo "all files — no git diff available"

Prioritize scanning the files listed above. If the output says "all files", scan the entire codebase.

Security checks

For each check, search the changed files first. If changed files is "all files", search the entire codebase excluding node_modules/, dist/, .git/, vendor/, and *.min.js.

1. Hardcoded secrets

Search for patterns like password=, api_key=, secret=, token=, passwd=, private_key= followed by a literal value (not a variable reference or environment variable lookup).

Exclude:

  • Files in test/, spec/, __tests__/ directories
  • Files ending in .example, .sample, .template
  • Lines that contain process.env, os.environ, getenv, ${, $(, or config.get

2. SQL injection risk

Search for SQL keywords (SELECT, INSERT, UPDATE, DELETE, WHERE, FROM) appearing inside f-strings (Python), template literals (JavaScript/TypeScript), or string concatenation patterns where a variable is embedded directly. Look for patterns like:

  • f"SELECT ... {variable}
  • `SELECT ... ${variable}`
  • "SELECT " + variable

3. XSS vectors

Search .js and .ts files for innerHTML being assigned a value that includes a variable: element.innerHTML = , .innerHTML +=. Flag any assignment that does not call a sanitization function (DOMPurify.sanitize, sanitize(, escapeHtml().

4. Unvalidated inputs

Search for patterns where request body or parameters are passed directly to a database function without an intervening validation step. Look for req.body., request.data, request.form, params[ in close proximity (within 5 lines) to database calls (query(, execute(, find(, .save(, .create().

5. Insecure defaults

Search for:

  • DEBUG = True or DEBUG=True (Python)
  • NODE_ENV not set to production in deployment configuration files
  • verify=False in Python requests calls
  • CORS configured to allow all origins: cors({ origin: '*' }), Access-Control-Allow-Origin: * in non-development config files

Output format

Output exactly:

SECURITY FINDINGS:
- [CRITICAL|HIGH|MEDIUM|LOW] <file>:<line> — <description>

Use these severity levels:

  • CRITICAL: hardcoded secret or SQL injection
  • HIGH: XSS or unvalidated input in an auth path
  • MEDIUM: unvalidated input in a non-auth path, DEBUG=True in a deployed config
  • LOW: insecure default that is acceptable in development but not production

If no findings: output exactly SECURITY FINDINGS: none

Do not add any prose before or after the findings block.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Write an Architecture Decision Record (ADR) document for a technical decision. Use when documenting a technical choice, architectural decision, or design decision.

中文简介正在准备中。当前显示原文说明。

davila7/claude-with-skills132026年5月15日 更新

REST API design conventions for this codebase. Use when writing or reviewing API endpoints, route definitions, response formatting, or client code that calls the API.

中文简介正在准备中。当前显示原文说明。

davila7/claude-with-skills132026年5月15日 更新

Automatically format code files after every edit using Prettier and ESLint. Active in the background whenever Claude edits a file. Formatting is silent — no prompts, no output unless a formatter fails. Use when you want consistent formatting enforced automatically during a coding session.

中文简介正在准备中。当前显示原文说明。

davila7/claude-with-skills132026年5月15日 更新

Create a git branch named after a GitHub issue.

中文简介正在准备中。当前显示原文说明。

davila7/claude-with-skills132026年5月15日 更新

Draft the changelog entry for all unreleased commits in Keep a Changelog format. Groups commits into Added, Changed, Fixed, Removed, and Security. Use before releasing a new version or when updating CHANGELOG.md.

中文简介正在准备中。当前显示原文说明。

davila7/claude-with-skills132026年5月15日 更新

Draft a CHANGELOG.md entry for the current changes in Keep a Changelog format. Use when releasing, tagging a version, or updating CHANGELOG.md.

中文简介正在准备中。当前显示原文说明。

davila7/claude-with-skills132026年5月15日 更新

查看 davila7 的全部技能

报告此技能的问题