Skip to content

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

web-security-skills

Evidence-driven security engineering skills for AI-assisted web development.

Twelve focused skills with 130 authored controls help developers design, implement, review, and verify web applications against the OWASP Top 10:2025 and API Security Top 10:2023. The suite connects security requirements to code paths, negative tests, deployment evidence, and operational ownership.

The detailed ambiguity review records the subsequent instruction refinements, source-binding change, and new behavioral evaluations.

It is intended for developers building websites, APIs, SaaS applications, administration tools, and serverless systems with an AI coding assistant. Instructions are written in formal English and use the open SKILL.md format.

Security depends on the application, infrastructure, dependencies, operations, and quality of verification. These skills cannot make an application unhackable, replace an independent security assessment, or certify ASVS compliance. Their purpose is to make security work concrete and reviewable.

Start here

Read installation and compatibility, install the suite in your coding assistant's supported skill directory, and invoke the main skill:

Use $web-security to assess this repository at its current revision.
Map the architecture and trust boundaries, then review the applicable
OWASP Top 10:2025 and API Security Top 10:2023 controls. Inspect authenticated
and cross-tenant paths. Report confirmed findings, supporting evidence,
tests actually performed, and controls that remain unverified.

For implementation work:

Use $web-security in build mode to implement this feature securely.
Define its trust boundaries and business invariants, apply the relevant
specialist controls, and implement meaningful positive and negative tests.
Finish the authorized code changes and report remaining deployment checks.

For a harness without skill discovery, explicitly provide the main SKILL.md and let the agent load its referenced files. Model access alone does not give a harness file access, testing tools, or permission to modify an application.

The suite

Skill Primary coverage Examples of decisions it changes
web-security Coordination and evidence Select the right scope; trace boundaries; distinguish verified results from missing evidence.
web-security-access-control A01 Broken Access Control Object, property, function and tenant authorization; SSRF; revocation across caches and jobs.
web-security-configuration A02 Security Misconfiguration Effective configuration, headers, CORS, proxy trust, cache isolation and cloud exposure.
web-security-supply-chain A03 Software Supply Chain Failures Dependency lifecycle, CI trust boundaries, pinned actions, publisher identity and provenance.
web-security-cryptography A04 Cryptographic Failures Secrets, frontend exposure, key lifecycle, encryption, password storage and recovery.
web-security-injection A05 Injection SQL, NoSQL, command, template and browser sinks; uploads and contextual encoding.
web-security-design A06 Insecure Design Threat models, transaction invariants, abuse cases, concurrent state changes and AI features.
web-security-authentication A07 Authentication Failures OAuth/OIDC, sessions, MFA, recovery, token validation and credential attacks.
web-security-integrity A08 Software or Data Integrity Failures Webhook authenticity, replay controls, signed artifacts, deserialization and trusted updates.
web-security-logging A09 Security Logging and Alerting Failures Events, redaction, tamper resistance, actual alert delivery and response ownership.
web-security-exceptions A10 Mishandling of Exceptional Conditions Fail-closed authorization, bounded resources, retries, partial writes and recovery.
web-security-api All ten API Security Top 10:2023 categories REST, GraphQL, WebSockets, API inventory, consumption budgets and third-party responses.

Each specialist has a concise entrypoint and detailed, independently usable control references. A Cloudflare profile covers relevant Workers, Pages, R2, D1, KV, and Queues boundaries. Controls are selected according to the actual architecture; provider names are not evidence that a control is enabled.

Framework adapters cover Next.js/Node, Django/FastAPI, Laravel/PHP, Spring Security, ASP.NET Core, Rails, Go, and Cloudflare/Hono. They identify where to inspect enforcement and how to challenge it; they do not assert that those integrations were tested here.

Engineering approach

The suite incorporates researched methods from Trail of Bits, Sentry, OpenAI, and Anthropic: architecture reconstruction, source-to-sink tracing, differential review, variant analysis, secure defaults, framework-aware guidance, and evidence-based reporting. See the inspected files, licenses, strengths, and limitations in the research comparison.

The instructions are original. External skill implementations are not bundled. This is a reasoned synthesis of useful methods, not a measured claim of being the best security system or an endorsement by the referenced organizations.

The workflow explicitly addresses common sources of false confidence:

  • An authenticated attacker can still violate object, tenant, or role boundaries.
  • A public identifier is not automatically a secret; a build-time secret can become public when embedded in a browser bundle.
  • A configured WAF, CORS policy, or security header does not prove authorization.
  • A scanner result requires context and triage. Missing tests are an evidence gap, not proof of a high-severity vulnerability.
  • A logged event does not prove a notification reached an accountable owner.
  • Security must hold during timeouts, retries, malformed inputs, concurrent requests, and partial failures.

Evidence and verification

The control catalog assigns stable project IDs to the authored controls. Its four states are verified, failed, unverified, and not_applicable.

A control with multiple obligations is verified only when every applicable obligation has adequate evidence. Demonstrated current failures take precedence over unrelated uncertainty; omitted work is not automatically inapplicable. The version 2 catalog binds a declared digest of the instruction sources as well as the control index. Migration guidance explains why prior records must be reassessed rather than silently upgraded.

A local Python utility can initialize and validate an assessment ledger:

python3 skills/web-security/scripts/assessment.py init \
  --target example-application \
  --revision FULL_COMMIT_SHA \
  --output /private/path/assessment.json

python3 skills/web-security/scripts/assessment.py check \
  /private/path/assessment.json --require-complete

Replace FULL_COMMIT_SHA with the application's full immutable revision and choose an existing private output directory. The utility does not run tests, inspect the application, contact a service, or verify the authenticity of an evidence claim. For uncommitted source, use the retained snapshot procedure in the evidence format instead of attributing edited code to an unchanged commit. The utility rejects malformed ledgers, missing controls, and unsupported completion claims within its documented evidence format.

Read the evidence format, use the assessment report template, and keep real findings and credentials out of this public repository.

Standards and scope

The research baseline is OWASP Top 10:2025, API Security Top 10:2023, ASVS 5.0.0, and WSTG 4.2. Other primary sources inform protocol, platform, and implementation guidance. Version boundaries and the distinction between an authored control and an official verification requirement are documented in standards and mapping.

The suite includes all ten Top 10 risk categories. It does not reproduce every ASVS requirement or cover every possible vulnerability, framework, cloud service, or jurisdiction. For an explicit ASVS assessment, select the official version and level, then track every applicable requirement separately.

Repository quality checks

The Python utilities require Python 3.10 or newer and use only the standard library. No package installation is needed for the bundled checks.

python3 tools/validate_repository.py
python3 -m unittest discover -s tests -v
python3 -B -m unittest discover -s evals/results/redemption -p 'test_redemption.py' -v

Repository CI checks structure, local references, catalog consistency, Python syntax, 54 evidence-helper tests, 21 repository-tool tests, and 23 tests of the preserved secure-build example. It does not run a security audit on downstream applications. The checkout action is pinned to a reviewed release commit, credentials are not persisted, and jobs receive read-only repository access.

Evaluation scenarios cover realistic decision failures, negative controls, and secure implementation. Validation results distinguish checks that were actually run from additional evaluations still to be performed. Compatibility and effectiveness across untested models remain unverified.

Contribute

Improve a concrete security decision, provide a primary source, and include a synthetic negative test or evaluation scenario. See CONTRIBUTING.md and SECURITY.md. Security guidance needs continued maintenance; pin a reviewed revision and inspect changes before updating your installation.

Original project content is licensed under Apache-2.0. Referenced sources retain their own licenses and trademarks; see NOTICE.

About

No description, website, or topics provided.

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages