Yash030 commited on
Commit
1846fdf
·
1 Parent(s): 98c3939

test: add SQL injection and path traversal unit tests, and integrate Bandit CI security scanning

Browse files
src/agentcache/app.py CHANGED
@@ -290,7 +290,7 @@ def main() -> None:
290
  flask_app = create_app()
291
  port = int(os.getenv("III_REST_PORT", os.getenv("PORT", "3111")))
292
  print(f"[main] Starting Flask daemon on port {port}...")
293
- flask_app.run(host="0.0.0.0", port=port, debug=False)
294
 
295
 
296
  if __name__ == "__main__":
 
290
  flask_app = create_app()
291
  port = int(os.getenv("III_REST_PORT", os.getenv("PORT", "3111")))
292
  print(f"[main] Starting Flask daemon on port {port}...")
293
+ flask_app.run(host="0.0.0.0", port=port, debug=False) # nosec B104
294
 
295
 
296
  if __name__ == "__main__":
src/agentcache/cli.py CHANGED
@@ -254,7 +254,7 @@ def main() -> None:
254
  serve_parser.add_argument(
255
  "--port", type=int, default=int(os.getenv("III_REST_PORT", "3111"))
256
  )
257
- serve_parser.add_argument("--host", default="0.0.0.0")
258
  serve_parser.add_argument(
259
  "--no-workers", action="store_true", help="Disable background worker threads"
260
  )
 
254
  serve_parser.add_argument(
255
  "--port", type=int, default=int(os.getenv("III_REST_PORT", "3111"))
256
  )
257
+ serve_parser.add_argument("--host", default="0.0.0.0") # nosec B104
258
  serve_parser.add_argument(
259
  "--no-workers", action="store_true", help="Disable background worker threads"
260
  )
src/agentcache/functions.py CHANGED
@@ -650,7 +650,7 @@ class IndexPersistence:
650
  chunk_delete = to_delete[i : i + 50]
651
  format_strings = ",".join(["?"] * len(chunk_delete))
652
  cursor.execute(
653
- f"DELETE FROM kv_store WHERE scope IN ({format_strings})",
654
  tuple(chunk_delete),
655
  )
656
  conn.commit()
@@ -3756,7 +3756,7 @@ def generate_content(system_instruction: str, prompt: str) -> str:
3756
  )
3757
 
3758
  try:
3759
- with urllib.request.urlopen(req, timeout=60.0) as response:
3760
  resp_data = json.loads(response.read().decode("utf-8"))
3761
 
3762
  candidates = resp_data.get("candidates", [])
 
650
  chunk_delete = to_delete[i : i + 50]
651
  format_strings = ",".join(["?"] * len(chunk_delete))
652
  cursor.execute(
653
+ f"DELETE FROM kv_store WHERE scope IN ({format_strings})", # nosec B608
654
  tuple(chunk_delete),
655
  )
656
  conn.commit()
 
3756
  )
3757
 
3758
  try:
3759
+ with urllib.request.urlopen(req, timeout=60.0) as response: # nosec B310
3760
  resp_data = json.loads(response.read().decode("utf-8"))
3761
 
3762
  candidates = resp_data.get("candidates", [])
src/agentcache/search.py CHANGED
@@ -719,7 +719,7 @@ class GeminiEmbeddingProvider:
719
  )
720
 
721
  try:
722
- with urllib.request.urlopen(req, timeout=30.0) as response:
723
  resp_data = json.loads(response.read().decode("utf-8"))
724
 
725
  for emb in resp_data.get("embeddings", []):
@@ -873,7 +873,7 @@ class OpenAIEmbeddingProvider:
873
  method="POST",
874
  )
875
  try:
876
- with urllib.request.urlopen(req, timeout=30.0) as response:
877
  resp_data = json.loads(response.read().decode("utf-8"))
878
  # Sort by index to preserve order
879
  embeddings_sorted = sorted(
 
719
  )
720
 
721
  try:
722
+ with urllib.request.urlopen(req, timeout=30.0) as response: # nosec B310
723
  resp_data = json.loads(response.read().decode("utf-8"))
724
 
725
  for emb in resp_data.get("embeddings", []):
 
873
  method="POST",
874
  )
875
  try:
876
+ with urllib.request.urlopen(req, timeout=30.0) as response: # nosec B310
877
  resp_data = json.loads(response.read().decode("utf-8"))
878
  # Sort by index to preserve order
879
  embeddings_sorted = sorted(