telagod/defending-applications
Application security defense knowledge for builders. Covers Web/API/GraphQL hardening (XSS/SQLi/SSRF/IDOR/BOLA/Mass Assignment/deserialization/upload/path traversal), authentication/authorization (OAuth 2.0/OIDC/JWT/Session/Cookie/SAML/SSO), and LLM application security (prompt injection, jailbreak, RAG poisoning, agent privilege escalation, output filtering). Use when designing or reviewing application-layer defenses, fixing CVE-class bugs in your own code, hardening auth flows, or threat-modeling LLM-powered features. For offensive testing see securing-systems/pentest, for incident response see securing-systems/blue-team, for infra-layer hardening see provisioning-infrastructure.
npx skills add https://github.com/telagod/code-abyss --skill defending-applications
> 判断先于执行:决定「是否做 / 选什么 / 如何取舍」(栈、方案、架构、权衡)前,先读领域判断内核 skills/_kernel/security/SKILL.md——它管 judgment,本秘典管 execution;冲突时以内核判断为准。
> 开发侧防御秘典:站在 builder 一侧,把漏洞挡在合并前。
> 不教渗透,只教"如何写出杀不动的代码"和"如何把已生漏洞最小代价闭环"。
> 信级:项目源码/lock 文件 > 框架官方安全文档 > CVE/CWE > 训练记忆(标 [unverified])。
| 意图 | 加载 | 触发词 |
|------|------|--------|
| Web/API/GraphQL 漏洞防御 | web-api-appsec | XSS, SQLi, SSRF, BOLA, IDOR, Mass Assignment, GraphQL, 反序列化, 文件上传, 路径遍历, XXE, OWASP |
| 认证授权与会话 | oauth-and-sessions | OAuth, OIDC, JWT, SSO, SAML, Session, Cookie, PKCE, refresh token, kid 注入 |
| LLM 应用安全 | llm-appsec | Prompt 注入, 越狱, 越权调用, RAG 投毒, agent tool 滥用, 输出过滤, jailbreak |
| 场景 | 使用本 skill | 使用其他 |
|------|--------------|----------|
| review 自家代码、修 CVE、设计鉴权 | ✅ 本 skill | — |
| 写 SAST 规则、Semgrep 模式 | ✅ 本 skill + securing-systems/code-audit | — |
| 设计 LLM 应用的 guardrail | ✅ llm-appsec | + building-agent-systems/llm-security |
| 红队渗透、写 PoC 攻击目标 | ❌ | securing-systems/pentest |
| 处理已发生的入侵、日志取证 | ❌ | securing-systems/blue-team |
| 容器/K8s/CI 加固 | ❌ | provisioning-infrastructure |
| 设计零信任、身份架构 | 部分(OAuth/SSO 内) | architecting-security |
威胁建模 → 入口梳理 → source→sink 追踪 → 防御层选型 → 最小修复 → 回归测试 → 检测信号埋点
每个漏洞的修复必须回答三问:
❌ 错代码 / ✅ 正代码 对比,错代码必须能跑通漏洞场景。example.com / RFC 5737 网段(192.0.2.0/24);token/密钥用 <REDACTED>。Take telagod/defending-applications from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.