mirror of
https://github.com/github/codeql.git
synced 2026-04-29 02:35:15 +02:00
Python: FastAPI: Model WebSocket usage
This commit is contained in:
@@ -104,47 +104,47 @@ from fastapi import WebSocket
|
||||
assert WebSocket == starlette.websockets.WebSocket
|
||||
|
||||
|
||||
@app.websocket("/ws")
|
||||
async def websocket_test(websocket: WebSocket):
|
||||
@app.websocket("/ws") # $ routeSetup="/ws"
|
||||
async def websocket_test(websocket: WebSocket): # $ requestHandler routedParameter=websocket
|
||||
await websocket.accept()
|
||||
|
||||
ensure_tainted(
|
||||
websocket, # $ MISSING: tainted
|
||||
websocket, # $ tainted
|
||||
|
||||
websocket.url, # $ MISSING: tainted
|
||||
websocket.url, # $ tainted
|
||||
|
||||
websocket.url.netloc, # $ MISSING: tainted
|
||||
websocket.url.path, # $ MISSING: tainted
|
||||
websocket.url.query, # $ MISSING: tainted
|
||||
websocket.url.fragment, # $ MISSING: tainted
|
||||
websocket.url.username, # $ MISSING: tainted
|
||||
websocket.url.password, # $ MISSING: tainted
|
||||
websocket.url.hostname, # $ MISSING: tainted
|
||||
websocket.url.port, # $ MISSING: tainted
|
||||
websocket.url.netloc, # $ tainted
|
||||
websocket.url.path, # $ tainted
|
||||
websocket.url.query, # $ tainted
|
||||
websocket.url.fragment, # $ tainted
|
||||
websocket.url.username, # $ tainted
|
||||
websocket.url.password, # $ tainted
|
||||
websocket.url.hostname, # $ tainted
|
||||
websocket.url.port, # $ tainted
|
||||
|
||||
websocket.url.components, # $ MISSING: tainted
|
||||
websocket.url.components.netloc, # $ MISSING: tainted
|
||||
websocket.url.components.path, # $ MISSING: tainted
|
||||
websocket.url.components.query, # $ MISSING: tainted
|
||||
websocket.url.components.fragment, # $ MISSING: tainted
|
||||
websocket.url.components.username, # $ MISSING: tainted
|
||||
websocket.url.components.password, # $ MISSING: tainted
|
||||
websocket.url.components.hostname, # $ MISSING: tainted
|
||||
websocket.url.components.port, # $ MISSING: tainted
|
||||
websocket.url.components, # $ tainted
|
||||
websocket.url.components.netloc, # $ tainted
|
||||
websocket.url.components.path, # $ tainted
|
||||
websocket.url.components.query, # $ tainted
|
||||
websocket.url.components.fragment, # $ tainted
|
||||
websocket.url.components.username, # $ tainted
|
||||
websocket.url.components.password, # $ tainted
|
||||
websocket.url.components.hostname, # $ tainted
|
||||
websocket.url.components.port, # $ tainted
|
||||
|
||||
websocket.headers, # $ MISSING: tainted
|
||||
websocket.headers["key"], # $ MISSING: tainted
|
||||
websocket.headers, # $ tainted
|
||||
websocket.headers["key"], # $ tainted
|
||||
|
||||
websocket.query_params, # $ MISSING: tainted
|
||||
websocket.query_params["key"], # $ MISSING: tainted
|
||||
websocket.query_params, # $ tainted
|
||||
websocket.query_params["key"], # $ tainted
|
||||
|
||||
websocket.cookies, # $ MISSING: tainted
|
||||
websocket.cookies["key"], # $ MISSING: tainted
|
||||
websocket.cookies, # $ tainted
|
||||
websocket.cookies["key"], # $ tainted
|
||||
|
||||
await websocket.receive(), # $ MISSING: tainted
|
||||
await websocket.receive_bytes(), # $ MISSING: tainted
|
||||
await websocket.receive_text(), # $ MISSING: tainted
|
||||
await websocket.receive_json(), # $ MISSING: tainted
|
||||
await websocket.receive(), # $ tainted
|
||||
await websocket.receive_bytes(), # $ tainted
|
||||
await websocket.receive_text(), # $ tainted
|
||||
await websocket.receive_json(), # $ tainted
|
||||
)
|
||||
|
||||
# scheme seems very unlikely to give interesting results, but very likely to give FPs.
|
||||
@@ -154,10 +154,10 @@ async def websocket_test(websocket: WebSocket):
|
||||
)
|
||||
|
||||
async for data in websocket.iter_bytes():
|
||||
ensure_tainted(data) # $ MISSING: tainted
|
||||
ensure_tainted(data) # $ tainted
|
||||
|
||||
async for data in websocket.iter_text():
|
||||
ensure_tainted(data) # $ MISSING: tainted
|
||||
ensure_tainted(data) # $ tainted
|
||||
|
||||
async for data in websocket.iter_json():
|
||||
ensure_tainted(data) # $ MISSING: tainted
|
||||
ensure_tainted(data) # $ tainted
|
||||
|
||||
Reference in New Issue
Block a user