@zhuma4/cli 4.0.0-alpha.1 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +10 -3
- package/rules/common/zm-go-cwe1336-template-injection.yaml +38 -0
- package/rules/common/zm-go-cwe200-grpc-metadata.yaml +40 -0
- package/rules/common/zm-go-cwe319-grpc-notls.yaml +118 -0
- package/rules/common/zm-go-cwe338-weak-prng.yaml +117 -0
- package/rules/common/zm-go-cwe347-jwt.yaml +147 -0
- package/rules/common/zm-go-cwe693-gin-middleware.yaml +48 -0
- package/rules/common/zm-go-cwe693-security-headers.yaml +120 -0
- package/rules/common/zm-java-crypto-cwe327-001.yaml +103 -0
- package/rules/common/zm-java-deserial-cwe502-001.yaml +72 -0
- package/rules/common/zm-java-expression-cwe94-001.yaml +110 -0
- package/rules/common/zm-java-file-cwe22-001.yaml +73 -0
- package/rules/common/zm-java-hql-cwe89-001.yaml +72 -0
- package/rules/common/zm-java-jndi-cwe502-001.yaml +107 -0
- package/rules/common/zm-java-oauth-cwe287-001.yaml +136 -0
- package/rules/common/zm-java-rce-cwe78-001.yaml +98 -0
- package/rules/common/zm-java-springsec-cwe284-001.yaml +109 -0
- package/rules/common/zm-java-xstream-cwe502-001.yaml +73 -0
- package/rules/common/zm-java-xxe-cwe611-003.yaml +105 -0
- package/rules/common/zm-js-cwe20-nextjs-api-routes.yaml +141 -0
- package/rules/common/zm-js-cwe287-aws-lambda-config.yaml +107 -0
- package/rules/common/zm-js-cwe345-websocket-security.yaml +90 -0
- package/rules/common/zm-js-cwe501-graphql-injection.yaml +52 -0
- package/rules/common/zm-js-cwe502-deserialization-extended.yaml +107 -0
- package/rules/common/zm-js-cwe506-npm-supply-chain.yaml +19 -0
- package/rules/common/zm-js-cwe79-electron-security.yaml +35 -0
- package/rules/common/zm-js-cwe79-react-xss-deep.yaml +34 -0
- package/rules/common/zm-js-cwe89-prisma-typeorm.yaml +139 -0
- package/rules/common/zm-py-aiohttp-cwe295-cwe770-01.yaml +60 -0
- package/rules/common/zm-py-crypto-cwe327-01.yaml +33 -0
- package/rules/common/zm-py-deser-cwe502-01.yaml +66 -0
- package/rules/common/zm-py-django-cwe200-cwe798-cwe352-01.yaml +80 -0
- package/rules/common/zm-py-fastapi-cwe265-cwe284-01.yaml +48 -0
- package/rules/common/zm-py-flask-cwe200-cwe326-01.yaml +57 -0
- package/rules/common/zm-py-sqlalchemy-cwe89-01.yaml +65 -0
- package/rules/community-merged/cwe-1004/authtkt-cookie-httponly-unsafe-default.yaml +38 -0
- package/rules/community-merged/cwe-1004/authtkt-cookie-httponly-unsafe-value.yaml +41 -0
- package/rules/community-merged/cwe-1004/cookie-missing-httponly.yaml +42 -0
- package/rules/community-merged/cwe-1004/session-cookie-missing-httponly.yaml +41 -0
- package/rules/community-merged/cwe-1104/express-detect-notevil-usage.yaml +56 -0
- package/rules/community-merged/cwe-113/http-response-splitting.yaml +45 -0
- package/rules/community-merged/cwe-115/reverseproxy-director.yaml +34 -0
- package/rules/community-merged/cwe-116/autoescape-disabled-false.yaml +35 -0
- package/rules/community-merged/cwe-116/detect-disable-mustache-escape.yaml +28 -0
- package/rules/community-merged/cwe-116/incomplete-sanitization.yaml +33 -0
- package/rules/community-merged/cwe-116/missing-autoescape-disabled.yaml +34 -0
- package/rules/community-merged/cwe-116/no-scriptlets.yaml +32 -0
- package/rules/community-merged/cwe-116/use-escapexml.yaml +34 -0
- package/rules/community-merged/cwe-119/detect-buffer-noassert.yaml +33 -0
- package/rules/community-merged/cwe-1204/create-de-cipher-no-iv.yaml +32 -0
- package/rules/community-merged/cwe-1236/csv-writer-injection.yaml +56 -0
- package/rules/community-merged/cwe-1236/use-defusedcsv.yaml +38 -0
- package/rules/community-merged/cwe-1275/authtkt-cookie-samesite.yaml +36 -0
- package/rules/community-merged/cwe-1275/session-cookie-samesitenone.yaml +38 -0
- package/rules/community-merged/cwe-1275/set-cookie-samesite-unsafe-default.yaml +45 -0
- package/rules/community-merged/cwe-1333/detect-non-literal-regexp.yaml +46 -0
- package/rules/community-merged/cwe-1333/detect-redos.yaml +44 -0
- package/rules/community-merged/cwe-1333/java-pattern-from-string-parameter.yaml +38 -0
- package/rules/community-merged/cwe-1333/regex-dos.yaml +35 -0
- package/rules/community-merged/cwe-134/flask-api-method-string-format.yaml +37 -0
- package/rules/community-merged/cwe-134/unsafe-formatstring.yaml +52 -0
- package/rules/community-merged/cwe-150/autoescape-disabled.yaml +30 -0
- package/rules/community-merged/cwe-155/system-wildcard-detected.yaml +38 -0
- package/rules/community-merged/cwe-183/permissive-cors.yaml +78 -0
- package/rules/community-merged/cwe-20/django-using-request-post-after-is-valid.yaml +28 -0
- package/rules/community-merged/cwe-20/host-header-injection-python.yaml +46 -0
- package/rules/community-merged/cwe-200/bind.yaml +40 -0
- package/rules/community-merged/cwe-200/bind_all.yaml +32 -0
- package/rules/community-merged/cwe-200/spring-actuator-fully-enabled.yaml +33 -0
- package/rules/community-merged/cwe-200/url-rewriting.yaml +83 -0
- package/rules/community-merged/cwe-23/tainted-file-path.yaml +78 -0
- package/rules/community-merged/cwe-242/unsafe.yaml +25 -0
- package/rules/community-merged/cwe-250/docker-arbitrary-container-run.yaml +39 -0
- package/rules/community-merged/cwe-269/do-privileged-use.yaml +36 -0
- package/rules/community-merged/cwe-276/file_permission.yaml +32 -0
- package/rules/community-merged/cwe-276/insecure-file-permissions.yaml +64 -0
- package/rules/community-merged/cwe-276/overly-permissive-file-permission.yaml +50 -0
- package/rules/community-merged/cwe-287/unverified-jwt-decode.yaml +51 -0
- package/rules/community-merged/cwe-289/handler-assignment-from-multiple-sources.yaml +49 -0
- package/rules/community-merged/cwe-295/disabled-cert-validation.yaml +36 -0
- package/rules/community-merged/cwe-295/unverified-ssl-context.yaml +35 -0
- package/rules/community-merged/cwe-297/insecure-smtp-connection.yaml +35 -0
- package/rules/community-merged/cwe-300/grpc-client-insecure-connection.yaml +35 -0
- package/rules/community-merged/cwe-300/grpc-server-insecure-connection.yaml +45 -0
- package/rules/community-merged/cwe-310/aead-no-final.yaml +39 -0
- package/rules/community-merged/cwe-310/gcm-no-tag-length.yaml +35 -0
- package/rules/community-merged/cwe-319/cookie-issecure-false.yaml +38 -0
- package/rules/community-merged/cwe-319/detect-insecure-websocket.yaml +33 -0
- package/rules/community-merged/cwe-319/http-not-https-connection.yaml +29 -0
- package/rules/community-merged/cwe-319/security.yaml +36 -0
- package/rules/community-merged/cwe-319/sequelize-enforce-tls.yaml +61 -0
- package/rules/community-merged/cwe-319/unencrypted-socket.yaml +38 -0
- package/rules/community-merged/cwe-322/insecure_ssh.yaml +31 -0
- package/rules/community-merged/cwe-322/paramiko-implicit-trust-host-key.yaml +35 -0
- package/rules/community-merged/cwe-323/gcm-detection.yaml +39 -0
- package/rules/community-merged/cwe-323/gcm-nonce-reuse.yaml +30 -0
- package/rules/community-merged/cwe-326/insufficient-dsa-key-size.yaml +41 -0
- package/rules/community-merged/cwe-326/insufficient-ec-key-size.yaml +41 -0
- package/rules/community-merged/cwe-328/sha224-hash.yaml +46 -0
- package/rules/community-merged/cwe-328/use_of_weak_crypto.yaml +133 -0
- package/rules/community-merged/cwe-330/insecure-uuid-version.yaml +35 -0
- package/rules/community-merged/cwe-330/weak-random.yaml +32 -0
- package/rules/community-merged/cwe-338/detect-pseudoRandomBytes.yaml +33 -0
- package/rules/community-merged/cwe-345/jwt-decode-without-verify.yaml +39 -0
- package/rules/community-merged/cwe-345/jwt-parse-unverified.yaml +34 -0
- package/rules/community-merged/cwe-352/websocket-missing-origin-check.yaml +41 -0
- package/rules/community-merged/cwe-377/bad_tmp.yaml +30 -0
- package/rules/community-merged/cwe-400/ajv-allerrors-true.yaml +34 -0
- package/rules/community-merged/cwe-400/decompression_bomb.yaml +63 -0
- package/rules/community-merged/cwe-436/shared-url-struct-mutation.yaml +53 -0
- package/rules/community-merged/cwe-451/x-frame-options-misconfiguration.yaml +74 -0
- package/rules/community-merged/cwe-454/tainted-env-from-http-request.yaml +47 -0
- package/rules/community-merged/cwe-470/unsafe-reflect-by-name.yaml +44 -0
- package/rules/community-merged/cwe-470/unsafe-reflection.yaml +40 -0
- package/rules/community-merged/cwe-477/mongodb.yaml +27 -0
- package/rules/community-merged/cwe-489/debug-enabled.yaml +29 -0
- package/rules/community-merged/cwe-489/debug-template-tag.yaml +31 -0
- package/rules/community-merged/cwe-489/pprof.yaml +41 -0
- package/rules/community-merged/cwe-521/password-empty-string.yaml +40 -0
- package/rules/community-merged/cwe-521/use-none-for-password-default.yaml +43 -0
- package/rules/community-merged/cwe-522/express-cookie-settings.yaml +364 -0
- package/rules/community-merged/cwe-522/jwt-exposed-credentials.yaml +35 -0
- package/rules/community-merged/cwe-522/jwt-hardcode.yaml +31 -0
- package/rules/community-merged/cwe-522/remote-property-injection.yaml +76 -0
- package/rules/community-merged/cwe-523/no-auth-over-http.yaml +39 -0
- package/rules/community-merged/cwe-532/logger-credential-leak.yaml +38 -0
- package/rules/community-merged/cwe-548/express-check-directory-listing.yaml +55 -0
- package/rules/community-merged/cwe-548/fs-directory-listing.yaml +50 -0
- package/rules/community-merged/cwe-553/python-reverse-shell.yaml +33 -0
- package/rules/community-merged/cwe-601/express-open-redirect.yaml +115 -0
- package/rules/community-merged/cwe-601/open-redirect.yaml +96 -0
- package/rules/community-merged/cwe-614/cookie-missing-secure-flag.yaml +39 -0
- package/rules/community-merged/cwe-614/cookie-missing-secure.yaml +41 -0
- package/rules/community-merged/cwe-614/secure-cookies.yaml +60 -0
- package/rules/community-merged/cwe-614/secure-set-cookie.yaml +44 -0
- package/rules/community-merged/cwe-614/session-cookie-missing-secure.yaml +40 -0
- package/rules/community-merged/cwe-643/tainted-xpath-from-http-request.yaml +39 -0
- package/rules/community-merged/cwe-668/app-run-param-config.yaml +25 -0
- package/rules/community-merged/cwe-668/app-run-security-config.yaml +31 -0
- package/rules/community-merged/cwe-673/flask-url-for-external-true.yaml +35 -0
- package/rules/community-merged/cwe-704/bad-hexa-conversion.yaml +33 -0
- package/rules/community-merged/cwe-704/nan-injection.yaml +46 -0
- package/rules/community-merged/cwe-706/non-literal-import.yaml +31 -0
- package/rules/community-merged/cwe-706/require-request.yaml +67 -0
- package/rules/community-merged/cwe-706/res-render-injection.yaml +70 -0
- package/rules/community-merged/cwe-73/express-res-sendfile.yaml +77 -0
- package/rules/community-merged/cwe-73/secure-static-file-serve.yaml +30 -0
- package/rules/community-merged/cwe-74/xss-html-email-body.yaml +204 -0
- package/rules/community-merged/cwe-74/xss-send-mail-html-message.yaml +242 -0
- package/rules/community-merged/cwe-770/missing-throttle-config.yaml +38 -0
- package/rules/community-merged/cwe-776/use-defused-xmlrpc.yaml +32 -0
- package/rules/community-merged/cwe-798/express-jwt-hardcoded-secret.yaml +57 -0
- package/rules/community-merged/cwe-798/express-session-hardcoded-secret.yaml +58 -0
- package/rules/community-merged/cwe-798/jwt-hardcode.yaml +55 -0
- package/rules/community-merged/cwe-80/unsafe-serialize-javascript.yaml +33 -0
- package/rules/community-merged/cwe-863/security-constraint-http-method.yaml +32 -0
- package/rules/community-merged/cwe-90/ldap-entry-poisoning.yaml +42 -0
- package/rules/community-merged/cwe-90/ldap-injection.yaml +83 -0
- package/rules/community-merged/cwe-91/twiml-injection.yaml +51 -0
- package/rules/community-merged/cwe-913/dynamic-httptrace-clienttrace.yaml +40 -0
- package/rules/community-merged/cwe-913/reflect-makefunc.yaml +28 -0
- package/rules/community-merged/cwe-915/mass-assignment.yaml +33 -0
- package/rules/community-merged/cwe-915/tainted-sql-string.yaml +48 -0
- package/rules/community-merged/cwe-916/unsafe-argon2-config.yaml +48 -0
- package/rules/community-merged/cwe-926/exported_activity.yaml +39 -0
- package/rules/community-merged/cwe-93/crlf-injection-logs.yaml +87 -0
- package/rules/community-merged/cwe-93/request-data-write.yaml +200 -0
- package/rules/community-merged/cwe-939/dynamic-urllib-use-detected.yaml +58 -0
- package/rules/community-merged/cwe-94/dangerous-exec-cmd.yaml +87 -0
- package/rules/community-merged/cwe-94/dangerous-exec-command.yaml +63 -0
- package/rules/community-merged/cwe-942/wildcard-cors.yaml +39 -0
- package/rules/community-merged/cwe-95/seam-log-injection.yaml +41 -0
- package/rules/community-merged/cwe-95/spring-jsp-eval.yaml +30 -0
- package/rules/community-merged/cwe-95/user-eval.yaml +67 -0
- package/rules/community-merged/cwe-95/user-exec.yaml +67 -0
- package/rules/community-merged/cwe-96/globals-as-template-context.yaml +41 -0
- package/rules/community-merged/cwe-96/locals-as-template-context.yaml +41 -0
- package/rules/iac/ansible/zm-ansible-cwe269-privilege-escalation.yaml +12 -0
- package/rules/iac/ansible/zm-ansible-cwe532-no-log.yaml +42 -0
- package/rules/iac/ansible/zm-ansible-cwe78-unsafe-module.yaml +75 -0
- package/rules/iac/ansible/zm-ansible-cwe798-mysql-lineinfile.yaml +86 -0
- package/rules/iac/terraform/zm-tf-cwe284-gcp-firewall-eks.yaml +78 -0
- package/rules/iac/terraform/zm-tf-cwe284-sg-world-ingress.yaml +70 -0
- package/rules/iac/terraform/zm-tf-cwe285-iam-wildcard.yaml +46 -0
- package/rules/iac/terraform/zm-tf-cwe312-state-secrets.yaml +46 -0
- package/rules/iac/terraform/zm-tf-cwe319-azure-storage-mysql.yaml +69 -0
- package/rules/iac/terraform/zm-tf-cwe798-ecs-lambda-secrets.yaml +85 -0
- package/rules/iac/zm-docker-cwe1104-add-instead-of-copy.yaml +37 -0
- package/rules/iac/zm-docker-cwe1104-base-image.yaml +61 -0
- package/rules/iac/zm-docker-cwe1104-cleanup-dockerignore.yaml +67 -0
- package/rules/iac/zm-docker-cwe1104-multistage.yaml +33 -0
- package/rules/iac/zm-docker-cwe1104-package-cache.yaml +72 -0
- package/rules/iac/zm-docker-cwe250-docker-sock.yaml +31 -0
- package/rules/iac/zm-docker-cwe250-suid.yaml +33 -0
- package/rules/iac/zm-docker-cwe311-secrets-in-build-arg.yaml +64 -0
- package/rules/iac/zm-docker-cwe400-resource-limit.yaml +18 -6
- package/rules/iac/zm-docker-cwe668-workdir.yaml +36 -0
- package/rules/iac/zm-docker-cwe754-healthcheck.yaml +38 -0
- package/rules/iac/zm-docker-cwe78-curl-pipe.yaml +42 -0
- package/rules/iac/zm-docker-cwe798-arg-defaults.yaml +43 -0
- package/rules/iac/zm-docker-cwe798-env-secrets.yaml +48 -0
- package/rules/iac/zm-k8s-cwe200-configmap-creds.yaml +31 -0
- package/rules/iac/zm-k8s-cwe200-networkpolicy.yaml +62 -0
- package/rules/iac/zm-k8s-cwe200-sa-automount.yaml +38 -0
- package/rules/iac/zm-k8s-cwe200-service-exposure.yaml +50 -0
- package/rules/iac/zm-k8s-cwe200-verbosity-high.yaml +80 -0
- package/rules/iac/zm-k8s-cwe250-capabilities.yaml +84 -0
- package/rules/iac/zm-k8s-cwe250-hostpath.yaml +66 -0
- package/rules/iac/zm-k8s-cwe285-rbac.yaml +130 -0
- package/rules/iac/zm-k8s-cwe312-secret.yaml +60 -0
- package/rules/iac/zm-k8s-cwe319-ingress-tls.yaml +75 -0
- package/rules/iac/zm-k8s-cwe400-replicas.yaml +38 -0
- package/rules/iac/zm-k8s-psp-missing.yaml +59 -0
- package/rules/iac/zm-k8s-securitycontext-hardening.yaml +116 -0
- package/rules/iac/zm-tf-cwe200-ecr-public.yaml +18 -0
- package/rules/iac/zm-tf-cwe284-sg-egress-any.yaml +32 -0
- package/rules/iac/zm-tf-cwe319-rds-public-snapshot.yaml +46 -0
- package/rules/nvd-generated/cwe_1336/cl-1336-go-207.yaml +43 -0
- package/rules/nvd-generated/cwe_1336/cl-1336-java-194.yaml +43 -0
- package/rules/nvd-generated/cwe_1336/cl-1336-java-195.yaml +43 -0
- package/rules/nvd-generated/cwe_1336/cl-1336-java-196.yaml +43 -0
- package/rules/nvd-generated/cwe_1336/cl-1336-java-197.yaml +43 -0
- package/rules/nvd-generated/cwe_1336/cl-1336-java-198.yaml +43 -0
- package/rules/nvd-generated/cwe_1336/cl-1336-javascript-199.yaml +43 -0
- package/rules/nvd-generated/cwe_1336/cl-1336-javascript-200.yaml +43 -0
- package/rules/nvd-generated/cwe_1336/cl-1336-javascript-201.yaml +43 -0
- package/rules/nvd-generated/cwe_1336/cl-1336-javascript-202.yaml +43 -0
- package/rules/nvd-generated/cwe_1336/cl-1336-javascript-203.yaml +43 -0
- package/rules/nvd-generated/cwe_1336/cl-1336-php-208.yaml +43 -0
- package/rules/nvd-generated/cwe_1336/cl-1336-php-209.yaml +43 -0
- package/rules/nvd-generated/cwe_1336/cl-1336-python-204.yaml +43 -0
- package/rules/nvd-generated/cwe_1336/cl-1336-python-205.yaml +43 -0
- package/rules/nvd-generated/cwe_1336/cl-1336-python-206.yaml +43 -0
- package/rules/nvd-generated/cwe_20/cl-20-all-233.yaml +43 -0
- package/rules/nvd-generated/cwe_20/cl-20-java-227.yaml +43 -0
- package/rules/nvd-generated/cwe_20/cl-20-java-228.yaml +43 -0
- package/rules/nvd-generated/cwe_20/cl-20-javascript-229.yaml +43 -0
- package/rules/nvd-generated/cwe_20/cl-20-python-231.yaml +44 -0
- package/rules/nvd-generated/cwe_20/cl-20-python-232.yaml +43 -0
- package/rules/nvd-generated/cwe_200/cl-200-all-189.yaml +46 -0
- package/rules/nvd-generated/cwe_200/cl-200-all-190.yaml +45 -0
- package/rules/nvd-generated/cwe_200/cl-200-all-191.yaml +43 -0
- package/rules/nvd-generated/cwe_200/cl-200-all-192.yaml +43 -0
- package/rules/nvd-generated/cwe_200/cl-200-all-193.yaml +43 -0
- package/rules/nvd-generated/cwe_22/cl-22-go-074.yaml +43 -0
- package/rules/nvd-generated/cwe_22/cl-22-go-075.yaml +43 -0
- package/rules/nvd-generated/cwe_22/cl-22-go-076.yaml +43 -0
- package/rules/nvd-generated/cwe_22/cl-22-java-060.yaml +43 -0
- package/rules/nvd-generated/cwe_22/cl-22-java-061.yaml +43 -0
- package/rules/nvd-generated/cwe_22/cl-22-java-062.yaml +43 -0
- package/rules/nvd-generated/cwe_22/cl-22-java-063.yaml +43 -0
- package/rules/nvd-generated/cwe_22/cl-22-javascript-067.yaml +43 -0
- package/rules/nvd-generated/cwe_22/cl-22-javascript-068.yaml +43 -0
- package/rules/nvd-generated/cwe_22/cl-22-javascript-069.yaml +43 -0
- package/rules/nvd-generated/cwe_22/cl-22-php-064.yaml +43 -0
- package/rules/nvd-generated/cwe_22/cl-22-php-065.yaml +43 -0
- package/rules/nvd-generated/cwe_22/cl-22-php-066.yaml +44 -0
- package/rules/nvd-generated/cwe_22/cl-22-python-071.yaml +43 -0
- package/rules/nvd-generated/cwe_22/cl-22-python-072.yaml +43 -0
- package/rules/nvd-generated/cwe_22/cl-22-python-073.yaml +43 -0
- package/rules/nvd-generated/cwe_287/cl-287-go-187.yaml +43 -0
- package/rules/nvd-generated/cwe_287/cl-287-go-188.yaml +43 -0
- package/rules/nvd-generated/cwe_287/cl-287-java-180.yaml +43 -0
- package/rules/nvd-generated/cwe_287/cl-287-java-181.yaml +43 -0
- package/rules/nvd-generated/cwe_287/cl-287-java-182.yaml +43 -0
- package/rules/nvd-generated/cwe_287/cl-287-javascript-183.yaml +43 -0
- package/rules/nvd-generated/cwe_287/cl-287-javascript-184.yaml +43 -0
- package/rules/nvd-generated/cwe_287/cl-287-python-185.yaml +44 -0
- package/rules/nvd-generated/cwe_287/cl-287-python-186.yaml +43 -0
- package/rules/nvd-generated/cwe_327/cl-327-go-169.yaml +43 -0
- package/rules/nvd-generated/cwe_327/cl-327-go-170.yaml +43 -0
- package/rules/nvd-generated/cwe_327/cl-327-java-161.yaml +43 -0
- package/rules/nvd-generated/cwe_327/cl-327-java-162.yaml +43 -0
- package/rules/nvd-generated/cwe_327/cl-327-java-163.yaml +43 -0
- package/rules/nvd-generated/cwe_327/cl-327-java-164.yaml +43 -0
- package/rules/nvd-generated/cwe_327/cl-327-javascript-165.yaml +43 -0
- package/rules/nvd-generated/cwe_327/cl-327-javascript-166.yaml +43 -0
- package/rules/nvd-generated/cwe_327/cl-327-php-171.yaml +43 -0
- package/rules/nvd-generated/cwe_327/cl-327-php-172.yaml +43 -0
- package/rules/nvd-generated/cwe_327/cl-327-python-167.yaml +43 -0
- package/rules/nvd-generated/cwe_327/cl-327-python-168.yaml +43 -0
- package/rules/nvd-generated/cwe_346/cl-346-all-213.yaml +43 -0
- package/rules/nvd-generated/cwe_346/cl-346-all-214.yaml +43 -0
- package/rules/nvd-generated/cwe_346/cl-346-all-215.yaml +43 -0
- package/rules/nvd-generated/cwe_352/cl-352-java-153.yaml +43 -0
- package/rules/nvd-generated/cwe_352/cl-352-java-154.yaml +43 -0
- package/rules/nvd-generated/cwe_352/cl-352-javascript-156.yaml +44 -0
- package/rules/nvd-generated/cwe_352/cl-352-php-155.yaml +44 -0
- package/rules/nvd-generated/cwe_352/cl-352-python-157.yaml +43 -0
- package/rules/nvd-generated/cwe_434/cl-434-go-140.yaml +43 -0
- package/rules/nvd-generated/cwe_434/cl-434-java-130.yaml +43 -0
- package/rules/nvd-generated/cwe_434/cl-434-java-131.yaml +43 -0
- package/rules/nvd-generated/cwe_434/cl-434-java-132.yaml +43 -0
- package/rules/nvd-generated/cwe_434/cl-434-javascript-138.yaml +43 -0
- package/rules/nvd-generated/cwe_434/cl-434-javascript-139.yaml +43 -0
- package/rules/nvd-generated/cwe_434/cl-434-php-133.yaml +43 -0
- package/rules/nvd-generated/cwe_434/cl-434-php-134.yaml +44 -0
- package/rules/nvd-generated/cwe_434/cl-434-php-135.yaml +43 -0
- package/rules/nvd-generated/cwe_434/cl-434-python-136.yaml +43 -0
- package/rules/nvd-generated/cwe_434/cl-434-python-137.yaml +43 -0
- package/rules/nvd-generated/cwe_501/cl-501-all-239.yaml +43 -0
- package/rules/nvd-generated/cwe_501/cl-501-all-240.yaml +43 -0
- package/rules/nvd-generated/cwe_501/cl-501-all-241.yaml +43 -0
- package/rules/nvd-generated/cwe_502/cl-502-go-109.yaml +44 -0
- package/rules/nvd-generated/cwe_502/cl-502-go-110.yaml +44 -0
- package/rules/nvd-generated/cwe_502/cl-502-java-092.yaml +43 -0
- package/rules/nvd-generated/cwe_502/cl-502-java-093.yaml +43 -0
- package/rules/nvd-generated/cwe_502/cl-502-java-094.yaml +43 -0
- package/rules/nvd-generated/cwe_502/cl-502-java-095.yaml +43 -0
- package/rules/nvd-generated/cwe_502/cl-502-java-096.yaml +43 -0
- package/rules/nvd-generated/cwe_502/cl-502-java-097.yaml +43 -0
- package/rules/nvd-generated/cwe_502/cl-502-java-098.yaml +43 -0
- package/rules/nvd-generated/cwe_502/cl-502-java-099.yaml +43 -0
- package/rules/nvd-generated/cwe_502/cl-502-javascript-106.yaml +43 -0
- package/rules/nvd-generated/cwe_502/cl-502-javascript-107.yaml +43 -0
- package/rules/nvd-generated/cwe_502/cl-502-javascript-108.yaml +43 -0
- package/rules/nvd-generated/cwe_502/cl-502-php-100.yaml +43 -0
- package/rules/nvd-generated/cwe_502/cl-502-php-101.yaml +43 -0
- package/rules/nvd-generated/cwe_502/cl-502-php-102.yaml +44 -0
- package/rules/nvd-generated/cwe_502/cl-502-python-103.yaml +43 -0
- package/rules/nvd-generated/cwe_502/cl-502-python-104.yaml +43 -0
- package/rules/nvd-generated/cwe_502/cl-502-python-105.yaml +43 -0
- package/rules/nvd-generated/cwe_532/cl-532-all-158.yaml +46 -0
- package/rules/nvd-generated/cwe_532/cl-532-all-159.yaml +45 -0
- package/rules/nvd-generated/cwe_532/cl-532-all-160.yaml +45 -0
- package/rules/nvd-generated/cwe_601/cl-601-go-178.yaml +43 -0
- package/rules/nvd-generated/cwe_601/cl-601-java-173.yaml +43 -0
- package/rules/nvd-generated/cwe_601/cl-601-javascript-174.yaml +43 -0
- package/rules/nvd-generated/cwe_601/cl-601-javascript-175.yaml +43 -0
- package/rules/nvd-generated/cwe_601/cl-601-php-179.yaml +43 -0
- package/rules/nvd-generated/cwe_601/cl-601-python-176.yaml +43 -0
- package/rules/nvd-generated/cwe_601/cl-601-python-177.yaml +43 -0
- package/rules/nvd-generated/cwe_611/cl-611-go-123.yaml +43 -0
- package/rules/nvd-generated/cwe_611/cl-611-java-111.yaml +43 -0
- package/rules/nvd-generated/cwe_611/cl-611-java-112.yaml +43 -0
- package/rules/nvd-generated/cwe_611/cl-611-java-113.yaml +43 -0
- package/rules/nvd-generated/cwe_611/cl-611-java-114.yaml +43 -0
- package/rules/nvd-generated/cwe_611/cl-611-java-115.yaml +43 -0
- package/rules/nvd-generated/cwe_611/cl-611-javascript-121.yaml +43 -0
- package/rules/nvd-generated/cwe_611/cl-611-javascript-122.yaml +43 -0
- package/rules/nvd-generated/cwe_611/cl-611-php-116.yaml +43 -0
- package/rules/nvd-generated/cwe_611/cl-611-php-117.yaml +43 -0
- package/rules/nvd-generated/cwe_611/cl-611-python-118.yaml +43 -0
- package/rules/nvd-generated/cwe_611/cl-611-python-119.yaml +43 -0
- package/rules/nvd-generated/cwe_611/cl-611-python-120.yaml +43 -0
- package/rules/nvd-generated/cwe_78/cl-78-go-040.yaml +43 -0
- package/rules/nvd-generated/cwe_78/cl-78-go-041.yaml +43 -0
- package/rules/nvd-generated/cwe_78/cl-78-java-026.yaml +43 -0
- package/rules/nvd-generated/cwe_78/cl-78-java-027.yaml +43 -0
- package/rules/nvd-generated/cwe_78/cl-78-java-028.yaml +43 -0
- package/rules/nvd-generated/cwe_78/cl-78-java-029.yaml +43 -0
- package/rules/nvd-generated/cwe_78/cl-78-javascript-037.yaml +43 -0
- package/rules/nvd-generated/cwe_78/cl-78-javascript-038.yaml +44 -0
- package/rules/nvd-generated/cwe_78/cl-78-javascript-039.yaml +43 -0
- package/rules/nvd-generated/cwe_78/cl-78-php-030.yaml +43 -0
- package/rules/nvd-generated/cwe_78/cl-78-php-031.yaml +43 -0
- package/rules/nvd-generated/cwe_78/cl-78-php-032.yaml +43 -0
- package/rules/nvd-generated/cwe_78/cl-78-php-033.yaml +44 -0
- package/rules/nvd-generated/cwe_78/cl-78-python-034.yaml +43 -0
- package/rules/nvd-generated/cwe_78/cl-78-python-035.yaml +43 -0
- package/rules/nvd-generated/cwe_78/cl-78-python-036.yaml +46 -0
- package/rules/nvd-generated/cwe_79/cl-79-go-058.yaml +44 -0
- package/rules/nvd-generated/cwe_79/cl-79-go-059.yaml +44 -0
- package/rules/nvd-generated/cwe_79/cl-79-java-042.yaml +43 -0
- package/rules/nvd-generated/cwe_79/cl-79-java-043.yaml +43 -0
- package/rules/nvd-generated/cwe_79/cl-79-java-044.yaml +44 -0
- package/rules/nvd-generated/cwe_79/cl-79-java-045.yaml +43 -0
- package/rules/nvd-generated/cwe_79/cl-79-javascript-049.yaml +45 -0
- package/rules/nvd-generated/cwe_79/cl-79-javascript-050.yaml +45 -0
- package/rules/nvd-generated/cwe_79/cl-79-javascript-051.yaml +44 -0
- package/rules/nvd-generated/cwe_79/cl-79-javascript-052.yaml +44 -0
- package/rules/nvd-generated/cwe_79/cl-79-javascript-053.yaml +44 -0
- package/rules/nvd-generated/cwe_79/cl-79-javascript-054.yaml +44 -0
- package/rules/nvd-generated/cwe_79/cl-79-javascript-055.yaml +44 -0
- package/rules/nvd-generated/cwe_79/cl-79-php-046.yaml +43 -0
- package/rules/nvd-generated/cwe_79/cl-79-php-047.yaml +44 -0
- package/rules/nvd-generated/cwe_79/cl-79-php-048.yaml +44 -0
- package/rules/nvd-generated/cwe_79/cl-79-python-056.yaml +44 -0
- package/rules/nvd-generated/cwe_79/cl-79-python-057.yaml +44 -0
- package/rules/nvd-generated/cwe_798/cl-798-all-124.yaml +45 -0
- package/rules/nvd-generated/cwe_798/cl-798-all-125.yaml +43 -0
- package/rules/nvd-generated/cwe_798/cl-798-all-126.yaml +43 -0
- package/rules/nvd-generated/cwe_798/cl-798-all-127.yaml +43 -0
- package/rules/nvd-generated/cwe_798/cl-798-all-128.yaml +43 -0
- package/rules/nvd-generated/cwe_798/cl-798-all-129.yaml +43 -0
- package/rules/nvd-generated/cwe_862/cl-862-go-150.yaml +44 -0
- package/rules/nvd-generated/cwe_862/cl-862-go-151.yaml +43 -0
- package/rules/nvd-generated/cwe_862/cl-862-java-141.yaml +44 -0
- package/rules/nvd-generated/cwe_862/cl-862-java-142.yaml +44 -0
- package/rules/nvd-generated/cwe_862/cl-862-java-143.yaml +43 -0
- package/rules/nvd-generated/cwe_862/cl-862-javascript-144.yaml +44 -0
- package/rules/nvd-generated/cwe_862/cl-862-javascript-145.yaml +44 -0
- package/rules/nvd-generated/cwe_862/cl-862-javascript-146.yaml +44 -0
- package/rules/nvd-generated/cwe_862/cl-862-php-152.yaml +44 -0
- package/rules/nvd-generated/cwe_862/cl-862-python-148.yaml +44 -0
- package/rules/nvd-generated/cwe_862/cl-862-python-149.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-go-023.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-go-024.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-go-025.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-java-001.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-java-002.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-java-003.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-java-004.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-java-005.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-java-006.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-java-007.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-java-008.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-javascript-018.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-javascript-019.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-javascript-020.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-javascript-021.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-javascript-022.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-php-009.yaml +44 -0
- package/rules/nvd-generated/cwe_89/cl-89-php-010.yaml +44 -0
- package/rules/nvd-generated/cwe_89/cl-89-php-011.yaml +44 -0
- package/rules/nvd-generated/cwe_89/cl-89-php-012.yaml +44 -0
- package/rules/nvd-generated/cwe_89/cl-89-php-013.yaml +44 -0
- package/rules/nvd-generated/cwe_89/cl-89-python-014.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-python-015.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-python-016.yaml +43 -0
- package/rules/nvd-generated/cwe_89/cl-89-python-017.yaml +43 -0
- package/rules/nvd-generated/cwe_915/cl-915-javascript-216.yaml +43 -0
- package/rules/nvd-generated/cwe_915/cl-915-javascript-217.yaml +43 -0
- package/rules/nvd-generated/cwe_915/cl-915-javascript-218.yaml +43 -0
- package/rules/nvd-generated/cwe_915/cl-915-javascript-219.yaml +43 -0
- package/rules/nvd-generated/cwe_918/cl-918-go-088.yaml +43 -0
- package/rules/nvd-generated/cwe_918/cl-918-go-089.yaml +43 -0
- package/rules/nvd-generated/cwe_918/cl-918-java-077.yaml +43 -0
- package/rules/nvd-generated/cwe_918/cl-918-java-078.yaml +43 -0
- package/rules/nvd-generated/cwe_918/cl-918-java-079.yaml +43 -0
- package/rules/nvd-generated/cwe_918/cl-918-java-080.yaml +44 -0
- package/rules/nvd-generated/cwe_918/cl-918-javascript-081.yaml +43 -0
- package/rules/nvd-generated/cwe_918/cl-918-javascript-082.yaml +43 -0
- package/rules/nvd-generated/cwe_918/cl-918-javascript-083.yaml +43 -0
- package/rules/nvd-generated/cwe_918/cl-918-php-090.yaml +43 -0
- package/rules/nvd-generated/cwe_918/cl-918-php-091.yaml +43 -0
- package/rules/nvd-generated/cwe_918/cl-918-python-084.yaml +43 -0
- package/rules/nvd-generated/cwe_918/cl-918-python-085.yaml +43 -0
- package/rules/nvd-generated/cwe_918/cl-918-python-086.yaml +43 -0
- package/rules/nvd-generated/cwe_918/cl-918-python-087.yaml +43 -0
- package/rules/nvd-generated/cwe_943/cl-943-java-238.yaml +36 -0
- package/rules/nvd-generated/cwe_943/cl-943-javascript-234.yaml +36 -0
- package/rules/nvd-generated/cwe_943/cl-943-javascript-235.yaml +36 -0
- package/rules/nvd-generated/cwe_943/cl-943-javascript-236.yaml +36 -0
- package/rules/nvd-generated/cwe_943/cl-943-python-237.yaml +36 -0
- package/rules/quarantined/cwe-20/cl-20-all-233.yaml +43 -0
- package/rules/quarantined/cwe-20/cl-20-java-227.yaml +43 -0
- package/rules/quarantined/cwe-20/cl-20-java-228.yaml +43 -0
- package/rules/quarantined/cwe-20/cl-20-javascript-229.yaml +43 -0
- package/rules/quarantined/cwe-20/cl-20-python-231.yaml +44 -0
- package/rules/quarantined/cwe-20/cl-20-python-232.yaml +43 -0
- package/rules/quarantined/cwe-20/zm-js-cwe20-nextjs-api-routes.yaml +142 -0
- package/rules/quarantined/cwe-200/cl-200-all-189.yaml +46 -0
- package/rules/quarantined/cwe-200/cl-200-all-190.yaml +45 -0
- package/rules/quarantined/cwe-200/cl-200-all-191.yaml +43 -0
- package/rules/quarantined/cwe-200/cl-200-all-192.yaml +43 -0
- package/rules/quarantined/cwe-200/cl-200-all-193.yaml +43 -0
- package/rules/quarantined/cwe-200/cwe-200-sensitive-data-exposure.yaml +62 -0
- package/rules/quarantined/cwe-200/zm-go-cwe200-grpc-metadata.yaml +41 -0
- package/rules/quarantined/cwe-200/zm-java-cwe200-actuator-exposure.yaml +9 -0
- package/rules/quarantined/cwe-200/zm-java-cwe200-info-disclosure.yaml +92 -0
- package/rules/quarantined/cwe-200/zm-js-cwe200-info-disclosure.yaml +96 -0
- package/rules/quarantined/cwe-200/zm-k8s-cwe200-service-account.yaml +84 -0
- package/rules/quarantined/cwe-200/zm-k8s-cwe200-verbosity-high.yaml +81 -0
- package/rules/quarantined/cwe-200/zm-py-django-cwe200-cwe798-cwe352-01.yaml +81 -0
- package/rules/quarantined/cwe-200/zm-py-flask-cwe200-cwe326-01.yaml +58 -0
- package/rules/quarantined/cwe-200/zm-tf-cwe200-ecr-public.yaml +19 -0
- package/rules/quarantined/cwe-200/zm-tf-cwe200-s3-bucket-public.yaml +101 -0
- package/rules/quarantined/cwe-532/cl-532-all-158.yaml +46 -0
- package/rules/quarantined/cwe-532/cl-532-all-159.yaml +45 -0
- package/rules/quarantined/cwe-532/cl-532-all-160.yaml +45 -0
- package/rules/quarantined/cwe-862/cl-862-go-150.yaml +44 -0
- package/rules/quarantined/cwe-862/cl-862-go-151.yaml +43 -0
- package/rules/quarantined/cwe-862/cl-862-java-141.yaml +44 -0
- package/rules/quarantined/cwe-862/cl-862-java-142.yaml +44 -0
- package/rules/quarantined/cwe-862/cl-862-java-143.yaml +43 -0
- package/rules/quarantined/cwe-862/cl-862-javascript-144.yaml +44 -0
- package/rules/quarantined/cwe-862/cl-862-javascript-145.yaml +44 -0
- package/rules/quarantined/cwe-862/cl-862-javascript-146.yaml +44 -0
- package/rules/quarantined/cwe-862/cl-862-php-152.yaml +44 -0
- package/rules/quarantined/cwe-862/cl-862-python-148.yaml +44 -0
- package/rules/quarantined/cwe-862/cl-862-python-149.yaml +43 -0
- package/rules/quarantined/cwe-862/cwe-862-missing-authorization.yaml +41 -0
- package/rules/quarantined/cwe-862/zm-java-cwe862-authz-depth.yaml +128 -0
- package/rules/quarantined/high-fp/cwe-22/zm-js-cwe22-path-traversal-fs.yaml +114 -0
- package/rules/quarantined/high-fp/cwe-22/zm-js-cwe22-pathtraversal.yaml +112 -0
- package/rules/quarantined/high-fp/cwe-287/zm-js-cwe287-aws-lambda-config.yaml +105 -0
- package/rules/quarantined/high-fp/cwe-501/zm-js-cwe501-graphql-injection.yaml +53 -0
- package/rules/quarantined/high-fp/cwe-502/zm-js-cwe502-deserialization-extended.yaml +98 -0
- package/rules/quarantined/high-fp/cwe-798/zm-ansible-cwe798-hardcoded-creds.yaml +94 -0
- package/rules/quarantined/nvd-generated/cwe-1336/cl-1336-go-207.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-1336/cl-1336-java-194.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-1336/cl-1336-java-195.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-1336/cl-1336-java-196.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-1336/cl-1336-java-197.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-1336/cl-1336-java-198.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-1336/cl-1336-javascript-199.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-1336/cl-1336-javascript-200.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-1336/cl-1336-javascript-201.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-1336/cl-1336-javascript-202.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-1336/cl-1336-javascript-203.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-1336/cl-1336-php-208.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-1336/cl-1336-php-209.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-1336/cl-1336-python-204.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-1336/cl-1336-python-205.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-1336/cl-1336-python-206.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-22/cl-22-go-074.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-22/cl-22-go-075.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-22/cl-22-go-076.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-22/cl-22-java-060.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-22/cl-22-java-061.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-22/cl-22-java-062.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-22/cl-22-java-063.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-22/cl-22-javascript-067.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-22/cl-22-javascript-068.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-22/cl-22-javascript-069.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-22/cl-22-php-064.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-22/cl-22-php-065.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-22/cl-22-php-066.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-22/cl-22-python-071.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-22/cl-22-python-072.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-22/cl-22-python-073.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-287/cl-287-go-187.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-287/cl-287-go-188.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-287/cl-287-java-180.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-287/cl-287-java-181.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-287/cl-287-java-182.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-287/cl-287-javascript-183.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-287/cl-287-javascript-184.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-287/cl-287-python-185.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-287/cl-287-python-186.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-327/cl-327-go-169.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-327/cl-327-go-170.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-327/cl-327-java-161.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-327/cl-327-java-162.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-327/cl-327-java-163.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-327/cl-327-java-164.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-327/cl-327-javascript-165.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-327/cl-327-javascript-166.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-327/cl-327-php-171.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-327/cl-327-php-172.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-327/cl-327-python-167.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-327/cl-327-python-168.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-346/cl-346-all-213.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-346/cl-346-all-214.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-346/cl-346-all-215.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-352/cl-352-java-153.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-352/cl-352-java-154.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-352/cl-352-javascript-156.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-352/cl-352-php-155.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-352/cl-352-python-157.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-434/cl-434-go-140.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-434/cl-434-java-130.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-434/cl-434-java-131.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-434/cl-434-java-132.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-434/cl-434-javascript-138.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-434/cl-434-javascript-139.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-434/cl-434-php-133.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-434/cl-434-php-134.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-434/cl-434-php-135.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-434/cl-434-python-136.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-434/cl-434-python-137.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-501/cl-501-all-239.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-501/cl-501-all-240.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-501/cl-501-all-241.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-go-109.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-go-110.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-java-092.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-java-093.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-java-094.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-java-095.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-java-096.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-java-097.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-java-098.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-java-099.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-javascript-106.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-javascript-107.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-javascript-108.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-php-100.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-php-101.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-php-102.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-python-103.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-python-104.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-502/cl-502-python-105.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-601/cl-601-go-178.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-601/cl-601-java-173.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-601/cl-601-javascript-174.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-601/cl-601-javascript-175.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-601/cl-601-php-179.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-601/cl-601-python-176.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-601/cl-601-python-177.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-611/cl-611-go-123.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-611/cl-611-java-111.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-611/cl-611-java-112.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-611/cl-611-java-113.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-611/cl-611-java-114.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-611/cl-611-java-115.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-611/cl-611-javascript-121.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-611/cl-611-javascript-122.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-611/cl-611-php-116.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-611/cl-611-php-117.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-611/cl-611-python-118.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-611/cl-611-python-119.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-611/cl-611-python-120.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-78/cl-78-go-040.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-78/cl-78-go-041.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-78/cl-78-java-026.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-78/cl-78-java-027.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-78/cl-78-java-028.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-78/cl-78-java-029.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-78/cl-78-javascript-037.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-78/cl-78-javascript-038.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-78/cl-78-javascript-039.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-78/cl-78-php-030.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-78/cl-78-php-031.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-78/cl-78-php-032.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-78/cl-78-php-033.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-78/cl-78-python-034.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-78/cl-78-python-035.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-78/cl-78-python-036.yaml +53 -0
- package/rules/quarantined/nvd-generated/cwe-79/cl-79-go-058.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-79/cl-79-go-059.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-79/cl-79-java-042.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-79/cl-79-java-043.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-79/cl-79-java-044.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-79/cl-79-java-045.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-79/cl-79-javascript-049.yaml +52 -0
- package/rules/quarantined/nvd-generated/cwe-79/cl-79-javascript-050.yaml +52 -0
- package/rules/quarantined/nvd-generated/cwe-79/cl-79-javascript-051.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-79/cl-79-javascript-052.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-79/cl-79-javascript-053.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-79/cl-79-javascript-054.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-79/cl-79-javascript-055.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-79/cl-79-php-046.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-79/cl-79-php-047.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-79/cl-79-php-048.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-79/cl-79-python-056.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-79/cl-79-python-057.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-798/cl-798-all-124.yaml +52 -0
- package/rules/quarantined/nvd-generated/cwe-798/cl-798-all-125.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-798/cl-798-all-126.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-798/cl-798-all-127.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-798/cl-798-all-128.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-798/cl-798-all-129.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-go-023.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-go-024.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-go-025.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-java-001.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-java-002.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-java-003.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-java-004.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-java-005.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-java-006.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-java-007.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-java-008.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-javascript-018.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-javascript-019.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-javascript-020.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-javascript-021.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-javascript-022.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-php-009.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-php-010.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-php-011.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-php-012.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-php-013.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-python-014.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-python-015.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-python-016.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-89/cl-89-python-017.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-915/cl-915-javascript-216.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-915/cl-915-javascript-217.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-915/cl-915-javascript-218.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-915/cl-915-javascript-219.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-918/cl-918-go-088.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-918/cl-918-go-089.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-918/cl-918-java-077.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-918/cl-918-java-078.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-918/cl-918-java-079.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-918/cl-918-java-080.yaml +51 -0
- package/rules/quarantined/nvd-generated/cwe-918/cl-918-javascript-081.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-918/cl-918-javascript-082.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-918/cl-918-javascript-083.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-918/cl-918-php-090.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-918/cl-918-php-091.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-918/cl-918-python-084.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-918/cl-918-python-085.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-918/cl-918-python-086.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-918/cl-918-python-087.yaml +50 -0
- package/rules/quarantined/nvd-generated/cwe-943/cl-943-java-238.yaml +43 -0
- package/rules/quarantined/nvd-generated/cwe-943/cl-943-javascript-234.yaml +43 -0
- package/rules/quarantined/nvd-generated/cwe-943/cl-943-javascript-235.yaml +43 -0
- package/rules/quarantined/nvd-generated/cwe-943/cl-943-javascript-236.yaml +43 -0
- package/rules/quarantined/nvd-generated/cwe-943/cl-943-python-237.yaml +43 -0
- package/rules/taint-upgraded/cwe-1336/zm-taint-1336-1336-java-196.yaml +35 -0
- package/rules/taint-upgraded/cwe-1336/zm-taint-1336-1336-java-197.yaml +35 -0
- package/rules/taint-upgraded/cwe-1336/zm-taint-1336-1336-javascript-201.yaml +34 -0
- package/rules/taint-upgraded/cwe-1336/zm-taint-1336-1336-javascript-202.yaml +34 -0
- package/rules/taint-upgraded/cwe-1336/zm-taint-1336-1336-javascript-203.yaml +34 -0
- package/rules/taint-upgraded/cwe-22/zm-taint-22-22-go-076.yaml +36 -0
- package/rules/taint-upgraded/cwe-22/zm-taint-22-22-java-061.yaml +40 -0
- package/rules/taint-upgraded/cwe-22/zm-taint-22-22-javascript-068.yaml +38 -0
- package/rules/taint-upgraded/cwe-22/zm-taint-22-22-javascript-069.yaml +38 -0
- package/rules/taint-upgraded/cwe-22/zm-taint-22-22-python-073.yaml +38 -0
- package/rules/taint-upgraded/cwe-287/zm-taint-287-287-go-188.yaml +30 -0
- package/rules/taint-upgraded/cwe-287/zm-taint-287-287-javascript-184.yaml +31 -0
- package/rules/taint-upgraded/cwe-327/zm-taint-327-327-go-169.yaml +30 -0
- package/rules/taint-upgraded/cwe-327/zm-taint-327-327-go-170.yaml +31 -0
- package/rules/taint-upgraded/cwe-327/zm-taint-327-327-java-161.yaml +45 -0
- package/rules/taint-upgraded/cwe-327/zm-taint-327-327-java-162.yaml +45 -0
- package/rules/taint-upgraded/cwe-327/zm-taint-327-327-java-163.yaml +39 -0
- package/rules/taint-upgraded/cwe-327/zm-taint-327-327-java-164.yaml +31 -0
- package/rules/taint-upgraded/cwe-327/zm-taint-327-327-javascript-165.yaml +34 -0
- package/rules/taint-upgraded/cwe-327/zm-taint-327-327-javascript-166.yaml +32 -0
- package/rules/taint-upgraded/cwe-327/zm-taint-327-327-php-171.yaml +31 -0
- package/rules/taint-upgraded/cwe-327/zm-taint-327-327-php-172.yaml +31 -0
- package/rules/taint-upgraded/cwe-327/zm-taint-327-327-python-167.yaml +32 -0
- package/rules/taint-upgraded/cwe-327/zm-taint-327-327-python-168.yaml +34 -0
- package/rules/taint-upgraded/cwe-434/zm-taint-434-434-java-130.yaml +37 -0
- package/rules/taint-upgraded/cwe-434/zm-taint-434-434-java-131.yaml +37 -0
- package/rules/taint-upgraded/cwe-434/zm-taint-434-434-javascript-139.yaml +38 -0
- package/rules/taint-upgraded/cwe-434/zm-taint-434-434-python-136.yaml +35 -0
- package/rules/taint-upgraded/cwe-502/zm-taint-502-502-go-109.yaml +32 -0
- package/rules/taint-upgraded/cwe-502/zm-taint-502-502-go-110.yaml +32 -0
- package/rules/taint-upgraded/cwe-502/zm-taint-502-502-java-092.yaml +33 -0
- package/rules/taint-upgraded/cwe-502/zm-taint-502-502-java-093.yaml +33 -0
- package/rules/taint-upgraded/cwe-502/zm-taint-502-502-java-094.yaml +33 -0
- package/rules/taint-upgraded/cwe-502/zm-taint-502-502-java-095.yaml +33 -0
- package/rules/taint-upgraded/cwe-502/zm-taint-502-502-java-097.yaml +33 -0
- package/rules/taint-upgraded/cwe-502/zm-taint-502-502-java-098.yaml +33 -0
- package/rules/taint-upgraded/cwe-502/zm-taint-502-502-java-099.yaml +33 -0
- package/rules/taint-upgraded/cwe-502/zm-taint-502-502-javascript-107.yaml +33 -0
- package/rules/taint-upgraded/cwe-502/zm-taint-502-502-python-105.yaml +40 -0
- package/rules/taint-upgraded/cwe-601/zm-taint-601-601-go-178.yaml +34 -0
- package/rules/taint-upgraded/cwe-601/zm-taint-601-601-python-177.yaml +35 -0
- package/rules/taint-upgraded/cwe-611/zm-taint-611-611-go-123.yaml +31 -0
- package/rules/taint-upgraded/cwe-611/zm-taint-611-611-java-111.yaml +38 -0
- package/rules/taint-upgraded/cwe-611/zm-taint-611-611-java-112.yaml +38 -0
- package/rules/taint-upgraded/cwe-611/zm-taint-611-611-java-113.yaml +38 -0
- package/rules/taint-upgraded/cwe-611/zm-taint-611-611-java-114.yaml +38 -0
- package/rules/taint-upgraded/cwe-611/zm-taint-611-611-java-115.yaml +38 -0
- package/rules/taint-upgraded/cwe-611/zm-taint-611-611-javascript-121.yaml +32 -0
- package/rules/taint-upgraded/cwe-611/zm-taint-611-611-javascript-122.yaml +32 -0
- package/rules/taint-upgraded/cwe-78/zm-taint-78-78-go-040.yaml +31 -0
- package/rules/taint-upgraded/cwe-78/zm-taint-78-78-go-041.yaml +31 -0
- package/rules/taint-upgraded/cwe-78/zm-taint-78-78-java-027.yaml +37 -0
- package/rules/taint-upgraded/cwe-78/zm-taint-78-78-java-028.yaml +37 -0
- package/rules/taint-upgraded/cwe-78/zm-taint-78-78-java-029.yaml +37 -0
- package/rules/taint-upgraded/cwe-78/zm-taint-78-78-python-034.yaml +40 -0
- package/rules/taint-upgraded/cwe-79/zm-taint-79-79-javascript-050.yaml +38 -0
- package/rules/taint-upgraded/cwe-79/zm-taint-79-79-javascript-054.yaml +38 -0
- package/rules/taint-upgraded/cwe-79/zm-taint-79-79-python-056.yaml +37 -0
- package/rules/taint-upgraded/cwe-89/zm-taint-89-89-go-023.yaml +33 -0
- package/rules/taint-upgraded/cwe-89/zm-taint-89-89-go-024.yaml +33 -0
- package/rules/taint-upgraded/cwe-89/zm-taint-89-89-go-025.yaml +33 -0
- package/rules/taint-upgraded/cwe-89/zm-taint-89-89-java-001.yaml +41 -0
- package/rules/taint-upgraded/cwe-89/zm-taint-89-89-java-006.yaml +41 -0
- package/rules/taint-upgraded/cwe-89/zm-taint-89-89-java-008.yaml +41 -0
- package/rules/taint-upgraded/cwe-89/zm-taint-89-89-javascript-018.yaml +41 -0
- package/rules/taint-upgraded/cwe-89/zm-taint-89-89-javascript-019.yaml +41 -0
- package/rules/taint-upgraded/cwe-89/zm-taint-89-89-javascript-022.yaml +41 -0
- package/rules/taint-upgraded/cwe-89/zm-taint-89-89-python-014.yaml +41 -0
- package/rules/taint-upgraded/cwe-89/zm-taint-89-89-python-015.yaml +41 -0
- package/rules/taint-upgraded/cwe-89/zm-taint-89-89-python-017.yaml +41 -0
- package/rules/taint-upgraded/cwe-915/zm-taint-915-915-javascript-216.yaml +32 -0
- package/rules/taint-upgraded/cwe-915/zm-taint-915-915-javascript-217.yaml +33 -0
- package/rules/taint-upgraded/cwe-915/zm-taint-915-915-javascript-218.yaml +32 -0
- package/rules/taint-upgraded/cwe-915/zm-taint-915-915-javascript-219.yaml +35 -0
- package/rules/taint-upgraded/cwe-918/zm-taint-918-918-java-078.yaml +38 -0
- package/rules/taint-upgraded/cwe-918/zm-taint-918-918-java-079.yaml +38 -0
- package/rules/taint-upgraded/cwe-918/zm-taint-918-918-python-085.yaml +39 -0
- package/rules/taint-upgraded/cwe-943/zm-taint-943-943-java-238.yaml +31 -0
- package/rules/taint-upgraded/cwe-943/zm-taint-943-943-javascript-234.yaml +34 -0
- package/rules/taint-upgraded/cwe-943/zm-taint-943-943-javascript-235.yaml +34 -0
- package/rules/taint-upgraded/cwe-943/zm-taint-943-943-javascript-236.yaml +33 -0
- package/rules/taint-upgraded/cwe-943/zm-taint-943-943-python-237.yaml +32 -0
- package/rules/unified/cwe-117/zm-go-cwe117-log-injection.yaml +76 -0
- package/rules/unified/cwe-117/zm-java-cwe117-log-injection.yaml +84 -0
- package/rules/unified/cwe-117/zm-java-cwe117-logforging.yaml +154 -0
- package/rules/unified/cwe-117/zm-java-cwe117-smtp-header-injection.yaml +59 -0
- package/rules/unified/cwe-121/zm-cpp-cwe121-buffer-overflow.yaml +137 -0
- package/rules/unified/cwe-1321/zm-js-cwe1321-prototype-pollution.yaml +62 -0
- package/rules/unified/cwe-1336/zm-go-cwe1336-template-injection.yaml +39 -0
- package/rules/unified/cwe-1336/zm-taint-1336-1336-java-196.yaml +42 -0
- package/rules/unified/cwe-1336/zm-taint-1336-1336-java-197.yaml +42 -0
- package/rules/unified/cwe-1336/zm-taint-1336-1336-javascript-201.yaml +41 -0
- package/rules/unified/cwe-1336/zm-taint-1336-1336-javascript-202.yaml +41 -0
- package/rules/unified/cwe-1336/zm-taint-1336-1336-javascript-203.yaml +41 -0
- package/rules/unified/cwe-134/zm-cpp-cwe134-format-string.yaml +106 -0
- package/rules/unified/cwe-190/zm-cpp-cwe190-integer-overflow.yaml +93 -0
- package/rules/unified/cwe-20/zm-cpp-cwe20-input-validation.yaml +92 -0
- package/rules/unified/cwe-20/zm-js-cwe20-websocket-validation.yaml +25 -0
- package/rules/unified/cwe-20/zm-rust-cwe20-input-validation.yaml +124 -0
- package/rules/unified/cwe-200/zm-js-cwe200-nestjs-env.yaml +22 -0
- package/rules/unified/cwe-200/zm-py-cwe200-info-leak-redirect.yaml +77 -0
- package/rules/unified/cwe-22/cwe-22-path-traversal.yaml +48 -0
- package/rules/unified/cwe-22/zm-cs-cwe22-path-traversal.yaml +92 -0
- package/rules/unified/cwe-22/zm-go-cwe22-path-traversal-framework.yaml +48 -0
- package/rules/unified/cwe-22/zm-go-cwe22-path-traversal-fs.yaml +118 -0
- package/rules/unified/cwe-22/zm-go-cwe22-path-traversal.yaml +104 -0
- package/rules/unified/cwe-22/zm-java-cwe22-file-depth.yaml +136 -0
- package/rules/unified/cwe-22/zm-java-cwe22-file-unnormalized.yaml +58 -0
- package/rules/unified/cwe-22/zm-java-cwe22-path-traversal-spring.yaml +82 -0
- package/rules/unified/cwe-22/zm-java-file-cwe22-001.yaml +74 -0
- package/rules/unified/cwe-22/zm-js-cwe22-express-path-traversal.yaml +26 -0
- package/rules/unified/cwe-22/zm-js-cwe22-fs-path-traversal.yaml +28 -0
- package/rules/unified/cwe-22/zm-py-cwe22-flask-sendfile.yaml +45 -0
- package/rules/unified/cwe-22/zm-py-cwe22-path-traversal.yaml +87 -0
- package/rules/unified/cwe-22/zm-rust-cwe22-path-traversal.yaml +134 -0
- package/rules/unified/cwe-22/zm-taint-22-22-go-076.yaml +43 -0
- package/rules/unified/cwe-22/zm-taint-22-22-java-061.yaml +47 -0
- package/rules/unified/cwe-22/zm-taint-22-22-javascript-068.yaml +45 -0
- package/rules/unified/cwe-22/zm-taint-22-22-javascript-069.yaml +45 -0
- package/rules/unified/cwe-22/zm-taint-22-22-python-073.yaml +45 -0
- package/rules/unified/cwe-250/zm-docker-cwe250-root-user.yaml +51 -0
- package/rules/unified/cwe-250/zm-java-cwe250-preauth-missing.yaml +69 -0
- package/rules/unified/cwe-250/zm-k8s-cwe250-privileged.yaml +57 -0
- package/rules/unified/cwe-265/zm-py-fastapi-cwe265-cwe284-01.yaml +49 -0
- package/rules/unified/cwe-269/zm-ansible-cwe269-privilege-escalation.yaml +76 -0
- package/rules/unified/cwe-269/zm-java-cwe269-requestdumper-valve.yaml +55 -0
- package/rules/unified/cwe-284/zm-java-cwe284-missing-auth-spring.yaml +132 -0
- package/rules/unified/cwe-284/zm-java-cwe284-permitall-overauth.yaml +57 -0
- package/rules/unified/cwe-284/zm-java-cwe284-tomcat-ajp.yaml +57 -0
- package/rules/unified/cwe-284/zm-java-springsec-cwe284-001.yaml +110 -0
- package/rules/unified/cwe-284/zm-tf-cwe284-sg-egress-any.yaml +33 -0
- package/rules/unified/cwe-284/zm-tf-cwe284-sg-wide-open.yaml +89 -0
- package/rules/unified/cwe-287/zm-java-oauth-cwe287-001.yaml +137 -0
- package/rules/unified/cwe-287/zm-js-cwe287-jwt-no-algorithms.yaml +26 -0
- package/rules/unified/cwe-287/zm-taint-287-287-go-188.yaml +37 -0
- package/rules/unified/cwe-287/zm-taint-287-287-javascript-184.yaml +38 -0
- package/rules/unified/cwe-295/cwe-295-ssl-bypass.yaml +218 -0
- package/rules/unified/cwe-295/cwe-295-ssl-verification-disabled.yaml +65 -0
- package/rules/unified/cwe-295/zm-cs-cwe295-cert-validation.yaml +67 -0
- package/rules/unified/cwe-295/zm-py-aiohttp-cwe295-cwe770-01.yaml +61 -0
- package/rules/unified/cwe-306/cwe-306-missing-authentication.yaml +45 -0
- package/rules/unified/cwe-306/zm-java-cwe306-actuator-exposure.yaml +53 -0
- package/rules/unified/cwe-306/zm-java-cwe306-cloud-config-server.yaml +56 -0
- package/rules/unified/cwe-306/zm-java-cwe306-rabbitmq-no-auth.yaml +58 -0
- package/rules/unified/cwe-306/zm-py-cwe306-flask-login.yaml +38 -0
- package/rules/unified/cwe-307/zm-go-cwe307-brute-force.yaml +130 -0
- package/rules/unified/cwe-307/zm-js-cwe307-brute-force.yaml +137 -0
- package/rules/unified/cwe-311/zm-docker-cwe311-secrets-in-build-arg.yaml +65 -0
- package/rules/unified/cwe-311/zm-java-cwe311-cookie-flags.yaml +94 -0
- package/rules/unified/cwe-311/zm-tf-cwe311-iam-wildcard.yaml +84 -0
- package/rules/unified/cwe-312/zm-js-cwe312-localstorage-jwt.yaml +32 -0
- package/rules/unified/cwe-319/zm-go-cwe319-grpc-notls.yaml +119 -0
- package/rules/unified/cwe-319/zm-tf-cwe319-rds-public-snapshot.yaml +47 -0
- package/rules/unified/cwe-319/zm-tf-cwe319-rds-public.yaml +73 -0
- package/rules/unified/cwe-326/cwe-326-weak-key-size.yaml +108 -0
- package/rules/unified/cwe-326/zm-go-cwe326-hmac-iv-nonce.yaml +73 -0
- package/rules/unified/cwe-326/zm-go-cwe326-weak-crypto.yaml +125 -0
- package/rules/unified/cwe-327/cwe-327-weak-crypto.yaml +178 -0
- package/rules/unified/cwe-327/zm-cpp-cwe327-weak-crypto.yaml +106 -0
- package/rules/unified/cwe-327/zm-cs-cwe327-weak-crypto.yaml +89 -0
- package/rules/unified/cwe-327/zm-go-cwe327-weak-cipher.yaml +153 -0
- package/rules/unified/cwe-327/zm-java-crypto-cwe327-001.yaml +104 -0
- package/rules/unified/cwe-327/zm-java-cwe327-ecb-weak-key-iv.yaml +87 -0
- package/rules/unified/cwe-327/zm-java-cwe327-weakcrypto.yaml +198 -0
- package/rules/unified/cwe-327/zm-js-cwe327-weak-cipher-des.yaml +30 -0
- package/rules/unified/cwe-327/zm-js-cwe327-weak-hash-md5.yaml +23 -0
- package/rules/unified/cwe-327/zm-php-cwe327-weak-hash.yaml +89 -0
- package/rules/unified/cwe-327/zm-py-crypto-cwe327-01.yaml +34 -0
- package/rules/unified/cwe-327/zm-py-cwe327-weak-crypto.yaml +104 -0
- package/rules/unified/cwe-327/zm-rust-cwe327-weak-crypto.yaml +124 -0
- package/rules/unified/cwe-327/zm-taint-327-327-go-169.yaml +37 -0
- package/rules/unified/cwe-327/zm-taint-327-327-go-170.yaml +38 -0
- package/rules/unified/cwe-327/zm-taint-327-327-java-161.yaml +52 -0
- package/rules/unified/cwe-327/zm-taint-327-327-java-162.yaml +52 -0
- package/rules/unified/cwe-327/zm-taint-327-327-java-163.yaml +46 -0
- package/rules/unified/cwe-327/zm-taint-327-327-java-164.yaml +38 -0
- package/rules/unified/cwe-327/zm-taint-327-327-javascript-165.yaml +41 -0
- package/rules/unified/cwe-327/zm-taint-327-327-javascript-166.yaml +39 -0
- package/rules/unified/cwe-327/zm-taint-327-327-php-171.yaml +38 -0
- package/rules/unified/cwe-327/zm-taint-327-327-php-172.yaml +38 -0
- package/rules/unified/cwe-327/zm-taint-327-327-python-167.yaml +39 -0
- package/rules/unified/cwe-327/zm-taint-327-327-python-168.yaml +41 -0
- package/rules/unified/cwe-328/cwe-328-weak-hash.yaml +97 -0
- package/rules/unified/cwe-329/cwe-329-cbc-mode.yaml +27 -0
- package/rules/unified/cwe-338/zm-go-cwe338-weak-prng.yaml +118 -0
- package/rules/unified/cwe-338/zm-java-cwe338-weakrandom.yaml +60 -0
- package/rules/unified/cwe-345/zm-js-cwe345-postmessage.yaml +76 -0
- package/rules/unified/cwe-345/zm-js-cwe345-websocket-security.yaml +91 -0
- package/rules/unified/cwe-347/zm-go-cwe347-jwt.yaml +148 -0
- package/rules/unified/cwe-347/zm-java-cwe347-jwt-deep.yaml +83 -0
- package/rules/unified/cwe-347/zm-java-cwe347-jwt.yaml +31 -0
- package/rules/unified/cwe-347/zm-js-cwe347-jwt-weak.yaml +101 -0
- package/rules/unified/cwe-352/cwe-352-csrf.yaml +27 -0
- package/rules/unified/cwe-352/zm-cs-cwe352-csrf.yaml +86 -0
- package/rules/unified/cwe-352/zm-java-cwe352-csrf-deep.yaml +52 -0
- package/rules/unified/cwe-352/zm-java-cwe352-csrf-depth.yaml +122 -0
- package/rules/unified/cwe-352/zm-java-cwe352-csrf-disabled.yaml +24 -0
- package/rules/unified/cwe-352/zm-js-cwe352-csrf.yaml +56 -0
- package/rules/unified/cwe-352/zm-py-cwe352-django-csrf.yaml +74 -0
- package/rules/unified/cwe-362/zm-java-cwe362-simpledateformat.yaml +57 -0
- package/rules/unified/cwe-377/zm-py-cwe377-race-condition.yaml +58 -0
- package/rules/unified/cwe-384/zm-go-cwe384-session-fixation.yaml +129 -0
- package/rules/unified/cwe-384/zm-java-cwe384-session-fixation.yaml +88 -0
- package/rules/unified/cwe-384/zm-js-cwe384-session-fixation.yaml +133 -0
- package/rules/unified/cwe-400/zm-docker-cwe400-resource-limit.yaml +105 -0
- package/rules/unified/cwe-400/zm-py-cwe400-multipart-dos.yaml +65 -0
- package/rules/unified/cwe-415/zm-cpp-cwe415-double-free.yaml +92 -0
- package/rules/unified/cwe-416/zm-cpp-cwe416-use-after-free.yaml +81 -0
- package/rules/unified/cwe-416/zm-rust-cwe416-unsafe.yaml +150 -0
- package/rules/unified/cwe-434/cwe-434-unrestricted-file-upload.yaml +42 -0
- package/rules/unified/cwe-434/zm-php-cwe434-file-upload.yaml +99 -0
- package/rules/unified/cwe-434/zm-py-cwe434-django-fileupload.yaml +100 -0
- package/rules/unified/cwe-434/zm-taint-434-434-java-130.yaml +44 -0
- package/rules/unified/cwe-434/zm-taint-434-434-java-131.yaml +44 -0
- package/rules/unified/cwe-434/zm-taint-434-434-javascript-139.yaml +45 -0
- package/rules/unified/cwe-434/zm-taint-434-434-python-136.yaml +42 -0
- package/rules/unified/cwe-470/zm-java-cwe470-reflection.yaml +79 -0
- package/rules/unified/cwe-476/zm-cpp-cwe476-null-dereference.yaml +89 -0
- package/rules/unified/cwe-501/zm-java-cwe501-trust-boundary.yaml +125 -0
- package/rules/unified/cwe-502/cwe-502-insecure-deserialization.yaml +45 -0
- package/rules/unified/cwe-502/zm-cs-cwe502-deserialization.yaml +92 -0
- package/rules/unified/cwe-502/zm-go-cwe502-deserialization.yaml +121 -0
- package/rules/unified/cwe-502/zm-java-cwe502-deserial-depth.yaml +129 -0
- package/rules/unified/cwe-502/zm-java-cwe502-dubbo-deserial.yaml +59 -0
- package/rules/unified/cwe-502/zm-java-cwe502-fastjson.yaml +138 -0
- package/rules/unified/cwe-502/zm-java-cwe502-gadget.yaml +159 -0
- package/rules/unified/cwe-502/zm-java-cwe502-hessian-deep.yaml +68 -0
- package/rules/unified/cwe-502/zm-java-cwe502-jackson-defaulttyping.yaml +60 -0
- package/rules/unified/cwe-502/zm-java-cwe502-jndi-injection.yaml +92 -0
- package/rules/unified/cwe-502/zm-java-cwe502-kryo-deep.yaml +65 -0
- package/rules/unified/cwe-502/zm-java-cwe502-log4j-jndi.yaml +67 -0
- package/rules/unified/cwe-502/zm-java-cwe502-shiro.yaml +109 -0
- package/rules/unified/cwe-502/zm-java-cwe502-snakeyaml-load.yaml +56 -0
- package/rules/unified/cwe-502/zm-java-cwe502-xstream-nosecurity.yaml +65 -0
- package/rules/unified/cwe-502/zm-java-deserial-cwe502-001.yaml +73 -0
- package/rules/unified/cwe-502/zm-java-jndi-cwe502-001.yaml +108 -0
- package/rules/unified/cwe-502/zm-java-xstream-cwe502-001.yaml +74 -0
- package/rules/unified/cwe-502/zm-js-cwe502-deserialization.yaml +120 -0
- package/rules/unified/cwe-502/zm-php-cwe502-unserialize.yaml +94 -0
- package/rules/unified/cwe-502/zm-py-cwe502-deser-advanced.yaml +130 -0
- package/rules/unified/cwe-502/zm-py-cwe502-pickle.yaml +93 -0
- package/rules/unified/cwe-502/zm-py-deser-cwe502-01.yaml +67 -0
- package/rules/unified/cwe-502/zm-taint-502-502-go-109.yaml +39 -0
- package/rules/unified/cwe-502/zm-taint-502-502-go-110.yaml +39 -0
- package/rules/unified/cwe-502/zm-taint-502-502-java-092.yaml +40 -0
- package/rules/unified/cwe-502/zm-taint-502-502-java-093.yaml +40 -0
- package/rules/unified/cwe-502/zm-taint-502-502-java-094.yaml +40 -0
- package/rules/unified/cwe-502/zm-taint-502-502-java-095.yaml +40 -0
- package/rules/unified/cwe-502/zm-taint-502-502-java-097.yaml +40 -0
- package/rules/unified/cwe-502/zm-taint-502-502-java-098.yaml +40 -0
- package/rules/unified/cwe-502/zm-taint-502-502-java-099.yaml +40 -0
- package/rules/unified/cwe-502/zm-taint-502-502-javascript-107.yaml +40 -0
- package/rules/unified/cwe-502/zm-taint-502-502-python-105.yaml +47 -0
- package/rules/unified/cwe-506/zm-js-cwe506-npm-supply-chain.yaml +20 -0
- package/rules/unified/cwe-532/zm-java-cwe532-printstack-info-leak.yaml +56 -0
- package/rules/unified/cwe-601/cwe-601-url-redirect.yaml +111 -0
- package/rules/unified/cwe-601/zm-cs-cwe601-url-redirect.yaml +61 -0
- package/rules/unified/cwe-601/zm-go-cwe601-open-redirect.yaml +40 -0
- package/rules/unified/cwe-601/zm-java-cwe601-modelandview-redirect.yaml +70 -0
- package/rules/unified/cwe-601/zm-js-cwe601-express-redirect.yaml +28 -0
- package/rules/unified/cwe-601/zm-js-cwe601-fastify-redirect.yaml +25 -0
- package/rules/unified/cwe-601/zm-php-cwe601-open-redirect.yaml +107 -0
- package/rules/unified/cwe-601/zm-taint-601-601-go-178.yaml +41 -0
- package/rules/unified/cwe-601/zm-taint-601-601-python-177.yaml +42 -0
- package/rules/unified/cwe-611/cwe-611-xxe.yaml +71 -0
- package/rules/unified/cwe-611/zm-cs-cwe611-xxe.yaml +87 -0
- package/rules/unified/cwe-611/zm-java-cwe611-xxe-enhanced.yaml +81 -0
- package/rules/unified/cwe-611/zm-java-cwe611-xxe-transformer.yaml +86 -0
- package/rules/unified/cwe-611/zm-java-xxe-cwe611-003.yaml +106 -0
- package/rules/unified/cwe-611/zm-js-cwe611-xxe.yaml +109 -0
- package/rules/unified/cwe-611/zm-py-cwe611-xxe-advanced.yaml +70 -0
- package/rules/unified/cwe-611/zm-py-cwe611-xxe.yaml +101 -0
- package/rules/unified/cwe-611/zm-taint-611-611-go-123.yaml +38 -0
- package/rules/unified/cwe-611/zm-taint-611-611-java-111.yaml +45 -0
- package/rules/unified/cwe-611/zm-taint-611-611-java-112.yaml +45 -0
- package/rules/unified/cwe-611/zm-taint-611-611-java-113.yaml +45 -0
- package/rules/unified/cwe-611/zm-taint-611-611-java-114.yaml +45 -0
- package/rules/unified/cwe-611/zm-taint-611-611-java-115.yaml +45 -0
- package/rules/unified/cwe-611/zm-taint-611-611-javascript-121.yaml +39 -0
- package/rules/unified/cwe-611/zm-taint-611-611-javascript-122.yaml +39 -0
- package/rules/unified/cwe-639/zm-java-cwe639-idor.yaml +124 -0
- package/rules/unified/cwe-639/zm-js-cwe639-idor.yaml +123 -0
- package/rules/unified/cwe-643/zm-java-cwe643-xpath-injection.yaml +56 -0
- package/rules/unified/cwe-676/zm-cpp-cwe676-dangerous-function.yaml +86 -0
- package/rules/unified/cwe-693/zm-go-cwe693-gin-middleware.yaml +49 -0
- package/rules/unified/cwe-693/zm-go-cwe693-security-headers.yaml +133 -0
- package/rules/unified/cwe-693/zm-js-cwe693-helmet-missing.yaml +57 -0
- package/rules/unified/cwe-732/cwe-732-incorrect-permission.yaml +50 -0
- package/rules/unified/cwe-74/zm-java-cwe74-host-header-injection.yaml +64 -0
- package/rules/unified/cwe-770/cwe-770-resource-exhaustion.yaml +45 -0
- package/rules/unified/cwe-770/zm-go-cwe770-redos.yaml +79 -0
- package/rules/unified/cwe-770/zm-js-cwe770-nestjs-validator.yaml +27 -0
- package/rules/unified/cwe-78/cwe-78-os-command-injection.yaml +44 -0
- package/rules/unified/cwe-78/zm-ansible-cwe78-command-injection.yaml +68 -0
- package/rules/unified/cwe-78/zm-cpp-cwe78-command-injection.yaml +86 -0
- package/rules/unified/cwe-78/zm-cs-cwe78-command-injection.yaml +94 -0
- package/rules/unified/cwe-78/zm-go-cwe78-command-injection.yaml +96 -0
- package/rules/unified/cwe-78/zm-go-cwe78-osci-advanced.yaml +39 -0
- package/rules/unified/cwe-78/zm-java-rce-cwe78-001.yaml +99 -0
- package/rules/unified/cwe-78/zm-js-cwe78-exec.yaml +38 -0
- package/rules/unified/cwe-78/zm-js-cwe78-execsync-injection.yaml +26 -0
- package/rules/unified/cwe-78/zm-js-cwe78-spawn.yaml +38 -0
- package/rules/unified/cwe-78/zm-php-cwe78-cmdinj.yaml +222 -0
- package/rules/unified/cwe-78/zm-py-cwe78-command-injection.yaml +122 -0
- package/rules/unified/cwe-78/zm-py-cwe78-osci-advanced.yaml +77 -0
- package/rules/unified/cwe-78/zm-rust-cwe78-cmdinj.yaml +103 -0
- package/rules/unified/cwe-78/zm-taint-78-78-go-040.yaml +38 -0
- package/rules/unified/cwe-78/zm-taint-78-78-go-041.yaml +38 -0
- package/rules/unified/cwe-78/zm-taint-78-78-java-027.yaml +44 -0
- package/rules/unified/cwe-78/zm-taint-78-78-java-028.yaml +44 -0
- package/rules/unified/cwe-78/zm-taint-78-78-java-029.yaml +44 -0
- package/rules/unified/cwe-78/zm-taint-78-78-python-034.yaml +47 -0
- package/rules/unified/cwe-787/cwe-787-out-of-bounds-write.yaml +38 -0
- package/rules/unified/cwe-79/cwe-79-xss.yaml +52 -0
- package/rules/unified/cwe-79/zm-cs-cwe79-xss.yaml +84 -0
- package/rules/unified/cwe-79/zm-go-cwe79-framework-xss.yaml +134 -0
- package/rules/unified/cwe-79/zm-go-cwe79-mail-injection.yaml +68 -0
- package/rules/unified/cwe-79/zm-go-cwe79-xss.yaml +105 -0
- package/rules/unified/cwe-79/zm-java-cwe79-xss-depth.yaml +99 -0
- package/rules/unified/cwe-79/zm-js-cwe79-angular-bypass.yaml +24 -0
- package/rules/unified/cwe-79/zm-js-cwe79-domxss.yaml +85 -0
- package/rules/unified/cwe-79/zm-js-cwe79-electron-security.yaml +36 -0
- package/rules/unified/cwe-79/zm-js-cwe79-react-dangerously.yaml +23 -0
- package/rules/unified/cwe-79/zm-js-cwe79-react-xss-deep.yaml +35 -0
- package/rules/unified/cwe-79/zm-js-cwe79-react-xss.yaml +19 -0
- package/rules/unified/cwe-79/zm-js-cwe79-vue-vhtml.yaml +25 -0
- package/rules/unified/cwe-79/zm-js-cwe79-xss-ejs.yaml +71 -0
- package/rules/unified/cwe-79/zm-php-cwe79-xss.yaml +222 -0
- package/rules/unified/cwe-79/zm-py-cwe79-django-flask-xss.yaml +97 -0
- package/rules/unified/cwe-79/zm-py-cwe79-host-header-injection.yaml +43 -0
- package/rules/unified/cwe-79/zm-py-cwe79-xss.yaml +124 -0
- package/rules/unified/cwe-79/zm-taint-79-79-javascript-050.yaml +45 -0
- package/rules/unified/cwe-79/zm-taint-79-79-javascript-054.yaml +45 -0
- package/rules/unified/cwe-79/zm-taint-79-79-python-056.yaml +44 -0
- package/rules/unified/cwe-798/zm-cs-cwe798-hardcoded-creds.yaml +107 -0
- package/rules/unified/cwe-798/zm-go-cwe798-hardcoded-creds.yaml +154 -0
- package/rules/unified/cwe-798/zm-py-cwe798-framework-creds.yaml +160 -0
- package/rules/unified/cwe-798/zm-py-cwe798-hardcoded-creds.yaml +87 -0
- package/rules/unified/cwe-798/zm-rust-cwe798-hardcoded-creds.yaml +128 -0
- package/rules/unified/cwe-798/zm-tf-cwe798-hardcoded-creds.yaml +103 -0
- package/rules/unified/cwe-862/zm-js-cwe862-nestjs-skip-auth.yaml +24 -0
- package/rules/unified/cwe-89/cwe-89-sqli.yaml +90 -0
- package/rules/unified/cwe-89/zm-cs-cwe89-sql-injection.yaml +95 -0
- package/rules/unified/cwe-89/zm-go-cwe89-framework-sqli.yaml +154 -0
- package/rules/unified/cwe-89/zm-go-cwe89-gorm-sqli.yaml +105 -0
- package/rules/unified/cwe-89/zm-go-cwe89-sqli.yaml +90 -0
- package/rules/unified/cwe-89/zm-java-cwe89-jpa-query-concat.yaml +56 -0
- package/rules/unified/cwe-89/zm-java-hql-cwe89-001.yaml +73 -0
- package/rules/unified/cwe-89/zm-js-cwe89-koa-sqli.yaml +29 -0
- package/rules/unified/cwe-89/zm-js-cwe89-nestjs-typeorm.yaml +34 -0
- package/rules/unified/cwe-89/zm-js-cwe89-prisma-typeorm.yaml +140 -0
- package/rules/unified/cwe-89/zm-js-cwe89-prisma-unsafe.yaml +24 -0
- package/rules/unified/cwe-89/zm-js-cwe89-sequelize-literal.yaml +26 -0
- package/rules/unified/cwe-89/zm-js-cwe89-sqli.yaml +154 -0
- package/rules/unified/cwe-89/zm-php-cwe89-sqli.yaml +185 -0
- package/rules/unified/cwe-89/zm-py-cwe89-django-sqli.yaml +75 -0
- package/rules/unified/cwe-89/zm-py-cwe89-injection-misc.yaml +94 -0
- package/rules/unified/cwe-89/zm-py-cwe89-sqli.yaml +60 -0
- package/rules/unified/cwe-89/zm-py-sqlalchemy-cwe89-01.yaml +66 -0
- package/rules/unified/cwe-89/zm-rust-cwe89-sqli.yaml +149 -0
- package/rules/unified/cwe-89/zm-taint-89-89-go-023.yaml +40 -0
- package/rules/unified/cwe-89/zm-taint-89-89-go-024.yaml +40 -0
- package/rules/unified/cwe-89/zm-taint-89-89-go-025.yaml +40 -0
- package/rules/unified/cwe-89/zm-taint-89-89-java-001.yaml +48 -0
- package/rules/unified/cwe-89/zm-taint-89-89-java-006.yaml +48 -0
- package/rules/unified/cwe-89/zm-taint-89-89-java-008.yaml +48 -0
- package/rules/unified/cwe-89/zm-taint-89-89-javascript-018.yaml +48 -0
- package/rules/unified/cwe-89/zm-taint-89-89-javascript-019.yaml +48 -0
- package/rules/unified/cwe-89/zm-taint-89-89-javascript-022.yaml +48 -0
- package/rules/unified/cwe-89/zm-taint-89-89-python-014.yaml +48 -0
- package/rules/unified/cwe-89/zm-taint-89-89-python-015.yaml +48 -0
- package/rules/unified/cwe-89/zm-taint-89-89-python-017.yaml +48 -0
- package/rules/unified/cwe-90/zm-java-cwe90-ldap-injection.yaml +54 -0
- package/rules/unified/cwe-915/zm-go-cwe915-reflect-injection.yaml +70 -0
- package/rules/unified/cwe-915/zm-java-cwe915-mass-assignment.yaml +17 -0
- package/rules/unified/cwe-915/zm-js-cwe915-mass-assignment.yaml +112 -0
- package/rules/unified/cwe-915/zm-js-cwe915-prototype-pollution.yaml +31 -0
- package/rules/unified/cwe-915/zm-php-cwe915-mass-assignment.yaml +127 -0
- package/rules/unified/cwe-915/zm-taint-915-915-javascript-216.yaml +39 -0
- package/rules/unified/cwe-915/zm-taint-915-915-javascript-217.yaml +40 -0
- package/rules/unified/cwe-915/zm-taint-915-915-javascript-218.yaml +39 -0
- package/rules/unified/cwe-915/zm-taint-915-915-javascript-219.yaml +42 -0
- package/rules/unified/cwe-917/zm-java-cwe917-expression-injection.yaml +121 -0
- package/rules/unified/cwe-918/cwe-918-ssrf.yaml +46 -0
- package/rules/unified/cwe-918/zm-cs-cwe918-ssrf.yaml +96 -0
- package/rules/unified/cwe-918/zm-go-cwe918-ssrf.yaml +118 -0
- package/rules/unified/cwe-918/zm-java-cwe918-jsoup-ssrf.yaml +56 -0
- package/rules/unified/cwe-918/zm-java-cwe918-okhttp-full.yaml +63 -0
- package/rules/unified/cwe-918/zm-java-cwe918-resttemplate.yaml +68 -0
- package/rules/unified/cwe-918/zm-java-cwe918-rt-getforentity.yaml +49 -0
- package/rules/unified/cwe-918/zm-java-cwe918-ssrf-depth.yaml +104 -0
- package/rules/unified/cwe-918/zm-java-cwe918-ssrf-resttemplate.yaml +78 -0
- package/rules/unified/cwe-918/zm-java-cwe918-url-openconnection.yaml +58 -0
- package/rules/unified/cwe-918/zm-java-cwe918-webclient-ssrf.yaml +60 -0
- package/rules/unified/cwe-918/zm-java-cwe918-webclient.yaml +45 -0
- package/rules/unified/cwe-918/zm-js-cwe918-http-ssrf-concat.yaml +28 -0
- package/rules/unified/cwe-918/zm-js-cwe918-nextjs-ssrf.yaml +46 -0
- package/rules/unified/cwe-918/zm-js-cwe918-ssrf-fetch.yaml +135 -0
- package/rules/unified/cwe-918/zm-js-cwe918-ssrf.yaml +133 -0
- package/rules/unified/cwe-918/zm-php-cwe918-ssrf.yaml +144 -0
- package/rules/unified/cwe-918/zm-py-cwe918-flask-ssrf.yaml +40 -0
- package/rules/unified/cwe-918/zm-py-cwe918-ssrf-advanced.yaml +105 -0
- package/rules/unified/cwe-918/zm-py-cwe918-ssrf.yaml +124 -0
- package/rules/unified/cwe-918/zm-taint-918-918-java-078.yaml +45 -0
- package/rules/unified/cwe-918/zm-taint-918-918-java-079.yaml +45 -0
- package/rules/unified/cwe-918/zm-taint-918-918-python-085.yaml +46 -0
- package/rules/unified/cwe-94/cwe-94-code-injection.yaml +60 -0
- package/rules/unified/cwe-94/zm-java-cwe94-ognl.yaml +67 -0
- package/rules/unified/cwe-94/zm-java-cwe94-spel-injection.yaml +86 -0
- package/rules/unified/cwe-94/zm-java-cwe94-spel.yaml +113 -0
- package/rules/unified/cwe-94/zm-java-cwe94-ssti.yaml +23 -0
- package/rules/unified/cwe-94/zm-java-cwe94-value-spel.yaml +56 -0
- package/rules/unified/cwe-94/zm-java-expression-cwe94-001.yaml +111 -0
- package/rules/unified/cwe-94/zm-js-cwe94-template-injection.yaml +131 -0
- package/rules/unified/cwe-94/zm-php-cwe94-code-injection.yaml +129 -0
- package/rules/unified/cwe-94/zm-py-cwe94-ssti.yaml +88 -0
- package/rules/unified/cwe-942/zm-java-cwe942-cors-wildcard.yaml +63 -0
- package/rules/unified/cwe-942/zm-java-cwe942-cors.yaml +16 -0
- package/rules/unified/cwe-942/zm-js-cwe942-cors.yaml +50 -0
- package/rules/unified/cwe-942/zm-js-cwe942-express-cors.yaml +25 -0
- package/rules/unified/cwe-943/zm-go-cwe943-nosql-injection.yaml +89 -0
- package/rules/unified/cwe-943/zm-js-cwe943-mongoose-nosqli.yaml +29 -0
- package/rules/unified/cwe-943/zm-js-cwe943-nosql-injection.yaml +53 -0
- package/rules/unified/cwe-943/zm-py-cwe943-nosql-injection.yaml +124 -0
- package/rules/unified/cwe-943/zm-taint-943-943-java-238.yaml +38 -0
- package/rules/unified/cwe-943/zm-taint-943-943-javascript-234.yaml +41 -0
- package/rules/unified/cwe-943/zm-taint-943-943-javascript-235.yaml +41 -0
- package/rules/unified/cwe-943/zm-taint-943-943-javascript-236.yaml +40 -0
- package/rules/unified/cwe-943/zm-taint-943-943-python-237.yaml +39 -0
- package/rules/unified/cwe-95/zm-js-cwe95-eval.yaml +60 -0
- package/rules/unified/cwe-95/zm-js-cwe95-function-ctor.yaml +32 -0
- package/rules/unified/cwe-98/zm-php-cwe98-file-include.yaml +142 -0
- package/rules/unified/cwe-unknown/zm-docker-security.yaml +105 -0
- package/rules/unified/cwe-unknown/zm-go-cwe-unknown-misc.yaml +152 -0
- package/rules/unified/cwe-unknown/zm-k8s-security.yaml +80 -0
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# Source: common | Cluster: N/A
|
|
2
|
+
# CWE-918: Spring WebClient (Reactive) SSRF 检测
|
|
3
|
+
# 逐码 ZhuMa V4.3 — SSRF 全量 Sink 覆盖
|
|
4
|
+
|
|
5
|
+
rules:
|
|
6
|
+
|
|
7
|
+
# ZM-JAVA-CWE918-WEBCLIENT-001: WebClient URI 用户可控
|
|
8
|
+
- id: zm-java-cwe918-webclient-001
|
|
9
|
+
severity: WARNING
|
|
10
|
+
message: |
|
|
11
|
+
Spring WebClient (Reactive) URI 由用户输入构造,可导致 SSRF。
|
|
12
|
+
WebClient 是 Spring 5+ 推荐的 HTTP 客户端,同样存在 SSRF 风险。
|
|
13
|
+
修复: 1. 使用固定 baseUrl 构建 WebClient 2. 对 path segments 使用 UriBuilder
|
|
14
|
+
3. 验证目标 host 在白名单内 4. 配置 DNS 解析后校验 IP
|
|
15
|
+
languages:
|
|
16
|
+
- java
|
|
17
|
+
pattern-either:
|
|
18
|
+
- pattern: |
|
|
19
|
+
$WC = WebClient.create($REQ.getParameter(...));
|
|
20
|
+
- pattern: |
|
|
21
|
+
$WC = WebClient.builder().baseUrl($REQ.getParameter(...)).build();
|
|
22
|
+
- pattern: |
|
|
23
|
+
$WC.get().uri($REQ.getParameter(...)).retrieve()
|
|
24
|
+
- pattern: |
|
|
25
|
+
$WC.post().uri($REQ.getParameter(...))
|
|
26
|
+
- pattern: |
|
|
27
|
+
$WC.get().uri(URI.create($REQ.getParameter(...)))
|
|
28
|
+
metadata:
|
|
29
|
+
cwe: "CWE-918: Server-Side Request Forgery (SSRF)"
|
|
30
|
+
severity: WARNING
|
|
31
|
+
precision: high
|
|
32
|
+
category: ssrf
|
|
33
|
+
owasp: "A10:2021 - Server-Side Request Forgery"
|
|
34
|
+
likelihood: HIGH
|
|
35
|
+
impact: HIGH
|
|
36
|
+
tags: [ssrf, webclient, reactive]
|
|
37
|
+
|
|
38
|
+
# ZM-JAVA-CWE918-WEBCLIENT-002: WebClient mutate() 更改 baseUrl
|
|
39
|
+
- id: zm-java-cwe918-webclient-002
|
|
40
|
+
severity: WARNING
|
|
41
|
+
message: |
|
|
42
|
+
WebClient.mutate().baseUrl() 使用用户可控 URL 修改请求目标。
|
|
43
|
+
攻击者可通过控制 baseUrl 发起 SSRF 攻击。
|
|
44
|
+
修复: baseUrl 应为常量配置,不要从请求参数中获取。
|
|
45
|
+
languages:
|
|
46
|
+
- java
|
|
47
|
+
pattern-either:
|
|
48
|
+
- pattern: |
|
|
49
|
+
$WC.mutate().baseUrl($REQ.getParameter(...))
|
|
50
|
+
- pattern: |
|
|
51
|
+
$WC.mutate().baseUrl($REQ.getHeader(...))
|
|
52
|
+
metadata:
|
|
53
|
+
cwe: "CWE-918: Server-Side Request Forgery (SSRF)"
|
|
54
|
+
severity: WARNING
|
|
55
|
+
precision: high
|
|
56
|
+
category: ssrf
|
|
57
|
+
owasp: "A10:2021 - Server-Side Request Forgery"
|
|
58
|
+
likelihood: MEDIUM
|
|
59
|
+
impact: HIGH
|
|
60
|
+
tags: [ssrf, webclient, reactive]
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Source: common | Cluster: N/A
|
|
2
|
+
# CWE-918: SSRF — Spring WebClient URI 参数可控检测
|
|
3
|
+
# V4.1 - 单语句模式,避免跨语句 ... 导致的 PatternParseError
|
|
4
|
+
|
|
5
|
+
rules:
|
|
6
|
+
|
|
7
|
+
- id: zm-java-ssrf-wc-001
|
|
8
|
+
severity: WARNING
|
|
9
|
+
message: |
|
|
10
|
+
Spring WebClient get/post uri() from HTTP request param - user-controllable, can cause SSRF.
|
|
11
|
+
Fix: whitelist domain validation / DNS resolve verify non-internal IP / use UriComponentsBuilder.
|
|
12
|
+
languages:
|
|
13
|
+
- java
|
|
14
|
+
pattern-either:
|
|
15
|
+
- pattern: WebClient.create().get().uri($REQ.getParameter($PARAM))
|
|
16
|
+
- pattern: WebClient.create().post().uri($REQ.getParameter($PARAM))
|
|
17
|
+
- pattern: $WC.get().uri($REQ.getParameter($PARAM))
|
|
18
|
+
- pattern: $WC.post().uri($REQ.getParameter($PARAM))
|
|
19
|
+
metadata:
|
|
20
|
+
cwe: "CWE-918"
|
|
21
|
+
severity: WARNING
|
|
22
|
+
precision: high
|
|
23
|
+
category: ssrf
|
|
24
|
+
likelihood: HIGH
|
|
25
|
+
impact: HIGH
|
|
26
|
+
owasp: "A10:2021 - SSRF"
|
|
27
|
+
|
|
28
|
+
- id: zm-java-ssrf-wc-002
|
|
29
|
+
severity: WARNING
|
|
30
|
+
message: |
|
|
31
|
+
WebClient baseUrl from user input - attacker controls baseUrl to redirect to malicious server.
|
|
32
|
+
Fix: hardcode domain whitelist for baseUrl / never use user input as baseUrl.
|
|
33
|
+
languages:
|
|
34
|
+
- java
|
|
35
|
+
pattern-either:
|
|
36
|
+
- pattern: WebClient.builder().baseUrl($REQ.getParameter($PARAM)).build()
|
|
37
|
+
- pattern: WebClient.builder().baseUrl($REQ.getParameter($PARAM))
|
|
38
|
+
metadata:
|
|
39
|
+
cwe: "CWE-918"
|
|
40
|
+
severity: WARNING
|
|
41
|
+
precision: high
|
|
42
|
+
category: ssrf
|
|
43
|
+
likelihood: MEDIUM
|
|
44
|
+
impact: HIGH
|
|
45
|
+
owasp: "A10:2021 - SSRF"
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# Source: common | Cluster: N/A
|
|
2
|
+
# CWE-918: node-fetch/axios/got 含用户URL拼接
|
|
3
|
+
# 逐码 ZhuMa V4.3 — JS/TS 通用规则库
|
|
4
|
+
|
|
5
|
+
rules:
|
|
6
|
+
|
|
7
|
+
- id: zm-js-http-ssrf-001
|
|
8
|
+
severity: ERROR
|
|
9
|
+
message: >
|
|
10
|
+
HTTP客户端(axios/got/node-fetch)的请求URL由用户输入拼接构造,
|
|
11
|
+
攻击者可控制完整URL发起SSRF攻击访问内网服务。
|
|
12
|
+
修复: 对目标URL做白名单域名校验,禁止用户输入决定完整URL。
|
|
13
|
+
languages:
|
|
14
|
+
- javascript
|
|
15
|
+
- typescript
|
|
16
|
+
pattern-either:
|
|
17
|
+
- pattern: |
|
|
18
|
+
$AXIOS({url: $BASE + $INPUT})
|
|
19
|
+
- pattern: $AXIOS.get($BASE + $INPUT, ...)
|
|
20
|
+
- pattern: got($BASE + $INPUT, ...)
|
|
21
|
+
- pattern: got.get($BASE + $INPUT, ...)
|
|
22
|
+
- pattern: nodeFetch($BASE + $INPUT, ...)
|
|
23
|
+
metadata:
|
|
24
|
+
cwe: "CWE-918: Server-Side Request Forgery (SSRF)"
|
|
25
|
+
owasp: "A10:2021 - Server-Side Request Forgery (SSRF)"
|
|
26
|
+
category: security
|
|
27
|
+
precision: medium
|
|
28
|
+
confidence: medium
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Source: common | Cluster: N/A
|
|
2
|
+
# CWE-918: Next.js API Route 直接拼外部 URL (fetch)
|
|
3
|
+
# 逐码 ZhuMa V4.3 — JS/TS Next.js 规则库
|
|
4
|
+
|
|
5
|
+
rules:
|
|
6
|
+
|
|
7
|
+
- id: zm-js-nextjs-ssrf-001
|
|
8
|
+
severity: ERROR
|
|
9
|
+
message: >
|
|
10
|
+
Next.js API Route 中将 req.query/req.body 用户输入直接拼接进 fetch() URL,
|
|
11
|
+
存在 SSRF 漏洞,攻击者可控制目标URL使服务器发起对内网服务的恶意请求。
|
|
12
|
+
修复: 对目标URL做白名单域名校验,禁止用户输入决定完整URL。
|
|
13
|
+
languages:
|
|
14
|
+
- javascript
|
|
15
|
+
- typescript
|
|
16
|
+
pattern-either:
|
|
17
|
+
- pattern: |
|
|
18
|
+
export async function $HANDLER(req, ...) {
|
|
19
|
+
...
|
|
20
|
+
fetch($URL + $REQ.query.$FIELD, ...)
|
|
21
|
+
...
|
|
22
|
+
}
|
|
23
|
+
- pattern: |
|
|
24
|
+
export async function $HANDLER(req, ...) {
|
|
25
|
+
...
|
|
26
|
+
fetch($URL + $REQ.body.$FIELD, ...)
|
|
27
|
+
...
|
|
28
|
+
}
|
|
29
|
+
- pattern: |
|
|
30
|
+
export default async function $HANDLER(req, ...) {
|
|
31
|
+
...
|
|
32
|
+
fetch($URL + $REQ.query.$FIELD, ...)
|
|
33
|
+
...
|
|
34
|
+
}
|
|
35
|
+
- pattern: |
|
|
36
|
+
export default async function $HANDLER(req, ...) {
|
|
37
|
+
...
|
|
38
|
+
fetch($URL + $REQ.body.$FIELD, ...)
|
|
39
|
+
...
|
|
40
|
+
}
|
|
41
|
+
metadata:
|
|
42
|
+
cwe: "CWE-918: Server-Side Request Forgery (SSRF)"
|
|
43
|
+
owasp: "A10:2021 - Server-Side Request Forgery (SSRF)"
|
|
44
|
+
category: security
|
|
45
|
+
precision: medium
|
|
46
|
+
confidence: medium
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
# Source: common | Cluster: N/A
|
|
2
|
+
# CWE-918: Node.js SSRF 深度覆盖 — fetch/axios/node-fetch/got 全量sink
|
|
3
|
+
# 逐码 ZhuMa V4.1 Sprint — JS/TS 规则库
|
|
4
|
+
# 覆盖: fetch() / axios({url:...}) / node-fetch / got / undici 对象式请求
|
|
5
|
+
|
|
6
|
+
rules:
|
|
7
|
+
|
|
8
|
+
# ZM-JS-SSRF-FETCH-001: fetch/axios/node-fetch 直接传入用户输入URL
|
|
9
|
+
- id: zm-js-ssrf-fetch-001
|
|
10
|
+
severity: ERROR
|
|
11
|
+
message: |
|
|
12
|
+
检测到 fetch / axios / node-fetch / got / undici.fetch 等 HTTP 客户端直接使用用户输入作为请求URL,
|
|
13
|
+
存在SSRF(服务端请求伪造)风险。
|
|
14
|
+
攻击者可控制目标URL使服务器发起对内网服务的恶意请求,绕过防火墙访问内部资源
|
|
15
|
+
(如 http://169.254.169.254/latest/meta-data/ 获取云环境元数据)。
|
|
16
|
+
|
|
17
|
+
修复:
|
|
18
|
+
1. 对用户传入的URL做白名单校验,仅允许预设的外部域名
|
|
19
|
+
2. 禁止用户输入直接决定请求目标,使用URL映射表替代
|
|
20
|
+
3. 使用SSRF保护库(如 ssrf-filter / safe-request)
|
|
21
|
+
4. 配置防火墙禁止服务器访问内网地址(169.254.0.0/16, 10.0.0.0/8, 127.0.0.0/8等)
|
|
22
|
+
5. 禁用不必要的HTTP重定向跟踪
|
|
23
|
+
languages:
|
|
24
|
+
- javascript
|
|
25
|
+
- typescript
|
|
26
|
+
pattern-either:
|
|
27
|
+
# fetch()
|
|
28
|
+
- pattern: fetch($REQ.query.$PARAM, ...)
|
|
29
|
+
- pattern: fetch($REQ.params.$PARAM, ...)
|
|
30
|
+
- pattern: fetch($REQ.body.$PARAM, ...)
|
|
31
|
+
# node-fetch
|
|
32
|
+
- pattern: nodeFetch($REQ.query.$PARAM, ...)
|
|
33
|
+
- pattern: nodeFetch($REQ.params.$PARAM, ...)
|
|
34
|
+
- pattern: nodeFetch($REQ.body.$PARAM, ...)
|
|
35
|
+
# axios object-style
|
|
36
|
+
- pattern: |
|
|
37
|
+
axios({url: $REQ.query.$PARAM, ...})
|
|
38
|
+
- pattern: |
|
|
39
|
+
axios({url: $REQ.params.$PARAM, ...})
|
|
40
|
+
- pattern: |
|
|
41
|
+
axios({url: $REQ.body.$PARAM, ...})
|
|
42
|
+
- pattern: |
|
|
43
|
+
$AXIOS({url: $REQ.query.$PARAM, ...})
|
|
44
|
+
- pattern: |
|
|
45
|
+
$AXIOS({url: $REQ.params.$PARAM, ...})
|
|
46
|
+
- pattern: |
|
|
47
|
+
$AXIOS({url: $REQ.body.$PARAM, ...})
|
|
48
|
+
# got object-style
|
|
49
|
+
- pattern: |
|
|
50
|
+
got({url: $REQ.query.$PARAM, ...})
|
|
51
|
+
- pattern: |
|
|
52
|
+
got({url: $REQ.params.$PARAM, ...})
|
|
53
|
+
- pattern: |
|
|
54
|
+
got({url: $REQ.body.$PARAM, ...})
|
|
55
|
+
# undici.fetch
|
|
56
|
+
- pattern: undici.fetch($REQ.query.$PARAM, ...)
|
|
57
|
+
- pattern: undici.fetch($REQ.params.$PARAM, ...)
|
|
58
|
+
- pattern: undici.fetch($REQ.body.$PARAM, ...)
|
|
59
|
+
metadata:
|
|
60
|
+
cwe: "CWE-918: Server-Side Request Forgery (SSRF)"
|
|
61
|
+
owasp: "A10:2021 - Server-Side Request Forgery (SSRF)"
|
|
62
|
+
category: ssrf
|
|
63
|
+
precision: high
|
|
64
|
+
confidence: high
|
|
65
|
+
references:
|
|
66
|
+
- "https://owasp.org/www-community/attacks/Server_Side_Request_Forgery"
|
|
67
|
+
- "https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html"
|
|
68
|
+
|
|
69
|
+
# ZM-JS-SSRF-FETCH-002: 用户输入拼接URL后传入fetch/axios
|
|
70
|
+
- id: zm-js-ssrf-fetch-002
|
|
71
|
+
severity: WARNING
|
|
72
|
+
message: |
|
|
73
|
+
fetch / axios 请求URL由用户输入拼接构造,需确认拼接变量是否可直接控制完整URL。
|
|
74
|
+
若用户可控制协议+域名部分(如 http://evil.com ),存在SSRF风险。
|
|
75
|
+
|
|
76
|
+
修复:
|
|
77
|
+
1. 使用 new URL() 解析目标并验证 hostname 白名单
|
|
78
|
+
2. 使用URL映射表(key->URL)替代直接拼接
|
|
79
|
+
3. 限制协议仅允许 https
|
|
80
|
+
4. 使用SSRF防护库过滤内网IP
|
|
81
|
+
languages:
|
|
82
|
+
- javascript
|
|
83
|
+
- typescript
|
|
84
|
+
pattern-either:
|
|
85
|
+
- pattern: fetch($URL + $INPUT, ...)
|
|
86
|
+
- pattern: nodeFetch($URL + $INPUT, ...)
|
|
87
|
+
- pattern: |
|
|
88
|
+
axios({url: $URL + $INPUT, ...})
|
|
89
|
+
- pattern: got($URL + $INPUT, ...)
|
|
90
|
+
- pattern: undici.fetch($URL + $INPUT, ...)
|
|
91
|
+
metadata:
|
|
92
|
+
cwe: "CWE-918: Server-Side Request Forgery (SSRF)"
|
|
93
|
+
owasp: "A10:2021 - Server-Side Request Forgery (SSRF)"
|
|
94
|
+
category: ssrf
|
|
95
|
+
precision: low
|
|
96
|
+
confidence: medium
|
|
97
|
+
references:
|
|
98
|
+
- "https://owasp.org/www-community/attacks/Server_Side_Request_Forgery"
|
|
99
|
+
|
|
100
|
+
# ZM-JS-SSRF-FETCH-003: got.stream / needle / superagent 对象式URL注入
|
|
101
|
+
- id: zm-js-ssrf-fetch-003
|
|
102
|
+
severity: ERROR
|
|
103
|
+
message: |
|
|
104
|
+
got / superagent / needle 等 HTTP 库的对象式请求中,hostname/href/uri 字段由用户输入控制,
|
|
105
|
+
可导致SSRF攻击。
|
|
106
|
+
|
|
107
|
+
修复:
|
|
108
|
+
1. 白名单限制目标域名
|
|
109
|
+
2. 使用固定的baseURL + 相对路径模式
|
|
110
|
+
3. 禁止用户输入覆盖hostname/href/uri字段
|
|
111
|
+
languages:
|
|
112
|
+
- javascript
|
|
113
|
+
- typescript
|
|
114
|
+
pattern-either:
|
|
115
|
+
- pattern: "got({hostname: $REQ.query.$PARAM})"
|
|
116
|
+
- pattern: "got({hostname: $REQ.params.$PARAM})"
|
|
117
|
+
- pattern: "got({hostname: $REQ.body.$PARAM})"
|
|
118
|
+
- pattern: "got({href: $REQ.query.$PARAM})"
|
|
119
|
+
- pattern: "got({href: $REQ.params.$PARAM})"
|
|
120
|
+
- pattern: "got({uri: $REQ.query.$PARAM})"
|
|
121
|
+
- pattern: "got({uri: $REQ.params.$PARAM})"
|
|
122
|
+
- pattern: superagent($METHOD, $REQ.query.$PARAM)
|
|
123
|
+
- pattern: superagent($METHOD, $REQ.params.$PARAM)
|
|
124
|
+
- pattern: superagent($METHOD, $REQ.body.$PARAM)
|
|
125
|
+
- pattern: needle($METHOD, $REQ.query.$PARAM, ...)
|
|
126
|
+
- pattern: needle($METHOD, $REQ.params.$PARAM, ...)
|
|
127
|
+
- pattern: needle($METHOD, $REQ.body.$PARAM, ...)
|
|
128
|
+
metadata:
|
|
129
|
+
cwe: "CWE-918: Server-Side Request Forgery (SSRF)"
|
|
130
|
+
owasp: "A10:2021 - Server-Side Request Forgery (SSRF)"
|
|
131
|
+
category: ssrf
|
|
132
|
+
precision: high
|
|
133
|
+
confidence: high
|
|
134
|
+
references:
|
|
135
|
+
- "https://owasp.org/www-community/attacks/Server_Side_Request_Forgery"
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Source: common | Cluster: N/A
|
|
2
|
+
# CWE-918: Node.js SSRF 服务端请求伪造检测规则
|
|
3
|
+
# 逐码 ZhuMa V4.1 Sprint 2 — JS/TS 规则库
|
|
4
|
+
# 覆盖: http/https native、axios、fetch/node-fetch、got、superagent、needle、undici
|
|
5
|
+
|
|
6
|
+
rules:
|
|
7
|
+
|
|
8
|
+
# ZM-JS-SSRF-001: HTTP库直接传入 req.query/params/body 作为URL (高精度)
|
|
9
|
+
- id: zm-js-ssrf-001
|
|
10
|
+
severity: ERROR
|
|
11
|
+
message: |
|
|
12
|
+
HTTP请求库直接将 req.query / req.params / req.body 的值作为URL参数传入,
|
|
13
|
+
存在SSRF(服务端请求伪造)风险。
|
|
14
|
+
|
|
15
|
+
攻击者可控制目标URL使服务器发起对内网服务的恶意请求,绕过防火墙访问内部资源
|
|
16
|
+
(如 http://169.254.169.254/latest/meta-data/ 获取云环境元数据)。
|
|
17
|
+
|
|
18
|
+
修复:
|
|
19
|
+
1. 对用户传入的URL做白名单校验,仅允许预设的外部域名
|
|
20
|
+
2. 禁止用户输入直接决定请求目标,使用URL映射表替代
|
|
21
|
+
3. 使用SSRF保护库(如 ssrf-filter / safe-request)
|
|
22
|
+
4. 配置防火墙禁止服务器访问内网地址(169.254.0.0/16, 10.0.0.0/8, 127.0.0.0/8等)
|
|
23
|
+
5. 禁用不必要的HTTP重定向跟随
|
|
24
|
+
languages:
|
|
25
|
+
- javascript
|
|
26
|
+
- typescript
|
|
27
|
+
pattern-either:
|
|
28
|
+
# Native http/https
|
|
29
|
+
- pattern: http.get($REQ.query.$PARAM, ...)
|
|
30
|
+
- pattern: http.get($REQ.params.$PARAM, ...)
|
|
31
|
+
- pattern: http.get($REQ.body.$PARAM, ...)
|
|
32
|
+
- pattern: http.request($REQ.query.$PARAM, ...)
|
|
33
|
+
- pattern: http.request($REQ.params.$PARAM, ...)
|
|
34
|
+
- pattern: http.request($REQ.body.$PARAM, ...)
|
|
35
|
+
- pattern: https.get($REQ.query.$PARAM, ...)
|
|
36
|
+
- pattern: https.get($REQ.params.$PARAM, ...)
|
|
37
|
+
- pattern: https.get($REQ.body.$PARAM, ...)
|
|
38
|
+
- pattern: https.request($REQ.query.$PARAM, ...)
|
|
39
|
+
- pattern: https.request($REQ.params.$PARAM, ...)
|
|
40
|
+
- pattern: https.request($REQ.body.$PARAM, ...)
|
|
41
|
+
# axios
|
|
42
|
+
- pattern: axios.get($REQ.query.$PARAM, ...)
|
|
43
|
+
- pattern: axios.get($REQ.params.$PARAM, ...)
|
|
44
|
+
- pattern: axios.get($REQ.body.$PARAM, ...)
|
|
45
|
+
- pattern: axios.request($REQ.query.$PARAM, ...)
|
|
46
|
+
- pattern: axios.request($REQ.params.$PARAM, ...)
|
|
47
|
+
- pattern: axios.request($REQ.body.$PARAM, ...)
|
|
48
|
+
- pattern: $AXIOS.get($REQ.query.$PARAM, ...)
|
|
49
|
+
- pattern: $AXIOS.get($REQ.params.$PARAM, ...)
|
|
50
|
+
- pattern: $AXIOS.get($REQ.body.$PARAM, ...)
|
|
51
|
+
- pattern: $AXIOS.request($REQ.query.$PARAM, ...)
|
|
52
|
+
- pattern: $AXIOS.request($REQ.params.$PARAM, ...)
|
|
53
|
+
- pattern: $AXIOS.request($REQ.body.$PARAM, ...)
|
|
54
|
+
- pattern: $AXIOS.post($REQ.query.$PARAM, ...)
|
|
55
|
+
- pattern: $AXIOS.put($REQ.query.$PARAM, ...)
|
|
56
|
+
- pattern: $AXIOS.delete($REQ.query.$PARAM, ...)
|
|
57
|
+
# fetch / node-fetch
|
|
58
|
+
- pattern: fetch($REQ.query.$PARAM, ...)
|
|
59
|
+
- pattern: fetch($REQ.params.$PARAM, ...)
|
|
60
|
+
- pattern: fetch($REQ.body.$PARAM, ...)
|
|
61
|
+
# got
|
|
62
|
+
- pattern: got($REQ.query.$PARAM, ...)
|
|
63
|
+
- pattern: got($REQ.params.$PARAM, ...)
|
|
64
|
+
- pattern: got($REQ.body.$PARAM, ...)
|
|
65
|
+
- pattern: got.get($REQ.query.$PARAM, ...)
|
|
66
|
+
- pattern: got.get($REQ.params.$PARAM, ...)
|
|
67
|
+
- pattern: got.get($REQ.body.$PARAM, ...)
|
|
68
|
+
- pattern: got.post($REQ.query.$PARAM, ...)
|
|
69
|
+
- pattern: got.put($REQ.query.$PARAM, ...)
|
|
70
|
+
# superagent
|
|
71
|
+
- pattern: superagent.get($REQ.query.$PARAM)
|
|
72
|
+
- pattern: superagent.get($REQ.params.$PARAM)
|
|
73
|
+
- pattern: superagent.get($REQ.body.$PARAM)
|
|
74
|
+
- pattern: request.get($REQ.query.$PARAM)
|
|
75
|
+
- pattern: request.get($REQ.params.$PARAM)
|
|
76
|
+
- pattern: request.get($REQ.body.$PARAM)
|
|
77
|
+
# needle
|
|
78
|
+
- pattern: needle.get($REQ.query.$PARAM, ...)
|
|
79
|
+
- pattern: needle.get($REQ.params.$PARAM, ...)
|
|
80
|
+
- pattern: needle.get($REQ.body.$PARAM, ...)
|
|
81
|
+
- pattern: needle.request('get', $REQ.query.$PARAM, ...)
|
|
82
|
+
- pattern: needle.request('get', $REQ.params.$PARAM, ...)
|
|
83
|
+
- pattern: needle.request('get', $REQ.body.$PARAM, ...)
|
|
84
|
+
# undici
|
|
85
|
+
- pattern: undici.request($REQ.query.$PARAM, ...)
|
|
86
|
+
- pattern: undici.request($REQ.params.$PARAM, ...)
|
|
87
|
+
- pattern: undici.request($REQ.body.$PARAM, ...)
|
|
88
|
+
- pattern: undici.fetch($REQ.query.$PARAM, ...)
|
|
89
|
+
- pattern: undici.fetch($REQ.params.$PARAM, ...)
|
|
90
|
+
- pattern: undici.fetch($REQ.body.$PARAM, ...)
|
|
91
|
+
metadata:
|
|
92
|
+
cwe: "CWE-918: Server-Side Request Forgery (SSRF)"
|
|
93
|
+
owasp: "A10:2021 - Server-Side Request Forgery (SSRF)"
|
|
94
|
+
category: ssrf
|
|
95
|
+
precision: high
|
|
96
|
+
references:
|
|
97
|
+
- "https://owasp.org/www-community/attacks/Server_Side_Request_Forgery"
|
|
98
|
+
- "https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html"
|
|
99
|
+
|
|
100
|
+
# ZM-JS-SSRF-002: HTTP库URL字符串拼接 (低精度,需人工确认)
|
|
101
|
+
- id: zm-js-ssrf-002
|
|
102
|
+
severity: WARNING
|
|
103
|
+
message: |
|
|
104
|
+
HTTP请求库使用了字符串拼接或模板字符串构建请求URL,需确认拼接变量是否来自用户输入。
|
|
105
|
+
若变量可控则存在SSRF风险。
|
|
106
|
+
|
|
107
|
+
修复:
|
|
108
|
+
1. 使用 new URL() 解析目标并验证 hostname 白名单
|
|
109
|
+
2. 使用URL映射表(key->URL)替代直接拼接
|
|
110
|
+
3. 使用SSRF防护库过滤内网IP
|
|
111
|
+
languages:
|
|
112
|
+
- javascript
|
|
113
|
+
- typescript
|
|
114
|
+
pattern-either:
|
|
115
|
+
- pattern: http.get($URL + $INPUT, ...)
|
|
116
|
+
- pattern: http.request($URL + $INPUT, ...)
|
|
117
|
+
- pattern: https.get($URL + $INPUT, ...)
|
|
118
|
+
- pattern: https.request($URL + $INPUT, ...)
|
|
119
|
+
- pattern: $AXIOS.get($URL + $INPUT, ...)
|
|
120
|
+
- pattern: $AXIOS.request($URL + $INPUT, ...)
|
|
121
|
+
- pattern: axios.get($URL + $INPUT, ...)
|
|
122
|
+
- pattern: fetch($URL + $INPUT, ...)
|
|
123
|
+
- pattern: got($URL + $INPUT, ...)
|
|
124
|
+
- pattern: got.get($URL + $INPUT, ...)
|
|
125
|
+
- pattern: superagent.get($URL + $INPUT)
|
|
126
|
+
- pattern: needle.get($URL + $INPUT, ...)
|
|
127
|
+
metadata:
|
|
128
|
+
cwe: "CWE-918: Server-Side Request Forgery (SSRF)"
|
|
129
|
+
owasp: "A10:2021 - Server-Side Request Forgery (SSRF)"
|
|
130
|
+
category: ssrf
|
|
131
|
+
precision: low
|
|
132
|
+
references:
|
|
133
|
+
- "https://owasp.org/www-community/attacks/Server_Side_Request_Forgery"
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
# Source: common | Cluster: N/A
|
|
2
|
+
# CWE-918: PHP SSRF 服务端请求伪造检测
|
|
3
|
+
# 逐码 ZhuMa V4.3 — PHP 通用规则库
|
|
4
|
+
# 检测: file_get_contents/curl_setopt/fopen 使用用户可控 URL
|
|
5
|
+
|
|
6
|
+
rules:
|
|
7
|
+
|
|
8
|
+
# ZM-PHP-SSRF-001: file_get_contents() URL 来自 $_GET/$_POST
|
|
9
|
+
- id: zm-php-cwe918-ssrf-001
|
|
10
|
+
severity: ERROR
|
|
11
|
+
message: |
|
|
12
|
+
检测到 file_get_contents() 的 URL 参数来自 $_GET/$_POST/$_REQUEST 等 HTTP 输入。
|
|
13
|
+
攻击者可操控 URL 参数访问内网资源(如 http://169.254.169.254/ 云元数据、
|
|
14
|
+
http://127.0.0.1:6379/ Redis、内网服务),造成 SSRF 漏洞。
|
|
15
|
+
|
|
16
|
+
修复方案:
|
|
17
|
+
1. 对用户输入的 URL 做白名单域名校验
|
|
18
|
+
2. 禁止访问内网 IP: 解析 DNS 后检查 IP 范围
|
|
19
|
+
3. 使用 curl 并设置 CURLOPT_PROTOCOLS 仅允许 http/https
|
|
20
|
+
4. 禁用 URL 重定向跟随: CURLOPT_FOLLOWLOCATION => false
|
|
21
|
+
5. PHP 配置: allow_url_fopen = Off (php.ini)
|
|
22
|
+
6. 参考 OWASP SSRF 防御指南
|
|
23
|
+
languages:
|
|
24
|
+
- php
|
|
25
|
+
pattern-either:
|
|
26
|
+
- pattern: file_get_contents($_GET[$X])
|
|
27
|
+
- pattern: file_get_contents($_POST[$X])
|
|
28
|
+
- pattern: file_get_contents($_REQUEST[$X])
|
|
29
|
+
- pattern: file_get_contents("http://" . $_GET[$X])
|
|
30
|
+
- pattern: file_get_contents("https://" . $_GET[$X])
|
|
31
|
+
- pattern: file_get_contents("http://" . $_POST[$X])
|
|
32
|
+
- pattern: file_get_contents("https://" . $_POST[$X])
|
|
33
|
+
metadata:
|
|
34
|
+
cwe: "CWE-918: Server-Side Request Forgery (SSRF)"
|
|
35
|
+
severity: ERROR
|
|
36
|
+
precision: high
|
|
37
|
+
category: ssrf
|
|
38
|
+
likelihood: HIGH
|
|
39
|
+
impact: MEDIUM
|
|
40
|
+
owasp: "A10:2021 - Server-Side Request Forgery (SSRF)"
|
|
41
|
+
references:
|
|
42
|
+
- "https://owasp.org/www-community/attacks/Server_Side_Request_Forgery"
|
|
43
|
+
- "https://cheatsheetseries.owasp.org/cheatsheets/Server_Side_Request_Forgery_Prevention_Cheat_Sheet.html"
|
|
44
|
+
|
|
45
|
+
# ZM-PHP-SSRF-002: curl_setopt() CURLOPT_URL 来自用户输入
|
|
46
|
+
- id: zm-php-cwe918-ssrf-002
|
|
47
|
+
severity: ERROR
|
|
48
|
+
message: |
|
|
49
|
+
检测到 curl_setopt() 的 CURLOPT_URL 参数来自 $_GET/$_POST/$_REQUEST 等用户输入。
|
|
50
|
+
cURL 是 PHP 中最常见的 HTTP 请求库,用户可控 URL 可导致 SSRF。
|
|
51
|
+
|
|
52
|
+
修复方案:
|
|
53
|
+
1. 对 URL 做白名单域名校验,禁止访问内网 IP
|
|
54
|
+
2. 设置 CURLOPT_PROTOCOLS 限制协议: CURLPROTO_HTTP | CURLPROTO_HTTPS
|
|
55
|
+
3. 禁用重定向: curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false)
|
|
56
|
+
4. 设置 CURLOPT_SSL_VERIFYPEER => true 防止中间人
|
|
57
|
+
5. 使用 filter_var($url, FILTER_VALIDATE_URL) 验证 URL 格式
|
|
58
|
+
languages:
|
|
59
|
+
- php
|
|
60
|
+
pattern-either:
|
|
61
|
+
- pattern: curl_setopt($CH, CURLOPT_URL, $_GET[$X])
|
|
62
|
+
- pattern: curl_setopt($CH, CURLOPT_URL, $_POST[$X])
|
|
63
|
+
- pattern: curl_setopt($CH, CURLOPT_URL, $_REQUEST[$X])
|
|
64
|
+
- pattern: curl_setopt($CH, CURLOPT_URL, "http://" . $_GET[$X])
|
|
65
|
+
- pattern: curl_setopt($CH, CURLOPT_URL, "https://" . $_GET[$X])
|
|
66
|
+
- pattern: curl_setopt($CH, CURLOPT_URL, "http://" . $_POST[$X])
|
|
67
|
+
- pattern: curl_setopt($CH, CURLOPT_URL, "https://" . $_POST[$X])
|
|
68
|
+
metadata:
|
|
69
|
+
cwe: "CWE-918: Server-Side Request Forgery (SSRF)"
|
|
70
|
+
severity: ERROR
|
|
71
|
+
precision: high
|
|
72
|
+
category: ssrf
|
|
73
|
+
likelihood: HIGH
|
|
74
|
+
impact: MEDIUM
|
|
75
|
+
owasp: "A10:2021 - Server-Side Request Forgery (SSRF)"
|
|
76
|
+
|
|
77
|
+
# ZM-PHP-SSRF-003: fopen/readfile/fopen URL 来自用户输入
|
|
78
|
+
- id: zm-php-cwe918-ssrf-003
|
|
79
|
+
severity: ERROR
|
|
80
|
+
message: |
|
|
81
|
+
检测到 fopen() / readfile() / SplFileObject 等函数使用用户提供的 URL 参数。
|
|
82
|
+
这些 PHP 文件函数支持 HTTP/HTTPS 流包装器,可用于 SSRF 攻击。
|
|
83
|
+
|
|
84
|
+
修复方案:
|
|
85
|
+
1. 白名单校验域名
|
|
86
|
+
2. 禁用 allow_url_fopen (php.ini) 如不需远程文件访问
|
|
87
|
+
3. 使用 curl 并实施严格的 SSRF 防御控制
|
|
88
|
+
languages:
|
|
89
|
+
- php
|
|
90
|
+
pattern-either:
|
|
91
|
+
- pattern: fopen($_GET[$X], ...)
|
|
92
|
+
- pattern: fopen($_POST[$X], ...)
|
|
93
|
+
- pattern: fopen("http://" . $_GET[$X], ...)
|
|
94
|
+
- pattern: fopen("https://" . $_GET[$X], ...)
|
|
95
|
+
- pattern: readfile($_GET[$X])
|
|
96
|
+
- pattern: readfile($_POST[$X])
|
|
97
|
+
- pattern: file($_GET[$X])
|
|
98
|
+
- pattern: file($_POST[$X])
|
|
99
|
+
- pattern: new SplFileObject($_GET[$X])
|
|
100
|
+
- pattern: new SplFileObject($_POST[$X])
|
|
101
|
+
metadata:
|
|
102
|
+
cwe: "CWE-918: Server-Side Request Forgery (SSRF)"
|
|
103
|
+
severity: ERROR
|
|
104
|
+
precision: high
|
|
105
|
+
category: ssrf
|
|
106
|
+
likelihood: MEDIUM
|
|
107
|
+
impact: MEDIUM
|
|
108
|
+
owasp: "A10:2021 - Server-Side Request Forgery (SSRF)"
|
|
109
|
+
|
|
110
|
+
# ZM-PHP-SSRF-004: Laravel HTTP Client URL 来自用户输入
|
|
111
|
+
- id: zm-php-cwe918-ssrf-004
|
|
112
|
+
severity: ERROR
|
|
113
|
+
message: |
|
|
114
|
+
检测到 Laravel HTTP Client (Http::get/post/...) 的 URL 参数来自用户输入。
|
|
115
|
+
Laravel 的 Http Facade 底层使用 Guzzle,用户可控 URL 存在 SSRF 风险。
|
|
116
|
+
|
|
117
|
+
修复方案:
|
|
118
|
+
1. 对 URL 做白名单域名校验
|
|
119
|
+
2. 使用 Laravel URL 验证: filter_var($url, FILTER_VALIDATE_URL)
|
|
120
|
+
3. 解析 DNS 后检查 IP 不属内网范围
|
|
121
|
+
4. 配置 Guzzle 中间件限制请求目标
|
|
122
|
+
languages:
|
|
123
|
+
- php
|
|
124
|
+
pattern-either:
|
|
125
|
+
- pattern: Http::get($_GET[$X])
|
|
126
|
+
- pattern: Http::get($_POST[$X])
|
|
127
|
+
- pattern: Http::get($request->input(...))
|
|
128
|
+
- pattern: Http::post($_GET[$X], ...)
|
|
129
|
+
- pattern: Http::post($_POST[$X], ...)
|
|
130
|
+
- pattern: Http::post($request->input(...), ...)
|
|
131
|
+
- pattern: Http::withOptions(...)->get($_GET[$X])
|
|
132
|
+
- pattern: Http::withOptions(...)->get($_POST[$X])
|
|
133
|
+
- pattern: Http::withOptions(...)->post($_GET[$X], ...)
|
|
134
|
+
- pattern: Http::withOptions(...)->post($_POST[$X], ...)
|
|
135
|
+
metadata:
|
|
136
|
+
cwe: "CWE-918: Server-Side Request Forgery (SSRF)"
|
|
137
|
+
severity: ERROR
|
|
138
|
+
precision: high
|
|
139
|
+
category: ssrf
|
|
140
|
+
likelihood: HIGH
|
|
141
|
+
impact: MEDIUM
|
|
142
|
+
owasp: "A10:2021 - Server-Side Request Forgery (SSRF)"
|
|
143
|
+
references:
|
|
144
|
+
- "https://laravel.com/docs/http-client"
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Source: common | Cluster: N/A
|
|
2
|
+
# CWE-918: Flask url_for 动态构造 SSRF
|
|
3
|
+
# 逐码 ZhuMa V4.3 — Python 框架特化规则库
|
|
4
|
+
# 检测: url_for参数来自request
|
|
5
|
+
|
|
6
|
+
rules:
|
|
7
|
+
|
|
8
|
+
# ZM-PY-FLASK-SSRF-001: url_for动态构造SSRF
|
|
9
|
+
- id: zm-py-flask-ssrf-001
|
|
10
|
+
severity: WARNING
|
|
11
|
+
message: |
|
|
12
|
+
检测到 Flask url_for() 参数来自 HTTP 请求。若攻击者控制端点名称,
|
|
13
|
+
可能构造指向内部服务的URL,实现SSRF攻击。
|
|
14
|
+
|
|
15
|
+
修复方案:
|
|
16
|
+
1. url_for 端点名使用字面量字符串: url_for('user_profile', id=user_id)
|
|
17
|
+
2. 对必须动态选择的端点使用白名单映射
|
|
18
|
+
3. 校验生成的URL域名是否在允许范围内
|
|
19
|
+
languages:
|
|
20
|
+
- python
|
|
21
|
+
pattern-either:
|
|
22
|
+
- pattern: flask.url_for(request.args.get(...))
|
|
23
|
+
- pattern: flask.url_for(request.form.get(...))
|
|
24
|
+
- pattern: flask.url_for(request.values.get(...))
|
|
25
|
+
- pattern: url_for(request.args.get(...))
|
|
26
|
+
- pattern: url_for(request.form.get(...))
|
|
27
|
+
- pattern: url_for(request.values.get(...))
|
|
28
|
+
- pattern: flask.url_for($ENDPOINT, **request.args)
|
|
29
|
+
- pattern: url_for($ENDPOINT, **request.args)
|
|
30
|
+
metadata:
|
|
31
|
+
cwe: "CWE-918: Server-Side Request Forgery (SSRF)"
|
|
32
|
+
severity: WARNING
|
|
33
|
+
precision: medium
|
|
34
|
+
category: ssrf
|
|
35
|
+
framework: flask
|
|
36
|
+
likelihood: MEDIUM
|
|
37
|
+
impact: HIGH
|
|
38
|
+
owasp: "A10:2021 - Server-Side Request Forgery (SSRF)"
|
|
39
|
+
references:
|
|
40
|
+
- "https://flask.palletsprojects.com/en/stable/api/#flask.url_for"
|