Web Frameworks
Flask, Django, FastAPI request sources and response sinks
PyCeleryCelery is a distributed task queue. Celery(broker=..., backend=...) configures brokers — findings when broker URL has insecure defaults (redis:// without TLS, amqp:// without TLS). @task decorators accept arbitrary user-controlled args via the queue.
PyCgiThe cgi module (deprecated in 3.11, removed in 3.13). cgi.FieldStorage collects form data for CGI scripts — each field value is a source. Any new code should not use cgi.
PyCgitbPython stdlib module — cgitb. Auto-indexed from CDN. Method-level security roles have not been annotated; rule writers should inspect the source before use.
PyChannelsThird-party Python package module — channels. Auto-indexed from CDN. Method-level security roles have not been annotated; rule writers should inspect the source before use.
PyDjangoDjango is a full-featured Python web framework. HttpRequest exposes request data; the ORM Manager.raw() and Cursor.execute() are SQL injection sinks when the SQL is built from user input. Template rendering via mark_safe bypasses auto-escaping (XSS sink).
PyDjangoFiltersdjango-filter builds Django QuerySet filters from query params. FilterSet.qs runs the filtered query — injection is impossible via the FilterSet, but custom filter methods that build raw SQL are sinks.
PyFanstaticThird-party Python package module — fanstatic. Auto-indexed from CDN. Method-level security roles have not been annotated; rule writers should inspect the source before use.
PyFastAPIFastAPI is a modern Python web framework built on Starlette and Pydantic. Path / query / body parameters declared on endpoints are sources. Response helpers inherited from Starlette include HTMLResponse and RedirectResponse (XSS and open-redirect sinks).
PyFlaskFlask is a popular Python web microframework. The flask.request global exposes all HTTP input (args, form, json, files, headers, cookies) as taint sources. Response helpers like render_template (SSTI if template is user-controlled) and redirect (open-redirect) are sinks.
PyFlaskCorsflask-cors configures CORS headers on Flask apps. CORS(app, origins='*') with supports_credentials=True is a major finding (wildcard origin with credentials is explicitly forbidden by browsers but some configurations still emit it).
PyFlaskMigrateThird-party Python package module — flask_migrate. Auto-indexed from CDN. Method-level security roles have not been annotated; rule writers should inspect the source before use.
PyFlaskSocketioThird-party Python package module — flask_socketio. Auto-indexed from CDN. Method-level security roles have not been annotated; rule writers should inspect the source before use.
PyGeventThird-party Python package module — gevent. Auto-indexed from CDN. Method-level security roles have not been annotated; rule writers should inspect the source before use.
PyGreenletThird-party Python package module — greenlet. Auto-indexed from CDN. Method-level security roles have not been annotated; rule writers should inspect the source before use.
PyGrpcThird-party Python package module — grpc. Auto-indexed from CDN. Method-level security roles have not been annotated; rule writers should inspect the source before use.
PyGrpcChannelzThird-party Python package module — grpc_channelz. Auto-indexed from CDN. Method-level security roles have not been annotated; rule writers should inspect the source before use.
PyGrpcHealthThird-party Python package module — grpc_health. Auto-indexed from CDN. Method-level security roles have not been annotated; rule writers should inspect the source before use.
PyGrpcReflectionThird-party Python package module — grpc_reflection. Auto-indexed from CDN. Method-level security roles have not been annotated; rule writers should inspect the source before use.
PyGrpcStatusThird-party Python package module — grpc_status. Auto-indexed from CDN. Method-level security roles have not been annotated; rule writers should inspect the source before use.
PyGunicorngunicorn is a production WSGI server. Commonly run via CLI but programmatic use via Application() is possible. bind '0.0.0.0:*' on internal apps is a finding.
PyJsonschemajsonschema validates JSON documents against a schema. validate() is a sanitizer for shape-checking untrusted JSON before passing fields to other sinks.
PyPydanticPydantic provides strict type-validated models. BaseModel parses / coerces input and raises on mismatch — the parsed model is a sanitizer for the raw input. Still, string fields on the model can remain tainted (not magically escaped).
PyRestFrameworkDjango REST Framework (DRF). request.data is the primary source for JSON / form payloads; serializers validate input (sanitizer when is_valid is called with raise_exception=True). Response() with tainted data is generally safe due to DRF's renderers but render_template is still worth watching.
PySimpleWebsocketThird-party Python package module — simple_websocket. Auto-indexed from CDN. Method-level security roles have not been annotated; rule writers should inspect the source before use.
PyStarletteStarlette is the ASGI toolkit behind FastAPI. Request exposes HTTP input; the responses module provides HTMLResponse / RedirectResponse / FileResponse (sinks for XSS, open-redirect, path-traversal respectively).
PyUwsgiThird-party Python package module — uwsgi. Auto-indexed from CDN. Method-level security roles have not been annotated; rule writers should inspect the source before use.
PyWaitresswaitress is a production WSGI server. serve() with host='0.0.0.0' exposes the app to all interfaces — finding for internal-only services.
PyWerkzeugWerkzeug is the WSGI toolkit Flask is built on. safe_join() is the canonical path-traversal sanitizer for serving files. utils.redirect is where Flask's open-redirect surface originates.
PyWsgirefThe wsgiref module for WSGI utilities. simple_server.make_server is dev-only — production should use gunicorn or waitress. util.request_uri reconstructs the URL from environ and is a source.
PyWtformsWTForms provides form validation for Flask / Django-style apps. Form().validate_on_submit() is a sanitizer for field-level validation. Still, string field values reach templates / SQL if fed directly without additional escaping.