Benign lua Download

ai-lasso-guardrail 1.0.0-1

Action input references workflow secretPR target job restricted to Dependabot
SHA-256b912402c92ee73f1905921a0ecba79084649d7f1780d370cf3180e3e286c7ccb

Evidence

OpenAI-compatible chat completions path mock.py · lines 5–7
5:23… ssifix -> above + masked messages[] + span offsets
6 POST /v1/chat/completions -> echoes the received prompt into the completion
7 (so request-masking is visible d …
Imports from Python's http.server module mock.py · lines 11–25
11:47… ssage text): LASSO_BLOCK, LASSO_MASK.
12"""
13import json
14import re
15from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
16
17EMAIL = re.compile(r"[\w.+-]+@[\w-]+\.[\w.-]+")
⋯8 lines
Python HTTP Content-Length header mock.py · lines 62–78
62
63 def _send(self, code, obj):
64 data = json.dumps(obj).encode()
65 self.send_response(code)
66 self.send_header("Content-Type", "application/json")
67 self.send_header("Content-Length", str(len(data)))
68 self.end_headers()
69 self.wfile.write(data)
70
71 def do_POST(self):
72 n = int(self.headers.get("Content-Length") or 0)
73 try:
74 body = json.loads(self.rfile.read(n) or b"{}")
75 except json.JSONDecodeError:
76 body = {}
77 p = self.path
78 if p in ("/gateway/v3/cla …
Python HTTP server binds all interfaces mock.py · lines 92–96
92:25… d(404, {"error": "not found"})
93
94
95if __name__ == "__main__":
96 ThreadingHTTPServer(("0.0.0.0", 8080), H).serve_forever()
References HTTP Content-Type application/json integration_spec.lua · lines 9–25
⋯12 lines
21 content_by_lua_block {
22 local body = ngx.req.get_body_data() or ""
23 ngx.header["Content-Type"] = "application/json"
24 if body:find("LASSO_BLOCK") then
25 ngx.say('{"deputies":{"jailbreak":true},"findings":{"jailbreak":[{"action":"BLOCK","name":"pi","severity":"HIGH"}]},"violations_detected":t …

Showing the top 5 files — 2 more files (10 regions) not shown.

No evidence locations were recorded for this file. Raw result

Keyboard shortcuts on this page: j for the next sample, k for the previous one, x to go back to the feed, d to download the original bytes, r to re-queue the sample for analysis.