重要前提
安装AI Skills的关键前提是:必须科学上网,且开启TUN模式,这一点至关重要,直接决定安装能否顺利完成,在此郑重提醒三遍:科学上网,科学上网,科学上网。查看完整安装教程 →
security-architect by oimiragieo/agent-studio
npx skills add https://github.com/oimiragieo/agent-studio --skill security-architect使用 STRIDE 分析威胁:
| 威胁 | 描述 | 示例 |
|---|---|---|
| S poofing | 冒充用户/系统 | 窃取凭据 |
| T ampering | 篡改数据 | SQL 注入 |
| R epudiation | 否认操作 | 缺少审计日志 |
| I nformation Disclosure | 数据泄露 | 暴露密钥 |
| D enial of Service | 阻止访问 | 资源耗尽 |
| E levation of Privilege | 获得未授权访问 | 访问控制失效 |
对于 AI/智能体系统,使用以下内容扩展 STRIDE:
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
重要提示:OWASP Top 10 已于 2025 年更新,包含两个新类别和显著的排名变化。请使用此更新后的列表,而非 2021 版本。
| 排名 | ID | 漏洞 | 相对于 2021 年的关键变化 |
|---|---|---|---|
| 1 | A01 | 失效的访问控制 | 稳定在第 1 位;SSRF 已整合至此 |
| 2 | A02 | 安全配置错误 | 从第 5 位上升 |
| 3 | A03 | 软件供应链故障 | 新增 — 取代"易受攻击的组件" |
| 4 | A04 | 加密机制失效 | 从第 2 位下降 |
| 5 | A05 | 注入 | 从第 3 位下降 |
| 6 | A06 | 不安全的设计 | 从第 4 位下降 |
| 7 | A07 | 身份验证失效 | 稳定(重命名) |
| 8 | A08 | 软件或数据完整性故障 | 稳定 |
| 9 | A09 | 安全日志记录与告警故障 | 稳定 |
| 10 | A10 | 异常条件处理不当 | 新增 |
检查每个漏洞:
A01: 失效的访问控制 (包含 2021 年的 SSRF)
A02: 安全配置错误 (从第 5 位上升 — 现为第 2 位,影响约 3% 的受测应用)
A03: 软件供应链故障 (新增 — 平均利用/影响分数最高)
package-lock.json、yarn.lock、poetry.lock)并验证完整性postinstall 脚本;显式禁用或允许列表A04: 加密机制失效 (从第 2 位下降)
A05: 注入 (从第 3 位下降)
A06: 不安全的设计 (从第 4 位下降)
A07: 身份验证失效
A08: 软件或数据完整性故障
A09: 安全日志记录与告警故障
A10: 异常条件处理不当 (新增)
当代码库涉及 AI 智能体、LLM 或自治系统时,执行此额外评估。由 OWASP GenAI 安全项目于 2025 年 12 月发布。
| ASI | 风险 | 核心攻击向量 |
|---|---|---|
| ASI01 | 智能体目标劫持 | 提示注入重定向智能体目标 |
| ASI02 | 工具滥用 | 合法工具被用于超出预期范围的用途 |
| ASI03 | 身份与权限滥用 | 凭据继承/委托未限定作用域 |
| ASI04 | 供应链漏洞 | 恶意工具、MCP 服务器、智能体注册表 |
| ASI05 | 意外的代码执行 | 智能体生成的代码绕过安全控制 |
| ASI06 | 记忆与上下文污染 | 智能体记忆/嵌入的持久性损坏 |
| ASI07 | 不安全的智能体间通信 | 智能体间协议验证薄弱 |
| ASI08 | 级联故障 | 错误在链式智能体间传播 |
| ASI09 | 人机信任利用 | 智能体操纵用户批准不安全操作 |
| ASI10 | 恶意智能体 | 智能体在授权范围外行动 |
ASI01 — 智能体目标劫持:攻击者通过用户输入、RAG 文档、电子邮件或日历邀请中的提示注入来操纵规划逻辑。
ASI02 — 工具滥用:智能体使用工具超出预期范围(例如,仅授权读取文件时却执行了文件删除)。
ASI03 — 身份与权限滥用:智能体继承或委托凭据时未进行适当的作用域限定,造成归属空白。
ASI04 — 供应链漏洞(智能体):恶意的 MCP 服务器、智能体卡片、插件注册表或工具包污染智能体生态系统。
ASI05 — 意外的代码执行:智能体生成或"氛围编码"的代码在没有传统安全控制(沙箱、审查)的情况下执行。
ASI06 — 记忆与上下文污染:攻击者将恶意指令嵌入文档、网页或 RAG 语料库中,这些指令会持久存在于智能体记忆中并影响未来操作。
ASI07 — 不安全的智能体间通信:智能体间消息缺乏身份验证、完整性检查或语义验证,使得注入攻击能在智能体之间进行。
ASI08 — 级联故障:一个智能体中的错误或攻击在多个智能体流水线中不受控制地传播。
ASI09 — 人机信任利用:智能体呈现误导性信息,操纵用户批准不安全操作。
ASI10 — 恶意智能体:智能体在授权范围外操作、采取未经批准的行动或抵抗人工覆盖。
对所有具有外部依赖项的项目执行此检查:
# Check for known vulnerabilities
npm audit --audit-level=high
# or
pnpm audit
# Verify lockfile integrity (ensure lockfile is committed and not bypassed)
# Check that package-lock.json / yarn.lock / pnpm-lock.yaml exists and is current
# Scan for malicious packages (behavioral analysis)
# Tools: Socket.dev, Snyk, Aikido, Safety (Python)
依赖混淆防御:
@company/package-name)publishConfig 和注册表作用域来防止私有包回退到公共注册表域名抢注防御:
npm install / pip install 命令是否存在拼写错误minimumReleaseAge)以允许恶意软件检测CI/CD 流水线强化:
OAuth 2.1(当前标准 — 用于新实现,取代 OAuth 2.0):
OAuth 2.1 removes insecure grants:
- Implicit grant (response_type=token) — REMOVED: tokens in URL fragments leak
- Resource Owner Password Credentials (ROPC) — REMOVED: breaks delegated auth model
OAuth 2.1 mandates:
- PKCE (Proof Key for Code Exchange) for ALL authorization code flows
- Exact redirect URI matching (no wildcards)
- Sender-constraining tokens (DPoP recommended)
DPoP — 证明持有权演示(RFC 9449):
// DPoP proof JWT structure (sent in DPoP header with each request)
// Header: { "typ": "dpop+jwt", "alg": "ES256", "jwk": { client_public_key } }
// Payload: { "jti": nonce, "htm": "POST", "htu": "https://api.example.com/token", "iat": timestamp }
// Signed with client private key — server verifies binding to issued token
Passkeys / WebAuthn (FIDO2) — 用于面向用户的身份验证:
navigator.credentials.create()(注册)和 navigator.credentials.get()(身份验证)// WebAuthn registration (simplified)
const credential = await navigator.credentials.create({
publicKey: {
challenge: serverChallenge, // random bytes from server
rp: { name: 'My App', id: 'myapp.example.com' },
user: { id: userId, name: userEmail, displayName: userName },
pubKeyCredParams: [{ alg: -7, type: 'public-key' }], // ES256
authenticatorSelection: { residentKey: 'preferred', userVerification: 'required' },
},
});
// Send credential.id and credential.response to server for verification
查找常见问题:
// BAD: SQL Injection
const query = `SELECT * FROM users WHERE id = ${userId}`;
// GOOD: Parameterized query
const query = `SELECT * FROM users WHERE id = $1`;
await db.query(query, [userId]);
// BAD: Hardcoded secrets
const apiKey = 'sk-abc123...';
// GOOD: Environment variables / secret manager
const apiKey = process.env.API_KEY;
// BAD: shell: true (shell injection vector)
const { exec } = require('child_process');
exec(`git commit -m "${userMessage}"`);
// GOOD: shell: false with array arguments
const { spawn } = require('child_process');
spawn('git', ['commit', '-m', userMessage], { shell: false });
// BAD: Fail open on error (dangerous for auth/authz)
try {
const isAuthorized = await checkPermission(user, resource);
if (isAuthorized) return next();
} catch (err) {
return next(); // WRONG: allows access on error
}
// GOOD: Fail securely (deny on error — A10:2025)
try {
const isAuthorized = await checkPermission(user, resource);
if (!isAuthorized) return res.status(403).json({ error: 'Forbidden' });
return next();
} catch (err) {
logger.error('Permission check failed', { err, user, resource });
return res.status(403).json({ error: 'Forbidden' }); // Default deny
}
验证:
创建发现报告:
## Security Assessment Report
### Critical Findings
1. SQL injection in /api/users endpoint
- Risk: Data breach
- Fix: Use parameterized queries
### High Findings
2. Missing rate limiting on login
- Risk: Brute force attacks
- Fix: Implement rate limiting
3. OAuth 2.0 implicit grant in use (deprecated)
- Risk: Access token exposure in URL fragments / browser history
- Fix: Migrate to Authorization Code + PKCE (OAuth 2.1)
### Medium Findings
4. No lockfile committed for npm dependencies
- Risk: Supply chain attack via dependency resolution drift
- Fix: Commit package-lock.json; add lockfile verification to CI
### Recommendations
- Enable HTTPS everywhere; enforce HSTS
- Implement CSP headers
- Add security logging for auth events
- Migrate to OAuth 2.1 (remove implicit/ROPC grants)
- Implement passkey/WebAuthn for phishing-resistant authentication
- Run `npm audit` / `pnpm audit` in CI with failure on high/critical
</execution_process>
<best_practices>
</best_practices>
Review the authentication flow in src/auth/ for security issues
示例响应:
## Security Review: src/auth/
### Findings
#### CRITICAL: Weak Password Hashing
- File: src/auth/password.js:23
- Issue: Using MD5 for password hashing
- Fix: Use bcrypt with cost factor >= 12
#### HIGH: No Rate Limiting
- File: src/auth/login.js
- Issue: Login endpoint has no rate limiting
- Fix: Add rate limiting (5 attempts/minute)
#### HIGH: OAuth 2.0 Implicit Grant in Use
- File: src/auth/oauth.js:45
- Issue: Using response_type=token (implicit grant, deprecated in OAuth 2.1)
- Fix: Migrate to Authorization Code flow with PKCE
#### MEDIUM: Session Not Invalidated
- File: src/auth/logout.js
- Issue: Logout doesn't invalidate server-side session
- Fix: Clear session from store on logout
### Recommendations
1. Implement bcrypt for password hashing (cost factor >= 12)
2. Add rate limiting middleware (5 req/min on /login)
3. Migrate OAuth flows to Authorization Code + PKCE (OAuth 2.1)
4. Consider passkeys/WebAuthn for phishing-resistant authentication
5. Use secure session configuration (HTTPOnly, Secure, SameSite=Strict)
</usage_example>
<usage_example> AI 智能体安全审查请求:
Review the LLM agent pipeline in src/agents/ for agentic AI security risks
示例响应:
## Agentic AI Security Review: src/agents/
### ASI01 — Agent Goal Hijack (HIGH)
- File: src/agents/email-processor.js
- Issue: User email content passed directly to agent system prompt without sanitization
- Fix: Sanitize email content; enforce task boundary validation in routing layer
### ASI06 — Memory & Context Poisoning (HIGH)
- File: src/agents/memory-store.js:78
- Issue: Web-fetched content written to persistent memory without validation
- Fix: Validate and sanitize all external content before writing to memory; never
execute commands retrieved from memory without explicit human approval
### ASI02 — Tool Misuse (MEDIUM)
- File: src/agents/tools/file-tool.js
- Issue: Agent has both read and delete file permissions; delete scope too broad
- Fix: Split into read-only and write tools; apply least privilege per agent role
### ASI10 — Rogue Agent Risk (MEDIUM)
- Issue: No kill-switch or hard resource limits on agent execution
- Fix: Implement max-steps limit, timeout, and human override checkpoint for
operations affecting production data
</usage_example>
| 反模式 | 失败原因 | 正确方法 |
|---|---|---|
| 未经完整安全审查就批准代码 | 部分审查会遗漏身份验证/PII/外部数据流中的可利用路径 | 在批准生产部署前完成所有 STRIDE + OWASP 阶段 |
| 对 AI/智能体系统使用 OWASP 2021 | AI 特定威胁(ASI01-ASI10)未被标准 Web 列表覆盖 | 对任何智能体组件始终运行 OWASP Top 10 2025 和 ASI01-ASI10 |
| 安全错误时故障开放 | 错误路径成为可利用的绕过条件 | 设计每个故障模式默认拒绝访问 |
| 提供模糊的修复指导 | 开发人员无法在没有具体细节的情况下采取行动 | 为每个发现的问题提供确切的代码示例和参数化的修复模式 |
| 缺少严重性优先级排序 | 关键发现被埋没在信息性发现的噪音中 | 在交付前将所有发现的问题分类为 CRITICAL > HIGH > MEDIUM > LOW |
auth-security-expert - OAuth 2.1、JWT 和特定于身份验证的安全模式对于需要多阶段威胁分析、漏洞扫描和修复规划的全面安全审计,请参阅相应的工作流:
.claude/workflows/security-architect-skill-workflow.md关键特性:
另请参阅:功能开发工作流,了解如何将安全审查集成到开发生命周期中。
开始前:
cat .claude/context/memory/learnings.md
完成后:
.claude/context/memory/learnings.md.claude/context/memory/issues.md.claude/context/memory/decisions.md假设中断:您的上下文可能会重置。如果它不在记忆中,那就没有发生过。
每周安装次数
60
仓库
GitHub Stars
19
首次出现
2026 年 1 月 27 日
安全审计
安装于
github-copilot59
gemini-cli58
amp57
codex57
kimi-cli57
opencode57
Analyze threats using STRIDE:
| Threat | Description | Example |
|---|---|---|
| S poofing | Impersonating users/systems | Stolen credentials |
| T ampering | Modifying data | SQL injection |
| R epudiation | Denying actions | Missing audit logs |
| I nformation Disclosure | Data leaks | Exposed secrets |
| D enial of Service | Blocking access | Resource exhaustion |
| E levation of Privilege | Gaining unauthorized access | Broken access control |
For AI/agentic systems, extend STRIDE with:
IMPORTANT : The OWASP Top 10 was updated in 2025 with two new categories and significant ranking shifts. Use this updated list, not the 2021 version.
| Rank | ID | Vulnerability | Key Change from 2021 |
|---|---|---|---|
| 1 | A01 | Broken Access Control | Stable at #1; SSRF consolidated here |
| 2 | A02 | Security Misconfiguration | Up from #5 |
| 3 | A03 | Software Supply Chain Failures | NEW — replaces Vulnerable Components |
| 4 | A04 | Cryptographic Failures | Down from #2 |
| 5 | A05 | Injection | Down from #3 |
| 6 | A06 | Insecure Design | Down from #4 |
| 7 | A07 | Authentication Failures | Stable (renamed) |
Check for each vulnerability:
A01: Broken Access Control (includes SSRF from 2021)
A02: Security Misconfiguration (up from #5 — now #2, affects ~3% of tested apps)
A03: Software Supply Chain Failures (NEW — highest avg exploit/impact scores)
package-lock.json, yarn.lock, poetry.lock) and verify integritypostinstall scripts; disable or allowlist explicitly * Ensure errors fail securely — never "fail open" (default to deny on error)
* Validate logic for edge cases: timeouts, partial responses, unexpected nulls
* Return generic error messages to clients; log detailed context server-side
* Test error handling paths explicitly (chaos/fault injection testing)
When the codebase involves AI agents, LLMs, or autonomous systems, perform this additional assessment. Released December 2025 by OWASP GenAI Security Project.
| ASI | Risk | Core Attack Vector |
|---|---|---|
| ASI01 | Agent Goal Hijack | Prompt injection redirects agent objectives |
| ASI02 | Tool Misuse | Legitimate tools abused beyond intended scope |
| ASI03 | Identity & Privilege Abuse | Credential inheritance/delegation without scoping |
| ASI04 | Supply Chain Vulnerabilities | Malicious tools, MCP servers, agent registries |
| ASI05 | Unexpected Code Execution | Agent-generated code bypasses security controls |
| ASI06 | Memory & Context Poisoning | Persistent corruption of agent memory/embeddings |
| ASI07 | Insecure Inter-Agent Communication | Weak agent-to-agent protocol validation |
| ASI08 | Cascading Failures | Error propagation across chained agents |
| ASI09 | Human-Agent Trust Exploitation |
ASI01 — Agent Goal Hijack : Attackers manipulate planning logic via prompt injection in user input, RAG documents, emails, or calendar invites.
ASI02 — Tool Misuse : Agents use tools beyond intended scope (e.g., file deletion when only file read was authorized).
ASI03 — Identity & Privilege Abuse: Agents inherit or delegate credentials without proper scoping, creating attribution gaps.
ASI04 — Supply Chain Vulnerabilities (Agentic) : Malicious MCP servers, agent cards, plugin registries, or tool packages poison the agent ecosystem.
ASI05 — Unexpected Code Execution : Agent-generated or "vibe-coded" code executes without traditional security controls (sandboxing, review).
ASI06 — Memory & Context Poisoning: Attackers embed malicious instructions in documents, web pages, or RAG corpora that persist in agent memory and influence future actions.
ASI07 — Insecure Inter-Agent Communication : Agent-to-agent messages lack authentication, integrity checks, or semantic validation, enabling injection attacks between agents.
ASI08 — Cascading Failures : Errors or attacks in one agent propagate uncontrolled through multi-agent pipelines.
ASI09 — Human-Agent Trust Exploitation : Agents present misleading information to manipulate users into approving unsafe actions.
ASI10 — Rogue Agents : Agents operate outside authorized scope, take unsanctioned actions, or resist human override.
Perform this check for all projects with external dependencies:
# Check for known vulnerabilities
npm audit --audit-level=high
# or
pnpm audit
# Verify lockfile integrity (ensure lockfile is committed and not bypassed)
# Check that package-lock.json / yarn.lock / pnpm-lock.yaml exists and is current
# Scan for malicious packages (behavioral analysis)
# Tools: Socket.dev, Snyk, Aikido, Safety (Python)
Dependency Confusion Defense :
@company/package-name)publishConfig and registry scoping to prevent public registry fallback for private packagesTyposquatting Defense :
npm install / pip install commands for misspellingsminimumReleaseAge) to allow malware detectionCI/CD Pipeline Hardening :
OAuth 2.1 (current standard — replaces OAuth 2.0 for new implementations) :
OAuth 2.1 removes insecure grants:
- Implicit grant (response_type=token) — REMOVED: tokens in URL fragments leak
- Resource Owner Password Credentials (ROPC) — REMOVED: breaks delegated auth model
OAuth 2.1 mandates:
- PKCE (Proof Key for Code Exchange) for ALL authorization code flows
- Exact redirect URI matching (no wildcards)
- Sender-constraining tokens (DPoP recommended)
DPoP — Demonstrating Proof of Possession (RFC 9449) :
Binds access/refresh tokens cryptographically to the client's key pair
Prevents token replay attacks even if tokens are intercepted
Implement for all public clients (SPAs, mobile apps) where bearer token theft is a concern
// DPoP proof JWT structure (sent in DPoP header with each request) // Header: { "typ": "dpop+jwt", "alg": "ES256", "jwk": { client_public_key } } // Payload: { "jti": nonce, "htm": "POST", "htu": "https://api.example.com/token", "iat": timestamp } // Signed with client private key — server verifies binding to issued token
Passkeys / WebAuthn (FIDO2) — for user-facing authentication :
Phishing-resistant: credentials are origin-bound and never transmitted
Replaces passwords and SMS OTP for high-security contexts
Major platforms (Windows, macOS, iOS, Android) support cross-device sync as of 2026
Implementation: use navigator.credentials.create() (registration) and navigator.credentials.get() (authentication)
Store only the public key and credential ID server-side (never the private key)
// WebAuthn registration (simplified) const credential = await navigator.credentials.create({ publicKey: { challenge: serverChallenge, // random bytes from server rp: { name: 'My App', id: 'myapp.example.com' }, user: { id: userId, name: userEmail, displayName: userName }, pubKeyCredParams: [{ alg: -7, type: 'public-key' }], // ES256 authenticatorSelection: { residentKey: 'preferred', userVerification: 'required' }, }, }); // Send credential.id and credential.response to server for verification
Look for common issues:
// BAD: SQL Injection
const query = `SELECT * FROM users WHERE id = ${userId}`;
// GOOD: Parameterized query
const query = `SELECT * FROM users WHERE id = $1`;
await db.query(query, [userId]);
// BAD: Hardcoded secrets
const apiKey = 'sk-abc123...';
// GOOD: Environment variables / secret manager
const apiKey = process.env.API_KEY;
// BAD: shell: true (shell injection vector)
const { exec } = require('child_process');
exec(`git commit -m "${userMessage}"`);
// GOOD: shell: false with array arguments
const { spawn } = require('child_process');
spawn('git', ['commit', '-m', userMessage], { shell: false });
// BAD: Fail open on error (dangerous for auth/authz)
try {
const isAuthorized = await checkPermission(user, resource);
if (isAuthorized) return next();
} catch (err) {
return next(); // WRONG: allows access on error
}
// GOOD: Fail securely (deny on error — A10:2025)
try {
const isAuthorized = await checkPermission(user, resource);
if (!isAuthorized) return res.status(403).json({ error: 'Forbidden' });
return next();
} catch (err) {
logger.error('Permission check failed', { err, user, resource });
return res.status(403).json({ error: 'Forbidden' }); // Default deny
}
Verify:
Create findings report:
## Security Assessment Report
### Critical Findings
1. SQL injection in /api/users endpoint
- Risk: Data breach
- Fix: Use parameterized queries
### High Findings
2. Missing rate limiting on login
- Risk: Brute force attacks
- Fix: Implement rate limiting
3. OAuth 2.0 implicit grant in use (deprecated)
- Risk: Access token exposure in URL fragments / browser history
- Fix: Migrate to Authorization Code + PKCE (OAuth 2.1)
### Medium Findings
4. No lockfile committed for npm dependencies
- Risk: Supply chain attack via dependency resolution drift
- Fix: Commit package-lock.json; add lockfile verification to CI
### Recommendations
- Enable HTTPS everywhere; enforce HSTS
- Implement CSP headers
- Add security logging for auth events
- Migrate to OAuth 2.1 (remove implicit/ROPC grants)
- Implement passkey/WebAuthn for phishing-resistant authentication
- Run `npm audit` / `pnpm audit` in CI with failure on high/critical
</execution_process>
<best_practices>
</best_practices>
Review the authentication flow in src/auth/ for security issues
Example Response :
## Security Review: src/auth/
### Findings
#### CRITICAL: Weak Password Hashing
- File: src/auth/password.js:23
- Issue: Using MD5 for password hashing
- Fix: Use bcrypt with cost factor >= 12
#### HIGH: No Rate Limiting
- File: src/auth/login.js
- Issue: Login endpoint has no rate limiting
- Fix: Add rate limiting (5 attempts/minute)
#### HIGH: OAuth 2.0 Implicit Grant in Use
- File: src/auth/oauth.js:45
- Issue: Using response_type=token (implicit grant, deprecated in OAuth 2.1)
- Fix: Migrate to Authorization Code flow with PKCE
#### MEDIUM: Session Not Invalidated
- File: src/auth/logout.js
- Issue: Logout doesn't invalidate server-side session
- Fix: Clear session from store on logout
### Recommendations
1. Implement bcrypt for password hashing (cost factor >= 12)
2. Add rate limiting middleware (5 req/min on /login)
3. Migrate OAuth flows to Authorization Code + PKCE (OAuth 2.1)
4. Consider passkeys/WebAuthn for phishing-resistant authentication
5. Use secure session configuration (HTTPOnly, Secure, SameSite=Strict)
</usage_example>
<usage_example> AI Agent Security Review Request :
Review the LLM agent pipeline in src/agents/ for agentic AI security risks
Example Response :
## Agentic AI Security Review: src/agents/
### ASI01 — Agent Goal Hijack (HIGH)
- File: src/agents/email-processor.js
- Issue: User email content passed directly to agent system prompt without sanitization
- Fix: Sanitize email content; enforce task boundary validation in routing layer
### ASI06 — Memory & Context Poisoning (HIGH)
- File: src/agents/memory-store.js:78
- Issue: Web-fetched content written to persistent memory without validation
- Fix: Validate and sanitize all external content before writing to memory; never
execute commands retrieved from memory without explicit human approval
### ASI02 — Tool Misuse (MEDIUM)
- File: src/agents/tools/file-tool.js
- Issue: Agent has both read and delete file permissions; delete scope too broad
- Fix: Split into read-only and write tools; apply least privilege per agent role
### ASI10 — Rogue Agent Risk (MEDIUM)
- Issue: No kill-switch or hard resource limits on agent execution
- Fix: Implement max-steps limit, timeout, and human override checkpoint for
operations affecting production data
</usage_example>
| Anti-Pattern | Why It Fails | Correct Approach |
|---|---|---|
| Approving code without full security review | Partial reviews miss exploitable paths in auth/PII/external data flows | Complete all STRIDE + OWASP phases before approving production deployment |
| Using OWASP 2021 for AI/agentic systems | AI-specific threats (ASI01-ASI10) are not covered by the standard web list | Always run both OWASP Top 10 2025 and ASI01-ASI10 for any agentic component |
| Failing open on security errors | Error paths become exploitable bypass conditions | Design every failure mode to deny access by default |
| Providing vague remediation guidance | Developers cannot act without specifics | Provide exact code examples and parameterized fix patterns for every finding |
| Missing severity prioritization | Critical findings are buried in noise with informational findings | Triage all findings as CRITICAL > HIGH > MEDIUM > LOW before delivery |
auth-security-expert - OAuth 2.1, JWT, and authentication-specific security patternsFor comprehensive security audits requiring multi-phase threat analysis, vulnerability scanning, and remediation planning, see the corresponding workflow:
.claude/workflows/security-architect-skill-workflow.mdKey Features:
See also: Feature Development Workflow for integrating security reviews into the development lifecycle.
Before starting:
cat .claude/context/memory/learnings.md
After completing:
.claude/context/memory/learnings.md.claude/context/memory/issues.md.claude/context/memory/decisions.mdASSUME INTERRUPTION: Your context may reset. If it's not in memory, it didn't happen.
Weekly Installs
60
Repository
GitHub Stars
19
First Seen
Jan 27, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
github-copilot59
gemini-cli58
amp57
codex57
kimi-cli57
opencode57
SoulTrace 人格评估 API - 基于五色心理模型的贝叶斯自适应测试
56,700 周安装
iOS Vision Framework 计算机视觉开发指南:主体分割、姿态检测、OCR 与文档扫描
569 周安装
Tavily Search API:实时网络搜索与RAG检索增强生成,为LLM智能体提供最新信息
56 周安装
TanStack Form:高性能无头表单库,支持TypeScript、Zod、Valibot验证
596 周安装
nuqs Next.js 最佳实践:42条类型安全URL状态管理规则,提升开发效率与性能
571 周安装
Valtio:React与原生JavaScript的极简代理状态管理库,支持细粒度订阅与响应式编程
569 周安装
Z-Image图像生成技能:通过ModelScope API快速生成AI图像,支持自定义提示词
573 周安装
| 8 | A08 | Software or Data Integrity Failures | Stable |
| 9 | A09 | Security Logging and Alerting Failures | Stable |
| 10 | A10 | Mishandling of Exceptional Conditions | NEW |
A04: Cryptographic Failures (down from #2)
A05: Injection (down from #3)
A06: Insecure Design (down from #4)
A07: Authentication Failures
A08: Software or Data Integrity Failures
A09: Security Logging and Alerting Failures
A10: Mishandling of Exceptional Conditions (NEW)
| Agents manipulate users into unsafe approvals |
| ASI10 | Rogue Agents | Agents act outside authorized scope |