Token导航 LogoToken导航

Agent Skill · 研究检索

security-review(安全审查)

用于辅助安全审计、权限检查、凭据风险、认证流程和常见漏洞排查。它适合让 Agent 梳理敏感配置、检查依赖风险、分析鉴权逻辑或生成安全复核清单。使用时不能把工具输出直接当最终结论,涉及密钥、令牌、用户数据或生产系统时,应先确认最小权限、脱敏方式和操作边界。

security-review 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证信息还不明确,第三方扫描有未通过项,按安装量在研究检索类的 73,674 个 Skill 里排第 41,143。

总安装 1,212周安装 50GitHub Stars 公开资料未说明下载 396核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
unknown

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:security-review(安全审查)
来源仓库:https://github.com/shiplightai/agent-skills
仓库路径:skills/security-review
安装命令:
npx skills add https://github.com/shiplightai/agent-skills --skill security-review
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/shiplightai/agent-skills --skill security-review

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

用于辅助安全审计、权限检查、凭据风险、认证流程和常见漏洞排查。它适合让 Agent 梳理敏感配置、检查依赖风险、分析鉴权逻辑或生成安全复核清单。使用时不能把工具输出直接当最终结论,涉及密钥、令牌、用户数据或生产系统时,应先确认最小权限、脱敏方式和操作边界。

安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。适用于研究检索类任务,通过 npx skills add 命令从指定 GitHub 仓库安装。security-review 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

来源仓库内路径:skills/security-review

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/shiplightai/agent-skills --skill security-revi…;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

security-review 怎么安装?

在终端执行 npx skills add https://github.com/shiplightai/agent-skills --skill security-review。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

security-review 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

security-review 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

security-review 是免费的吗?

公开资料没有标注明确许可证,收费和商用限制都无法确认。正式使用前请到来源仓库核对授权说明。

security-review 用的人多吗?

公开数据是累计安装 1,212 次,近一周安装 50 次,下载 396 次。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

security-review 安全吗?

第三方扫描有未通过项,风险较高。除非你确认过源码,否则不建议直接安装到常用环境。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 许可证没有明确标注,能不能商用、能不能再分发都不确定。
  • 第三方扫描存在提醒项或未通过项,需要人工逐条确认。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 需要明确授权才能用到公司项目里的场景。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
security-review

安全审查 · 本页

1,212—接触敏感数据未明确未通过

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Security Review

Evaluate your application's security posture against industry standards and validate findings through browser-based penetration testing. This review covers the attack surface that static analysis tools miss — runtime behavior, header configuration, authentication flows, and client-side vulnerabilities.

When to use

Use /security-review when:

  • Before launching a new application or feature
  • After adding authentication or authorization changes
  • When handling sensitive data (user credentials, payment info, PII)
  • Preparing for a security audit
  • After a security incident to check for similar issues
  • Reviewing third-party integrations

Standards Referenced

  • OWASP Top 10 (2021) — Top web application security risks
  • OWASP ASVS v4.0 — Application Security Verification Standard
  • OWASP Session Management Cheat Sheet
  • NIST 800-63B — Digital Identity Guidelines (authentication)
  • CWE/SANS Top 25 — Most Dangerous Software Weaknesses
  • Mozilla Observatory — HTTP security header best practices

Phase Overview

Phase 1: EDUCATE   → Security context and what we check
Phase 2: SCOPE     → Identify attack surface, auth mechanisms, data flows
Phase 3: ANALYZE   → Automated checks + browser-based penetration testing
Phase 4: REPORT    → Findings with evidence, CVE references, confidence scores
Phase 5: REMEDIATE → Fix guidance + YAML regression tests

Phase 1: Educate

Why this matters: The average cost of a data breach is $4.45M (IBM 2023). 83% of web applications have at least one critical vulnerability. Many security issues are only detectable at runtime — misconfigured headers, insecure token storage, broken access controls — which is exactly what browser-based testing catches.

This review checks your app against objective security criteria with browser-based validation. Every finding references a specific standard (OWASP, CWE, NIST).


Phase 2: Scope

Gather context

  1. Auto-detect from codebase:

- Authentication mechanism (JWT, sessions, OAuth, API keys) - Framework security features in use (CSRF tokens, CORS config, CSP) - Dependencies with known vulnerabilities (npm audit / pip audit) - API routes and endpoints - Environment variable handling - File upload capabilities - Third-party scripts and CDN usage

  1. Ask the user (one at a time):

- Target URL: Where is the app running? - Auth mechanism: How do users log in? (auto-detected, confirm) - Test credentials: Do you have test accounts I can use? (needed for authenticated testing) - Sensitive data: What sensitive data does the app handle? (PII, payments, health records) - Known concerns: Any specific areas you're worried about? (optional)

  1. Map the attack surface:

- List all user input points (forms, URL params, file uploads, WebSocket messages) - List all API endpoints with their auth requirements - List all third-party integrations - Identify data flow: where does sensitive data enter, process, store, and exit?


Phase 3: Analyze

Open a browser session with new_session using record_evidence: true. Run all applicable check categories.

Category A: HTTP Security Headers (HDR)

Check IDCheckStandardMethod
HDR-01Content-Security-Policy header present and restrictiveOWASP A05Inspect response headers
HDR-02Strict-Transport-Security (HSTS) with long max-ageOWASP TransportCheck header presence and value
HDR-03X-Content-Type-Options: nosniffMozilla ObservatoryCheck header
HDR-04X-Frame-Options or CSP frame-ancestorsOWASP ClickjackingCheck header
HDR-05Referrer-Policy set appropriatelyPrivacy/SecurityCheck header value
HDR-06Permissions-Policy restricts sensitive APIsBrowser securityCheck camera, microphone, geolocation policies
HDR-07No Server/X-Powered-By version disclosureInformation leakCheck for version strings in headers
HDR-08Cache-Control for sensitive pagesOWASP SessionCheck no-store for authenticated content
HDR-09CORS not overly permissiveOWASP A05Check Access-Control-Allow-Origin
HDR-10No mixed content (HTTP resources on HTTPS page)Transport securityInspect all resource URLs

Browser validation: Use JavaScript via act to inspect document.querySelector('meta[http-equiv]') and fetch response headers via a same-origin request. Use get_browser_console_logs to check for mixed content warnings.

Category B: Authentication & Session Management (AUTH)

Check IDCheckStandardMethod
AUTH-01Tokens not stored in localStorageOWASP ASVS 3.3.2Check localStorage/sessionStorage for tokens
AUTH-02Session cookies have HttpOnly flagOWASP SessionInspect Set-Cookie headers
AUTH-03Session cookies have Secure flagOWASP SessionInspect Set-Cookie headers
AUTH-04Session cookies have SameSite attributeOWASP CSRFInspect Set-Cookie headers
AUTH-05Session expires after idle timeoutOWASP ASVS 3.3.1Wait and verify session invalidation
AUTH-06Logout invalidates server-side sessionOWASP ASVS 3.3.1Logout, replay old token, check response
AUTH-07Password reset tokens are single-useOWASP AuthUse reset link twice, verify second fails
AUTH-08No credentials in URL parametersOWASP TransportCheck URL for tokens/passwords
AUTH-09Brute force protection on loginOWASP AuthAttempt multiple failed logins, check for lockout/rate-limit
AUTH-10CSRF protection on state-changing requestsOWASP A01Submit forms without CSRF token
AUTH-11JWT signature verified (if applicable)OWASP AuthSend modified JWT, check rejection
AUTH-12OAuth state parameter used (if applicable)OWASP AuthCheck OAuth flow for state param

Browser validation: Log in via act, inspect cookies with JavaScript (document.cookie — HttpOnly cookies won't appear, which is correct). Check localStorage. Perform logout, replay requests. Attempt brute force (5 wrong passwords). Modify JWT tokens and test.

Category C: Input Validation & Injection (INJ)

Check IDCheckStandardMethod
INJ-01XSS: reflected input in pageOWASP A03 / CWE-79Submit <script>alert(1)</script> in all inputs, check if rendered
INJ-02XSS: stored input from databaseOWASP A03 / CWE-79Submit script via form, check if rendered on subsequent page loads
INJ-03SQL injection in form inputsOWASP A03 / CWE-89Submit ' OR '1'='1 patterns, check for errors
INJ-04Open redirect via URL parametersCWE-601Test redirect params with external URLs
INJ-05Path traversal in file operationsCWE-22Test ../../etc/passwd in file-related params
INJ-06Command injection in input fieldsCWE-78Test ; ls or `
INJ-07HTML injection in user contentCWE-79Submit HTML tags, check if rendered
INJ-08URL scheme validation (javascript:)CWE-79Test javascript:alert(1) in URL inputs
INJ-09File upload validationOWASP A04Upload files with wrong extensions, oversized files, executable content
INJ-10API input validationOWASP A03Send malformed JSON, missing fields, wrong types to API endpoints

Browser validation: Use act to fill form fields with test payloads. Capture page state after submission. Check for script execution, error messages, unexpected behavior. Use get_browser_console_logs for JavaScript errors that indicate injection vectors.

Important: These are non-destructive test payloads for detection only. Do not attempt actual exploitation. Alert-based XSS tests use alert(1) which is harmless.

Category D: Access Control (AC)

Check IDCheckStandardMethod
AC-01Authenticated pages return 401/403 without authOWASP A01Access protected URLs without authentication
AC-02No IDOR (Insecure Direct Object Reference)OWASP A01 / CWE-639Change resource IDs in URLs, check for unauthorized access
AC-03API endpoints enforce authorizationOWASP A01Call API endpoints with wrong/missing auth
AC-04Admin pages are not accessible to regular usersOWASP A01Navigate to admin routes with regular user session
AC-05No sensitive data in client-side sourceInformation leakCheck JavaScript bundles for API keys, secrets
AC-06Directory listing disabledInformation leakAccess directory URLs (e.g., /api/, /static/)
AC-07Debug endpoints not exposed in productionOWASP A05Check common debug paths (/debug, /trace, /graphql playground)
AC-08Error messages don't leak internal detailsOWASP A05Trigger errors, check for stack traces, DB details

Browser validation: Navigate to protected pages without auth. Try accessing resources belonging to other users. Check JavaScript source for hardcoded secrets using act with JavaScript to scan script contents.

Category E: Client-Side Security (CLI)

Check IDCheckStandardMethod
CLI-01No sensitive data in client-side storageOWASP StorageInspect localStorage, sessionStorage, IndexedDB
CLI-02Subresource Integrity (SRI) on CDN resourcesSupply chainCheck integrity attribute on external scripts/styles
CLI-03Third-party scripts inventorySupply chainList all external script sources
CLI-04No eval() or innerHTML with user inputCWE-79Scan JavaScript for dangerous patterns
CLI-05Service worker scope is restrictedClient securityCheck SW registration scope
CLI-06WebSocket connections use WSSTransportCheck WS connection URLs
CLI-07No sensitive data in console logsInformation leakCheck get_browser_console_logs output
CLI-08Clickjacking protection worksOWASP ClickjackingTest embedding page in iframe

Browser validation: Use JavaScript via act to enumerate localStorage keys, check script tags for SRI, list all network requests to external domains. Use get_browser_console_logs to check for leaked data.

Category F: Dependency & Supply Chain (DEP)

Check IDCheckStandardMethod
DEP-01No known vulnerable dependenciesOWASP A06 / CWE-1035Run npm audit / pip audit
DEP-02Lock file exists and is committedSupply chainCheck for package-lock.json / yarn.lock / pnpm-lock.yaml
DEP-03No unnecessary dependenciesAttack surfaceCheck for unused packages
DEP-04CDN resources use SRISupply chainCheck integrity attributes (same as CLI-02)
DEP-05No typosquatting risk in dependenciesSupply chainCheck package names against known packages

Validation: Run dependency audit commands. Cross-reference with codebase scan from Phase 2.


Phase 4: Report

Generate a structured report saved to shiplight/reports/security-review-{date}.md:

# Security Review Report
**Date:** {date}
**URL:** {url}
**Auth mechanism:** {type}
**Attack surface:** {summary}

## Overall Score: {X}/10 | Confidence: {X}%

## Score Breakdown
| Category | Score | Findings |
|----------|-------|----------|
| HTTP Headers (HDR) | 6/10 | 1 critical, 2 high |
| Auth & Sessions (AUTH) | 4/10 | 2 critical, 1 high |
| Input Validation (INJ) | 7/10 | 1 high, 2 medium |
| Access Control (AC) | 8/10 | 1 medium |
| Client-Side (CLI) | 5/10 | 1 critical, 1 high |
| Dependencies (DEP) | 9/10 | 1 low |

## Findings

### CRITICAL

#### AUTH-01: JWT stored in localStorage — XSS leads to full account takeover
- **Standard:** OWASP ASVS 3.3.2 / CWE-922
- **Finding:** Access token stored in `localStorage` under key `auth_token`, accessible to any XSS payload
- **Evidence:** [screenshot of Application > Storage showing JWT]
- **Attack scenario:** Any XSS vulnerability (even via third-party script) can exfiltrate all user tokens
- **CVSS estimate:** 8.1 (High)
- **Confidence:** 95%

...

Confidence Scoring

  • 90-100%: Exploited and verified in browser (e.g., XSS payload executed, unauthorized access confirmed)
  • 70-89%: Strong evidence from inspection (e.g., missing header confirmed, insecure cookie flags observed)
  • 50-69%: Code-level evidence, not fully validated at runtime
  • Below 50%: Don't report — too speculative

Phase 5: Remediate

For each finding, provide:

1. Fix guidance

#### AUTH-01: JWT stored in localStorage
**Risk:** Any XSS → full account takeover
**File:** src/lib/auth.ts:47
**Current:** `localStorage.setItem('auth_token', jwt)`
**Fix:** Move to HttpOnly cookie set by the server
- Server: `Set-Cookie: token=<jwt>; HttpOnly; Secure; SameSite=Strict; Path=/`
- Client: Remove all localStorage token operations
- API calls: Cookies sent automatically (remove Authorization header)
**Migration steps:**
1. Add cookie-setting endpoint on server
2. Update API middleware to read from cookie
3. Remove client-side token storage
4. Update CORS to allow credentials

2. YAML regression test

- name: auth-01-no-tokens-in-localstorage
  description: Verify authentication tokens are not stored in localStorage
  severity: critical
  standard: OWASP-ASVS-3.3.2
  steps:
    - URL: /login
    - intent: Enter test username
      action: fill
      locator: "getByLabel('Email')"
      value: "test@example.com"
    - intent: Enter test password
      action: fill
      locator: "getByLabel('Password')"
      value: "testpass123"
    - intent: Click login button
      action: click
      locator: "getByRole('button', { name: 'Sign in' })"
    - WAIT_UNTIL: User is logged in and dashboard is visible
      timeout_seconds: 15
    - CODE: |
        const keys = Object.keys(localStorage);
        const tokenKeys = keys.filter(k =>
          /token|jwt|auth|session|access/i.test(k)
        );
        if (tokenKeys.length > 0) {
          throw new Error(
            `Auth tokens found in localStorage: ${tokenKeys.join(', ')}`
          );
        }
    - VERIFY: No authentication tokens are stored in browser localStorage

Save all YAML tests to shiplight/tests/security-review.test.yaml.


Penetration Test Depth Levels

  • --quick: Headers (HDR) + Cookie flags (AUTH-02/03/04) + localStorage check (AUTH-01) + dependency audit (DEP-01). ~2 minutes.
  • default: All categories, standard payloads. ~10 minutes.
  • --thorough: All categories + extended injection payloads + IDOR enumeration + brute force testing + full third-party script analysis. ~20-30 minutes.

Tips

  • Always use test credentials, never production credentials
  • XSS test payloads are non-destructive (alert(1)) — safe for staging environments
  • For authenticated testing, save the session with save_storage_state after login
  • Run npm audit before the browser-based review to catch known CVEs early
  • Use get_browser_console_logs — many security issues produce console warnings
  • Close the session with close_session and use generate_html_report for evidence

平台分布

Codex

37.02%
按下载量换算147

Claude

30.55%
按下载量换算121

Cursor

19.61%
按下载量换算78

Gemini CLI

10.03%
按下载量换算40

安全审计

Gen Agent Trust Hub

未通过

Socket

可疑

Snyk

未通过

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在提醒或未通过项,安装前请自行复核。目前只有一个公开来源,建议同时核对源仓库。

继续浏览同类 Skills