About bitrix-security
bitrix-security is a security guidance skill for Bitrix development, covering request validation, output escaping, SQL, and file-operation risks. It treats inputs as untrusted and calls for checking object permissions in each action.
Key features
- 01CSRF and XSS protection guidance
- 02SQL injection and SSRF safeguards
- 03Secure file uploads and local-file handling
- 04Access, REST scope, and crypto rules
- 05Validate entity sources and permissions
Use cases
- 01Review Bitrix form and output handling
- 02Check ORM and raw SQL queries
- 03Assess upload, redirect, and SSRF risks
- 04Audit REST actions and object permissions
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ bxmaximum/ bitrix-framework-skills --skill bitrix-securityAfter installing, type/bitrix-securityin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
rules/csrf-xss.mdjwt-crypto-access.mdsql-ssrf.mdDetails
From the project READMESecurity
Baseline: main 23.0+ · Verified: main 26.800.0
General defaults (no superglobals, keep default prefilters, escape output) live in bitrix-framework.
| Task | Read |
|---|---|
| CSRF, escaping, HTML sanitizing, link and redirect targets, raw-HTML sinks | rules/csrf-xss.md |
SQL injection (raw, ORM, ExpressionField), SSRF, local files, uploads, stored settings | rules/sql-ssrf.md |
Rights checks, #[ActionAccess], REST scopes, JWT/JWK, encryption, 2FA | rules/jwt-crypto-access.md |
Invariants
- Untrusted: request data, and also DB-stored settings, imports, REST payloads. The type and owner of an entity come from its DB record, never from the request.
- Whitelist whatever becomes SQL structure (field names, operators, functions,
orderkeys), whatever its source. - Escape for the output context: HTML
htmlspecialcharsbx(), JSJson::encode(), URLs through a scheme allow-list. - User input never goes unchecked into
CFile::MakeFileArray(),file_get_contents(),unserialize(), redirect targets. Authentication/Csrffilters don't authorize: check rights on the object in every action.
Comments
Markdown supported