© 2026 Loop · Operator desk for agent skills

SkillsSandboxSettingsFAQPrivacyTerms
LoopLoopLoooop
GitHub

© 2026 Loop · Operator desk for agent skills

SkillsSandboxSettingsFAQPrivacyTerms
LoopLoopLoooop
GitHub
← Back to skills
SecurityUserv14FreePublic

OWASP Security Best Practices

v16v15v14v13v12

Operational OWASP-aligned secure-coding baseline updated for Top 10:2025 and the March 2026 Axios supply-chain incident, adding concrete IoCs, CI mitigation steps, and stronger publishing-hygiene controls.

LoopLoopVerified10 sources · Updated 5d ago
Run in sandbox
AutomationActiveDailyNext in 1h10 sources1d ago · v16

Content

OWASP Security Best Practices

Systematic secure-coding defaults for web applications grounded in the OWASP Top 10:2025 and ASVS. Covers input validation, output encoding, authentication hardening, authorization enforcement, cryptographic hygiene, dependency & supply-chain management, and security review + incident-response workflows.

When to use

  • Starting a new web application or API and need a security baseline
  • Reviewing an existing codebase for hardening opportunities
  • Adding user-facing forms, file uploads, or payment flows
  • Preparing for a security audit or penetration test
  • Onboarding a team to secure-coding standards

When NOT to use

  • Pure static marketing sites with zero user input — reach for CSP headers only
  • Embedded firmware or kernel-level security — reach for platform-specific hardening guides
  • Threat modeling (use the security-threat-model skill instead)

Core concepts

  • Defense in depth: multiple overlapping controls so no single failure is catastrophic
  • Least privilege: every component gets the minimum permissions it needs
  • Fail secure: errors deny access by default, never fail open
  • Input validation: allowlist-first validation at every trust boundary
  • Output encoding: context-aware encoding prevents injection in HTML, JS, SQL, URLs
  • Secure defaults: ship with the strictest config; relax intentionally
  • HTTP header sanitization: validate/sanitize header values before writing to sockets to prevent CRLF/SMUGGLING/SSRF gadget chains

© 2026 Loop · Operator desk for agent skills

SkillsSandboxSettingsFAQPrivacyTerms

OWASP Top 10:2025 quick reference

Update: the OWASP Top 10 was revised for 2025. Use the Top 10:2025 labels and guidance in risk assessments and checklists.

#2025 RiskPrimary defense
A01Broken Access ControlRBAC + row-level security + server-side checks
A02Security MisconfigurationHardened defaults, minimized permissions, automated config drift detection
A03Software Supply Chain FailuresSBOM, reproducible builds, SCA, frozen lockfiles, CI gating
A04Cryptographic FailuresTLS everywhere, modern algorithms, secure key storage
A05InjectionParameterized queries, typed validation, output encoding
A06Insecure DesignThreat modeling, abuse stories, secure-by-design requirements
A07Authentication FailuresMFA, secure session handling, anti-automation controls
A08Software or Data Integrity FailuresSigned artifacts, integrity checks in CI/CD
A09Security Logging & Alerting FailuresStructured logs, monitoring, alerting on anomalies
A10Mishandling of Exceptional ConditionsSafe error-handling, no sensitive info in error messages

References: OWASP Top 10:2025 — https://owasp.org/Top10/2025/

Workflow

Step 1: Define a validation layer with Zod (or equivalent)

Every external input must pass through a schema before touching business logic. Keep transformations explicit and log for review during development.

Step 2: Harden HTTP headers

Apply strict header validation and common security headers. In addition to HSTS, CSP, X-Content-Type-Options, Referrer-Policy, explicitly validate header values before writing them to sockets to prevent CRLF/SMUGGLING payloads and header-injection gadget chains.

Practical rules:

  • Reject header values containing CR or LF characters: if (/\r|\n/.test(value)) reject
  • Normalize header names and canonicalize values before merging
  • When merging user-supplied config into request headers, sanitize or drop unexpected keys

Practical egress-block sample (CI/build isolation):

  • Cloud: add an egress rule that denies 169.254.169.254/32 from build subnets
  • Linux iptables example (CI runner host): iptables -A OUTPUT -d 169.254.169.254 -j REJECT

Step 3: Sanitize output encoding

Use context-aware encoding helpers for HTML, attributes, JavaScript, CSS, and URLs.

Step 4: Enforce parameterized queries

Use parameterized queries or ORM parameter binding for all database access. No string interpolation of user input into SQL.

Step 5: Dependency & supply-chain management (detailed, updated)

Why update: OWASP Top 10:2025 elevated supply-chain issues to A03 and recent incidents demonstrate active exploitation of publishing workflows, maintainer account compromises, and lifecycle-script abuse. The March 30–31, 2026 Axios incident demonstrates attacker-controlled publishes that added a staged malicious dependency (plain-crypto-js@4.2.1) with a postinstall hook which deployed a cross-platform RAT during installation. See Snyk advisory for full technical details and IOCs.

Concrete, operational controls (copy-paste checklist):

  • Lockfiles & reproducible installs

    • Keep a single source-of-truth lockfile (package-lock.json / pnpm-lock.yaml / yarn.lock) in the repo.
    • CI: use reproducible installs and freeze behavior:
      • npm: npm ci --prefer-offline --no-audit --ignore-scripts
      • pnpm: pnpm install --frozen-lockfile --ignore-scripts
      • yarn: yarn install --immutable --ignore-scripts
    • Use --ignore-scripts when the production build does not require lifecycle scripts to run during package installation to reduce exposure to malicious postinstall hooks. Test builds in hermetic environments before enabling.
  • SBOM (Software Bill of Materials)

    • Generate an SBOM for every build and attach it to release artifacts (CycloneDX or SPDX):
      • syft packages dir:. -o cyclonedx > sbom.cyclonedx.json
  • SCA & scanning in CI

    • Run SCA tools in CI (Snyk, GitHub Dependabot, npm audit, pnpm audit) and gate merges on no new high/critical findings.
    • Example gate: snyk test || exit 1 or pnpm audit --level=high && exit 1.
  • Verify package provenance and integrity

    • Where available, verify package signatures (in registries that support signing) or compare package tarball hashes before accepting new versions in gated builds.
    • Consider caching vetted tarballs in an internal registry (Artifactory, Nexus, Verdaccio) for production builds.
  • Disallow or audit package lifecycle scripts in production builds

    • Avoid running untrusted lifecycle scripts during production builds; prefer building inside hermetic containers that do not execute package scripts.
    • If you must run lifecycle scripts, run them in an isolated step with restricted network access and short-lived credentials.
  • Curated dependency allowlist & publishing hygiene

    • For critical builds, maintain an allowlist of approved packages and versions. Require 2FA for maintainer accounts that can publish critical packages and enforce SSO for org-level publishing accounts.
    • Minimize publishing permissions and enforce separation-of-duty for release promotions (use separate signing and publishing CI jobs with different credentials).
  • Artifact signing & integrity checks

    • Sign release artifacts and verify signatures during deployment to mitigate tampered releases (A08 mitigation).
  • Lockfile auditing & CI runner hardening

    • Scan lockfiles for unexpected versions during release. Avoid running untrusted third-party workflows on privileged runners; isolate ephemeral runners and rotate tokens regularly.
  • Monitoring & alerting

    • Subscribe to vendor advisories (Snyk, GitHub Security Advisories, NVD) and add automated alerts into your security backlog for immediate triage of supply-chain disclosures.
  • Incident response for supply-chain compromise (operational steps)

    1. Identify exposure: audit lockfiles and dependency trees to find where malicious versions were installed. Example commands:
      • npm ls axios@1.14.1 || true
      • npm ls axios@0.30.4 || true
      • grep -nE "axios[\"'@].*(1\\.14\\.1|0\\.30\\.4)" package-lock.json yarn.lock pnpm-lock.yaml || true
    2. Contain: suspend affected CI jobs and isolate ephemeral runners; rotate runner tokens and secrets.
    3. Eradicate: rebuild images from known-good lockfiles or pinned safe versions; prefer builds from signed artifacts or commit hashes predating the malicious publish.
    4. Rotate secrets that the compromised runner or build could access and revoke exposed credentials.
    5. Hunt for persistence: scan artifact storage, container registries, and deployed hosts for postinstall artifacts or network indicators.
    6. Notify stakeholders and publish IOCs internally (hashes, C2 domains) to speed detection — vendors like Snyk publish IOCs in advisories.

References: Snyk advisory on Axios compromise (SNYK-JS-AXIOS-15850650, Mar 30–31, 2026) — https://snyk.io/blog/axios-npm-package-compromised-supply-chain-attack-delivers-cross-platform/

Header-sanitization & prototype-pollution mitigation (new)

Why: GitHub and Snyk advisories described gadget chains where un-sanitized header values and prototype pollution in third-party parsers can escalate into metadata exfiltration (IMDS) and similar attacks. Operational mitigations are concrete and low-cost.

  • Avoid compromised Axios releases (e.g., axios@1.14.1 and axios@0.30.4). Immediate remediation options:
    • Pin to a known-safe version or upgrade to a release explicitly marked fixed by the Axios project. Verify the project's official advisory and cross-check with Snyk/GHSA/NVD before selecting the upgrade target.
    • If you rely on transitive dependencies, scan lockfiles for plain-crypto-js@4.2.1 (the malicious dependency used in the Axios incident) and other unexpected packages.
  • Apply a header validator before writing headers to sockets (reject CR/LF characters and unexpected header names).
  • Prevent prototype pollution sources: keep parsers and CLI libraries updated (e.g., qs, minimist) and adopt runtime checks that reject unexpected properties on merged configs.
  • Restrict server-side code from making requests to sensitive IP ranges (169.254.169.254 for AWS metadata) unless explicitly required. Add egress firewall rules or platform-level allowlists; for build/CI runners, block IMDS access where not needed.

Example header-sanitization pseudo-fix (conceptual):

// when setting headers Object.entries(headers).forEach(([k,v]) => { if (typeof v === 'string' && /[\r\n]/.test(v)) throw new Error('Invalid header value'); // canonicalize and whitelist header names here });

Reference: GitHub Advisory — Axios header-injection / metadata exfiltration (GHSA-fvcv-3m26-pcqx / CVE-2026-40175) — https://github.com/advisories/GHSA-fvcv-3m26-pcqx

Step 6: Secure-by-design & threat modeling

  • Follow OWASP A06: Insecure Design: create abuse stories for each feature and make them part of acceptance criteria.
  • Require security review for new third-party integrations and any change that crosses trust boundaries.

Step 7: Runtime protections

  • Enforce least privilege for service identities and database roles.
  • Use network egress allowlists for backend services and block outbound access from build runners where possible.
  • Rotate keys and use short-lived credentials.

Examples and defensive checks (concrete)

  • Lockfile check (quick):
    • npm ci --ignore-scripts && npm ls axios@1.14.1 || npm ls axios@0.30.4 || true
  • SBOM extraction (example):
    • syft packages dir:. -o cyclonedx > sbom.cyclonedx.json
  • Detect suspicious metadata egress (example):
    • Search logs and egress flows for requests to 169.254.169.254 or unusual IMDS token creation events
    • grep -R "169.254.169.254" /var/log || true

Dev-server and template engine hardening

  • Template engines: do not pass untrusted filenames to file-loading APIs. For example, LiquidJS published a GitHub Security Advisory where renderFile() / parseFile() accepted absolute paths and bypassed configured root, allowing arbitrary file reads (patched in 10.25.5). If you use template engines, ensure:

    • You pin patched versions (e.g., upgrade liquidjs to >= 10.25.5).
    • You validate and canonicalize template path inputs and reject absolute or parent-traversal paths.
    • Use regression tests that assert a configured root rejects external absolute paths.
    • Reference: GitHub Advisory — LiquidJS renderFile/parseFile bypass — https://github.com/advisories/GHSA-v273-448j-v4qj
  • Dev servers: never expose dev servers (Vite, webpack dev server) to public or CI-accessible CIDRs. Run production builds in CI with production mode flags and avoid running dev-only features in CI or on shared runners.

Decision tree (concise)

  • User input arrives → validate with Zod schema
  • Rendering user content → apply context-appropriate output encoding
  • Storing passwords → use argon2id or bcrypt (cost >= 12)
  • Accessing data → enforce row-level security + server-side auth checks
  • Third-party dependency → pin version, run SCA, generate SBOM, and fail CI on high severity
  • Sensitive config → environment variable, not committed to repo

Edge cases and gotchas

  • Double encoding — track encoding state to avoid double-encoding user data
  • Zod transforms — .transform() runs after validation; log during development
  • CSP vs inline scripts — use nonces or external scripts to keep CSP strict
  • Rate limiter bypass — do not trust X-Forwarded-For; use platform-provided trusted headers
  • Lockfile drift — always use frozen lockfile behavior in CI
  • RLS defaults — platform databases like Supabase do not enable RLS by default; enable and test
  • JWT expiry mismatches — use short-lived access tokens and separate refresh flow
  • Parser differentials, HTTP/2 CONNECT, cache poisoning chains — PortSwigger research highlights new techniques to consider when canonicalizing inputs and designing caching/edge rules (see PortSwigger Top 10 web hacking techniques of 2025)
    • Reference: https://portswigger.net/research/top-10-web-hacking-techniques-of-2025

Evaluation criteria

  • Typed validation for all external input
  • No raw SQL string interpolation
  • Security headers applied (HSTS, CSP, X-Content-Type-Options)
  • Passwords hashed with argon2id or bcrypt (cost >= 12)
  • RLS enabled on all user-data tables
  • CI fails on high/critical SCA alerts
  • SBOM generated and attached to releases
  • Postinstall lifecycle scripts audited or disabled in production builds
  • Rate limiting applied to auth and write endpoints
  • Secrets not stored in code
  • Error responses sanitized
  • Security logging for auth failures and permission denials

Dependency-audit workflow (concrete)

  1. Developer opens PR with new dependency. CI generates SBOM and runs SCA.
  2. CI uses reproducible installs (npm ci / pnpm install --frozen-lockfile) and snyk test or equivalent.
  3. Fail the pipeline on high/critical findings and post actionable PR remediation.
  4. On merge, sign artifacts and attach SBOM to the release.
  5. Weekly full dependency sweep and automated PRs from Dependabot/Renovate for routine updates.

Incident response quick checklist (supply-chain & header-injection focus)

  • IOCs (example from Axios incident): collect package names, versions, hashes, and C2 domains/IPs published by vendor advisories. Known IoCs from the Snyk advisory: axios@1.14.1, axios@0.30.4, plain-crypto-js@4.2.1, C2 domain sfrclak[.]com, observed IP 142.11.206.73. (See Snyk advisory for full IOCs.)
  • Contain: suspend affected CI jobs, isolate runners, revoke tokens.
  • Metadata / header-injection specific actions:
    • Search for suspicious header values in logs (CRLF sequences, unexpected x-amz-target values).
    • Audit egress to 169.254.169.254 in logs and network flows; block it from build/CI networks where possible.
    • If prototype pollution is suspected, identify and patch the vulnerable parser and rotate credentials that could be exfiltrated.
  • Eradicate: rebuild using known-good lockfiles or signed artifacts; rotate secrets.
  • Recover: redeploy signed artifacts, validate via SBOM.
  • Post-mortem: record timeline, root cause, and update processes.

Runnable incident-response helper (copy-paste)

quick scan for affected axios versions (npm/yarn/pnpm)

usage: ./scan-axios.sh

#!/usr/bin/env bash set -euo pipefail repos=(.) for d in "${repos[@]}"; do echo "Scanning $d" pushd "$d" > /dev/null || continue npm ci --ignore-scripts >/dev/null 2>&1 || true npm ls axios@1.14.1 || npm ls axios@0.30.4 || true grep -nE "axios["'@].*(1\.14\.1|0\.30\.4)" package-lock.json yarn.lock pnpm-lock.yaml || true syft packages dir:. -o cyclonedx > sbom.cyclonedx.json || true popd > /dev/null done

Note: run this from a hermetic, offline build worker and rotate credentials before and after running if you suspect compromise.

Dev-server and template engine hardening (repeated guidance)

  • Pin patched template engines and validate canonical paths.
  • Do not expose dev servers to CI or public networks.

Research-backed changes in this revision

  • Formalized operational supply-chain mitigations and included Snyk IOCs and practical CI commands for rapid triage.
  • Added explicit header-sanitization guidance and linked the GitHub advisory/CVE that shows how prototype pollution + unsanitized headers can lead to IMDS compromise (GHSA-fvcv-3m26-pcqx / CVE-2026-40175).
  • Incorporated PortSwigger Top 10:2025 pointers on parser differentials, HTTP/2 CONNECT, and cache-poisoning chains as edge considerations.

Fresh signals used for this refresh

  • Snyk: Axios npm package compromised (SNYK-JS-AXIOS-15850650, Mar 30–31, 2026) — supply-chain incident and IOCs
    • https://snyk.io/blog/axios-npm-package-compromised-supply-chain-attack-delivers-cross-platform/
  • GitHub Advisory: Axios header-injection / metadata exfiltration (GHSA-fvcv-3m26-pcqx / CVE-2026-40175)
    • https://github.com/advisories/GHSA-fvcv-3m26-pcqx
  • OWASP Top 10:2025 — updated taxonomy including A03: Software Supply Chain Failures
    • https://owasp.org/Top10/2025/
  • PortSwigger Research — Top 10 web hacking techniques of 2025
    • https://portswigger.net/research/top-10-web-hacking-techniques-of-2025

Next edits

  • Add runnable incident response scripts to automate lockfile scanning and SBOM extraction for common package managers (starter script added above).
  • Add a CI hardening checklist for ephemeral runner security and egress firewall rules.

Experiments / future work

  • Integrate automated SBOM comparison checks between builds to detect silent changes
  • Simulate supply-chain incidents in tabletop exercises and publish scripted playbooks
  • Prototype CI checks that automatically disable lifecycle scripts for production builds unless explicitly whitelisted

Activity

ActiveDaily · 9:00 AM10 sources

Automation & run history

Automation status and run history. Only the owner can trigger runs or edit the schedule.

View automation desk
Next runin 1h
ScheduleDaily · 9:00 AM
Runs this month30
Latest outcomev16
April 2026
SuMoTuWeThFrSa
OWASP Security Best Practices refresh
Daily · 9:00 AM30 runsin 1h
Automation brief

Scan GitHub Security Advisories for critical npm CVEs. Check Snyk blog for dependency vulnerability trends. Monitor PortSwigger for new web-attack techniques. Update the secure-coding checklist, dependency-audit workflow, and incident-response patterns.

Latest refresh trace

Reasoning steps, source results, and the diff that landed.

Apr 26, 2026 · 9:43 AM
triggerAutomation
editoropenai/gpt-5-mini
duration112.8s
statussuccess
sources discovered+1
Revision: v16

This update incorporates 2026 supply-chain incidents and PortSwigger research: formalizes CI/lockfile controls, SBOM practice, header-sanitization to mitigate metadata-exfiltration gadget chains, and adds references to Snyk and GitHub advisories used for quick triage.

Added and expanded the Dependency & supply-chain management section with Snyk Axios incident details and IOCs; added explicit Header-sanitization & prototype-pollution mitigation guidance referencing GHSA/CVE; fleshed out the Incident response checklist with runnable commands and SBOM steps; noted Snyk product signals (Secrets, Container Registry Sync) and PortSwigger Top-10 research as updated threat considerations.

Agent steps
Step 1Started scanning 10 sources.
Step 2GitHub Security Advisories: 12 fresh signals captured.
Step 3Snyk Blog: 5 fresh signals captured.
Step 4PortSwigger Research: 12 fresh signals captured.
Step 5OWASP: No fresh signals found.
Step 6Krebs on Security: 10 fresh signals captured.
Step 7OWASP Top 10: 12 fresh signals captured.
Step 8NVD - Recent CVEs: 12 fresh signals captured.
Step 9Snyk Blog: 12 fresh signals captured.
Step 10GitHub Security Advisories: 12 fresh signals captured.
Step 11PortSwigger Research: 12 fresh signals captured.
Step 12Agent is rewriting the skill body from the fetched source deltas.
Step 13Agent discovered 1 new source(s): OWASP Top 10.
Step 14v16 is live with body edits.
Sources
GitHub Security Advisoriesdone

12 fresh signals captured.

Sign upOpenClaw: Bundled MCP/LSP tools could bypass configured tool policySign in
Snyk Blogdone

5 fresh signals captured.

Governing Security in the Age of Infinite Signal – From Discovery to ControlHardcoding Security into Every Commit: The Future of Snyk SecretsJPMorgan Just Published a Cyber To-Do List and Snyk Covers 8 of the 10 Items. How do you stack up?
PortSwigger Researchdone

12 fresh signals captured.

Top 10 web hacking techniques of 2025Top 10 web hacking techniques of 2025: call for nominationsDocument My Pentest: you hack, the AI writes it up!
OWASPdone

No fresh signals found.

Krebs on Securitydone

10 fresh signals captured.

‘Scattered Spider’ Member ‘Tylerb’ Pleads GuiltyPatch Tuesday, April 2026 EditionRussia Hacked Routers to Steal Microsoft Office Tokens
OWASP Top 10done

12 fresh signals captured.

IntroductionAbout OWASPWhat are Application Security Risks?
NVD - Recent CVEsdone

12 fresh signals captured.

https://nvd.nist.govNVD DashboardNews and Status Updates
Snyk Blogdone

12 fresh signals captured.

Read nowRead nowRead now
GitHub Security Advisoriesdone

12 fresh signals captured.

Sign inSign upOpenClaw: Agent gateway config mutations could change protected operator settings
PortSwigger Researchdone

12 fresh signals captured.

OverviewBlack HatRequest Smuggling
Diff preview
Latest skill diff
+3−1
### Step 5: Dependency & supply-chain management (detailed, updated)
−Why update: OWASP Top 10:2025 elevated supply-chain issues to A03 and recent incidents demonstrate active exploitation of publishing workflows, maintainer account compromises, and lifecycle-script abuse. The March 30–31, 2026 Axios incident demonstrates attacker-controlled publishes that added a staged malicious dependency (plain-crypto-js@4.2.1) with a postinstall hook which deployed a cross-platform RAT during installation. See Snyk advisory for full technical details and IOCs.
+Why update: OWASP Top 10:2025 elevated supply-chain issues to A03 and recent incidents demonstrate active exploitation of publishing workflows, maintainer account compromises, and lifecycle-script abuse. The March 31, 2026 Axios compromise (Snyk advisory SNYK-JS-AXIOS-15850650) is a concrete example where attacker-controlled publishes included a malicious postinstall dependency (plain-crypto-js@4.2.1) that executed a cross-platform RAT during installation. (See Snyk advisory for IOCs and remediation guidance.)
Concrete, operational controls (copy-paste checklist):
@@ −115 +115 @@
- Monitoring & alerting
- Subscribe to vendor advisories (Snyk, GitHub Security Advisories, NVD) and add automated alerts into your security backlog for immediate triage of supply-chain disclosures.
+
+- Container image management (note)

Automations

ActiveDaily · 9:00 AM10 sources

Automation is managed by the skill owner.

Next runin 1h
ScheduleDaily · 9:00 AM
Runs this month30
Latest outcomev16
statussuccess
last run1d ago
triggerScheduled
editoropenai/gpt-5-mini
Automation brief

Scan GitHub Security Advisories for critical npm CVEs. Check Snyk blog for dependency vulnerability trends. Monitor PortSwigger for new web-attack techniques. Update the secure-coding checklist, dependency-audit workflow, and incident-response patterns.

Research engine

OWASP Security Best Practices now combines 5 tracked sources with 1 trusted upstream skill packs. Instead of waiting on a single fixed link, it tracks canonical feeds, discovers new docs from index-like surfaces, and folds those deltas into sandbox-usable guidance.

10 sources1 Search4 Track5 Discover2 Official1 Vendor7 CommunityRank 5Quality 94
Why this is featured

High-trust, high-stakes guidance with immediate value across almost every repo.

Discovery process
1. Track canonical signals

Monitor 4 feed-like sources for release notes, changelog entries, and durable upstream deltas.

2. Discover net-new docs and leads

Scan 1 discovery-oriented sources such as docs indexes and sitemaps, then rank extracted links against explicit query hints instead of trusting nav order.

3. Transplant from trusted upstreams

Fold implementation patterns from Security Best Practices so the skill inherits a real operating model instead of boilerplate prose.

4. Keep the sandbox honest

Ship prompts, MCP recommendations, and automation language that can actually be executed in Loop's sandbox instead of abstract advice theater.

Query hints
critical npm advisorysupply chainauthentication bypassrcesnyk blogsecurityvulnerabilitiesportswigger research
Trusted upstreams
Security Best Practices

Language-aware secure coding review with actionable best-practice fixes.

SecuritySecure CodingReviewHardening

Sources

10 tracked

GitHub Security Advisories

security · npm

Open ↗

Snyk Blog

security · vulnerabilities

Open ↗

PortSwigger Research

security · research

Open ↗

OWASP

owasp · appsec

Open ↗

Krebs on Security

security · industry

Open ↗

OWASP Top 10

owasp · top10 · web-security

Open ↗

NVD - Recent CVEs

cve · vulnerabilities

Open ↗

Snyk Blog

supply-chain · npm · advisories

Open ↗

GitHub Security Advisories

vuln · advisories · github

Open ↗

PortSwigger Research

web-security · research · xss

Open ↗

Send this prompt to your agent to install the skill

Agent prompt
Use the skill at https://loooooop.vercel.app/api/skills/security-best-practices/raw

Versions

v161d agov153d agov145d agov13Apr 19, 2026v12Apr 18, 2026v11Apr 16, 2026v10Apr 14, 2026v9Apr 13, 2026v8Apr 11, 2026v7Apr 9, 2026v6Apr 7, 2026v5Apr 5, 2026v4Apr 3, 2026v3Apr 1, 2026v2Mar 30, 2026v1Mar 29, 2026
Included files1
SKILL.md
Automation
Active
scheduleDaily · 9:00 AM
sources10
next runin 1h
last run1d ago
·Details·Desk

Latest refresh

5d ago

This update tightens supply-chain and header-sanitization guidance using Snyk and GitHub advisories (Axios compromise and header-injection gadget chain), adds a runnable lockfile/SBOM scan helper, and incorporates PortSwigger Top 10:2025 research pointers for edge and parser-differential threats.

what changed

- Expanded 'Dependency & supply-chain management' with concrete CI commands, SBOM guidance, and an incident playbook using Snyk IOCs. - Added 'Header-sanitization & prototype-pollution mitigation' section and linked GHSA/CVE evidence. - Added a copy-paste runnable incident-response helper script to perform lockfile scans and SBOM extraction. - Incorporated PortSwigger Top 10:2025 references for parser differentials and edge-case attacks.

11 sources scanned99 signals found1 source discovered
sections updated
Dependency & supply-chain management (detailed, updated)Header-sanitization & prototype-pollution mitigation (new)Incident response quick checklist (supply-chain & header-injection focus)
status
success
triggerAutomation
editoropenai/gpt-5-mini
duration112.8s
Diff▶
+14−11
+Generated: 2026-04-22T09:41:09.818Z
+Summary: This update tightens supply-chain and header-sanitization guidance using Snyk and GitHub advisories (Axios compromise and header-injection gadget chain), adds a runnable lockfile/SBOM scan helper, and incorporates PortSwigger Top 10:2025 research pointers for edge and parser-differential threats.
+What changed: - Expanded 'Dependency & supply-chain management' with concrete CI commands, SBOM guidance, and an incident playbook using Snyk IOCs.
+- Added 'Header-sanitization & prototype-pollution mitigation' section and linked GHSA/CVE evidence.
+- Added a copy-paste runnable incident-response helper script to perform lockfile scans and SBOM extraction.
−Generated: 2026-04-19T09:41:18.352Z
+- Incorporated PortSwigger Top 10:2025 references for parser differentials and edge-case attacks.
−Summary: Minor revision: strengthened supply-chain and CI hardening guidance (2FA/SSO for publishers, monitor GHSA/Snyk/NVD, block IMDS from CI runners), tightened header-sanitization advice, and expanded incident playbook with concrete commands and IOCs.
−What changed: Added stronger maintainer/publisher hygiene (2FA/SSO), monitoring/alerting guidance (Snyk/GHSA/NVD), explicit CI egress blocking to IMDS, tightened header-sanitization rules, and expanded incident-response checklist with concrete lockfile commands and IOCs.
Body changed: yes
Editor: openai/gpt-5-mini
−Changed sections: Dependency & supply-chain management, Header-sanitization & prototype-pollution mitigation, Incident response quick checklist, Dependency-audit workflow
+Changed sections: Dependency & supply-chain management (detailed, updated), Header-sanitization & prototype-pollution mitigation (new), Incident response quick checklist (supply-chain & header-injection focus)
Experiments:
+- Add runnable incident response scripts to automate lockfile scanning and SBOM extraction for common package managers
+- Prototype CI checks that automatically disable lifecycle scripts for production builds unless explicitly whitelisted
−- Automated SBOM comparison between consecutive builds to detect silent changes
+- Simulate supply-chain incidents in tabletop exercises and publish scripted playbooks
−- Tabletop supply-chain incident exercise with scripted CI runner compromise simulation
−- Prototype a CI job that fails production builds if lifecycle scripts are present unless explicitly whitelisted
Signals:
+- Overview (PortSwigger Research)
+- Black Hat (PortSwigger Research)
+- Request Smuggling (PortSwigger Research)
−- Read now (Snyk Blog)
+- Template Injection (PortSwigger Research)
−- Read now (Snyk Blog)
−- Read now (Snyk Blog)
−- Read now (Snyk Blog)
Update history8▶
5d ago4 sources

This update tightens supply-chain and header-sanitization guidance using Snyk and GitHub advisories (Axios compromise and header-injection gadget chain), adds a runnable lockfile/SBOM scan helper, and incorporates PortSwigger Top 10:2025 research pointers for edge and parser-differential threats.

Apr 19, 20264 sources

Minor revision: strengthened supply-chain and CI hardening guidance (2FA/SSO for publishers, monitor GHSA/Snyk/NVD, block IMDS from CI runners), tightened header-sanitization advice, and expanded incident playbook with concrete commands and IOCs.

Apr 18, 20264 sources

This update incorporates confirmed details from the Snyk advisory on the Axios npm compromise (affected releases axios@1.14.1 and axios@0.30.4, malicious dependency plain-crypto-js@4.2.1 and C2 indicators), affirms OWASP Top 10:2025 guidance on supply-chain failures (A03), tightens header-sanitization and IMDS egress-block recommendations, and cites PortSwigger 2025 research for emergent attack patterns.

Apr 16, 20264 sources

This update tightens supply-chain controls and header-sanitization guidance in response to the March 2026 Axios supply-chain compromise and GitHub advisory/CVE on header-injection metadata exfiltration. It adds CI egress-block examples, NVD cross-check links, and an expanded incident-response checklist with IOCs and remediation steps.

Apr 14, 20264 sources

This update tightens supply-chain and header-sanitization guidance using primary advisories: Snyk's Axios supply-chain incident (SNYK-JS-AXIOS-15850650) and GitHub advisory CVE-2026-40175. It adds concrete IOCs, commands for lockfile scanning, and operational CI mitigations (freeze installs, disable lifecycle scripts in production builds, block IMDS from CI runners).

Apr 13, 20264 sources

This update tightens supply-chain and header-sanitization guidance using Snyk and GitHub advisories from March–April 2026. Removed an imprecise patch-version claim for Axios and replaced it with advisory-driven pinning/upgrade guidance, and added concrete incident-response commands and mitigations.

Apr 11, 20264 sources

This update adds explicit operational mitigations for header injection and prototype-pollution gadget chains (CVE-2026-40175 / Axios advisory), expands the supply-chain incident playbook using Snyk's Axios advisory as a model, and reinforces OWASP Top 10:2025 controls and PortSwigger emergent-attack guidance.

Apr 9, 20264 sources

This revision brings the skill up-to-date with OWASP Top 10:2025 and recent high-impact signals: the Axios npm supply-chain compromise (Mar 2026) and LiquidJS arbitrary file-read advisory (Apr 2026). It tightens dependency and CI controls (lockfile freezes, --ignore-scripts examples), adds concrete incident-response commands, and documents dev-server/template-engine mitigations aligned with PortSwigger research.

Automations1
1 activeOpen desk →
Usage10h ago
views1
copies0
refreshes15
saves0
api calls0
Recent activity▶
Opened skill detail10h ago