Not in the top 1,000 by GitHub stars

defi0x1/app-security-skills

Claude Code skill: security + code review in one pass. Evidence-gated findings, invariant-based hunting, deep multi-agent audit engine, read-only.

History

Review weekly changes to SKILL.md before updating. Dates mark the weeks in which we observed each version; checks apply to the recorded commits.

View weekly changes

appsec/SKILL.md

Week of Nov 2, 2026 · +0 / −0 lines

Before Network or broad shell → After Network or broad shell

05010c7a8a5b → 05010c7a8a5b

Compare on GitHub

Week of Oct 26, 2026 · Line counts unavailable

Before Not checked yet → After Network or broad shell

First observation → 05010c7a8a5b

No earlier version was observed for comparison.

Compare on GitHub

View on GitHubAdd to my skills

Verified commit 05010c7a8a5b87b5920d8e52c88cda0b93219708

11GitHub stars
0stars in 7 days
1skill in this repository
3commits in 30 days

Heat

1.3
  • Star growth, last 7 daysNot available
  • Star growth, last 24 hoursNot available
  • Rank movement, last 7 daysNot available
  • Commits, last 30 daysNot available
  • Accounts asking about it through MCP, last 7 daysNot available
  • Hot votes this weekNot available

Heat never changes the order by stars, and sponsorship never touches it. How heat works

Stars over time

Oct 25, 2026Oct 28, 202611

30-day change not yet available: not enough history.

Individual skills in this repository

How it works

appsec

When your agent uses it

Code reviewer with one entry point: /appsec. Use whenever the user wants code reviewed: current-branch work including uncommitted and new files ('review my changes', 'review this branch'), a Merge/Pull Request by number or URL ('review MR 123'), several MRs, or a whole repo/directory ('audit the whole repo', 'pre-pentest sweep'). Auto-detects scope and risk, no questions; runs two equal tracks: SECURITY (OWASP/CWE: injection, access control, auth/session, SSRF, XSS, deserialization, crypto, DoS, race, secrets, supply chain, CI/CD, mobile MASVS, LLM/agent/MCP, domain hunting (HTTP smuggling, OAuth/SAML, tenant isolation, cloud IAM, native memory); invariant-based hunting, 5 verification gates, 'needs validation' verdict) and CODE (correctness, business logic vs spec, migrations/API compatibility, performance, over-engineering, tests, conventions; 4 gates). Large or risky changes get the deep engine: recon, coverage table, parallel hunters, independent verifiers. Returns a merge verdict.

What it loads into context

Frontmatter

241 tokens

Always available to the agent

SKILL.md

1,527 tokens

When the skill is activated

Reference documents

49,310 tokens

Loaded on request

Token counts are estimates. Scripts run separately; they are not counted as reference context.

The playbook

  1. References
  2. Fixed principles

Files

  • SKILL.mdcore6,485 bytes
  • VERSIONasset6 bytes
  • references/ai-llm-security.mddoc11,312 bytes
  • references/change-classification.mddoc9,173 bytes
  • references/code-review.mddoc9,954 bytes
  • references/domains/ci-release.mddoc7,399 bytes
  • references/domains/client-side.mddoc6,512 bytes
  • references/domains/cloud-deployment.mddoc7,101 bytes
  • references/domains/data-isolation.mddoc6,298 bytes
  • references/domains/local-ipc-desktop.mddoc7,471 bytes
  • references/domains/native-memory.mddoc7,694 bytes
  • references/domains/protocols-messaging.mddoc6,553 bytes
  • references/domains/resource-exhaustion.mddoc5,555 bytes
  • references/domains/web-auth.mddoc7,946 bytes
  • references/hunting-method.mddoc13,635 bytes
  • references/mobile/android.mddoc5,511 bytes
  • references/mobile/cross-platform.mddoc3,694 bytes
  • references/mobile/ios.mddoc3,870 bytes
  • references/mobile/lessons.mddoc4,415 bytes
  • references/multi-mr.mddoc4,738 bytes
  • references/report-template.mddoc7,424 bytes
  • references/secure-coding-patterns.mddoc11,732 bytes
  • references/secure-design.mddoc3,832 bytes
  • references/severity-cwe.mddoc11,376 bytes
  • references/supply-chain-devsecops.mddoc7,710 bytes
  • references/tob.mddoc1,451 bytes
  • workflows/review-deep.mddoc16,333 bytes
  • workflows/review.mddoc21,367 bytes
Read SKILL.md

# appsec

One purpose: **code review**. One command: **`/appsec`**. Everything after it is optional plain language, not flags:

| Goal | Example |
|---|---|
| Work in progress on this branch (including uncommitted, new files) against the target branch | `/appsec` |
| MR/PR by number or link | `/appsec 123`, `/appsec !123`, `/appsec <URL>` |
| Anything else | `/appsec against develop`, `/appsec uncommitted only`, `/appsec be thorough`, `/appsec audit the whole repo`, `/appsec src/billing`, `/appsec 123. Spec: ...` |

The skill decides scope, standard or deep review, which domains to hunt, and the independent reviewer on its own; it does not ask again unless it cannot continue. It always reviews two equal tracks: **Security** and **Code** (logic, business rules, design, over-engineering, performance, tests, conventions). Respond in the user's language (default English); keep code and identifiers in English.

**Follow [workflows/review.md](workflows/review.md).** Deep review (large/risky diff, whole repo, or the user says "thorough") automatically moves the Security track to [workflows/review-deep.md](workflows/review-deep.md).
View the complete source on GitHub

Skills included

  • appsec

Repository facts

License
MIT
Created
Oct 19, 2026
Last pushed
Oct 19, 2026
Forks
2
Open issues
0
Project activity
Active

Before you install

Network or broad shell

Automated signals, not a guarantee

Checked Nov 5, 2026

Show all 37 signals by file

appsec/references/ai-llm-security.md

  • Access to secretsline 29
    [Credential-related source omitted]

appsec/references/change-classification.md

  • Access to secretsline 40
    [Credential-related source omitted]

appsec/references/domains/ci-release.md

  • Network accessline 16
    |---|---| | Source and namespace confusion (dependency confusion) | Resolver configuration picks the wrong public/private namespace, registry fallback, mirror, or source URL. Unscoped internal package names; `--extra-index-url`; substitute 
  • Network accessline 17
    | Source and namespace confusion (dependency confusion) | Resolver configuration picks the wrong public/private namespace, registry fallback, mirror, or source URL. Unscoped internal package names; `--extra-index-url`; substitute build file
  • Dangerous shell operationline 18
    | Mutable build inputs | The build uses branches, tags, unverified submodules, downloaded tools (`curl \| sh`), generated assets, remote includes, CI actions not pinned to a SHA (`uses: x/y@v1`, `@main`), or mutable image tags. Needs a less
  • Network accessline 18
    | Mutable build inputs | The build uses branches, tags, unverified submodules, downloaded tools (`curl \| sh`), generated assets, remote includes, CI actions not pinned to a SHA (`uses: x/y@v1`, `@main`), or mutable image tags. Needs a less

appsec/references/domains/local-ipc-desktop.md

  • Access to secretsline 3
    [Credential-related source omitted]
  • Access to secretsline 10
    [Credential-related source omitted]
  • Access to secretsline 45
    [Credential-related source omitted]

appsec/references/mobile/android.md

  • Access to secretsline 62
    [Credential-related source omitted]

appsec/references/mobile/cross-platform.md

  • Access to secretsline 7
    [Credential-related source omitted]
  • Access to secretsline 8
    [Credential-related source omitted]
  • Access to secretsline 16
    [Credential-related source omitted]

appsec/references/mobile/ios.md

  • Access to secretsline 20
    [Credential-related source omitted]
  • Access to secretsline 21
    [Credential-related source omitted]
  • Access to secretsline 22
    [Credential-related source omitted]
  • Access to secretsline 27
    [Credential-related source omitted]

appsec/references/mobile/lessons.md

  • Access to secretsline 17
    [Credential-related source omitted]
  • Access to secretsline 18
    [Credential-related source omitted]

appsec/references/multi-mr.md

  • Network accessline 17
    # (b) GitLab API: needs GITLAB_TOKEN (scope read_api) and the URL-encoded project path PROJ=$(git remote get-url origin | sed -E 's#^(https?://|ssh://)?([^@/]+@)?[^/:]+[:/]##; s#\.git$##' | sed 's#/#%2F#g')   # handles https and scp-style s
  • Network accessline 18
    [Credential-related source omitted]
  • Dangerous shell operationline 19
    [Credential-related source omitted]
  • Network accessline 19
    [Credential-related source omitted]
  • Access to secretsline 19
    [Credential-related source omitted]
  • Network accessline 20
    "https://$GITLAB_HOST/api/v4/projects/$PROJ/merge_requests/$IID" | \

appsec/references/secure-coding-patterns.md

  • Network accessline 62
    |---|---|---| | Resolve DNS, check the IP, then let the HTTP client resolve again | DNS rebinding | Connect directly to **the exact IP that was checked** (keep Host header/SNI) or go through an egress proxy with an allowlist | | `url.starts
  • Network accessline 63
    | Resolve DNS, check the IP, then let the HTTP client resolve again | DNS rebinding | Connect directly to **the exact IP that was checked** (keep Host header/SNI) or go through an egress proxy with an allowlist | | `url.startswith("https://
  • Network accessline 64
    | `url.startswith("https://api.partner.com/")` + `allow_redirects=True` | The partner returns a 302 to an internal address | Disable redirects, or re-validate every hop |
  • Network accessline 78
    - `pickle.loads`, `yaml.load`, `ObjectInputStream`, `unserialize`, `node-serialize` on untrusted data: code runs at deserialization time, and an `isinstance` check afterward is too late. Right: JSON + schema validation; `yaml.safe_load`. ML
  • Network accessline 79
    - XXE: `setExpandEntityReferences(false)` is **not enough**. Enable `http://apache.org/xml/features/disallow-doctype-decl`, disable external general and parameter entities, `XMLConstants.FEATURE_SECURE_PROCESSING`.

appsec/references/severity-cwe.md

  • Network accessline 90
    | Attacker-controlled CI expression injected into a shell | HIGH, CRITICAL if the job has secrets | CWE-78, CWE-94 | | Cache/artifact from a low-trust job consumed by a privileged job | HIGH | CWE-345, CWE-829 | | CI action not pinned to SH
  • Network accessline 91
    | Cache/artifact from a low-trust job consumed by a privileged job | HIGH | CWE-345, CWE-829 | | CI action not pinned to SHA, `curl \| sh` tool in a build | LOW, MEDIUM if the job has secrets or release permission | CWE-494, CWE-829 | | Upd
  • Dangerous shell operationline 92
    | CI action not pinned to SHA, `curl \| sh` tool in a build | LOW, MEDIUM if the job has secrets or release permission | CWE-494, CWE-829 |
  • Network accessline 92
    | CI action not pinned to SHA, `curl \| sh` tool in a build | LOW, MEDIUM if the job has secrets or release permission | CWE-494, CWE-829 |

appsec/references/supply-chain-devsecops.md

  • Access to secretsline 57
    [Credential-related source omitted]

appsec/workflows/review.md

  • Access to secretsline 84
    [Credential-related source omitted]
  • Access to secretsline 151
    [Credential-related source omitted]

How the signals fit together

Facts from a static read of the files at the pinned commit. They describe what the code does, not why.

Signal confidence: 37 facts

Works with

Agent compatibility, from the files in this repository
AgentStatusEvidenceInstall to
Claude CodeCompatibleStandard SKILL.md appsec/SKILL.md.claude/skills/<skill-name>/
CodexCompatibleStandard SKILL.md appsec/SKILL.md.agents/skills/<skill-name>/
CursorCompatibleStandard SKILL.md appsec/SKILL.md.cursor/skills/<skill-name>/
Gemini CLICompatibleStandard SKILL.md appsec/SKILL.md.gemini/skills/<skill-name>/
GitHub CopilotCompatibleStandard SKILL.md appsec/SKILL.md.github/skills/<skill-name>/
OpenCodeCompatibleStandard SKILL.md appsec/SKILL.md.opencode/skills/<skill-name>/
  • Native The repository ships a manifest, folder or frontmatter field for this agent.
  • Compatible A standard SKILL.md that this agent can read.
  • Unknown No evidence either way.

Derived automatically from paths, manifests and frontmatter. Not tested on each agent.