github Python analyzed 080368d

BrianArfi/ai-second-brain

github

A personal AI operating system for knowledge workers. Carries your context, reaches your real tools, runs your SOPs, and learns from every correction.

maintainer
BrianArfi
licence
Apache-2.0
first seen
2026-08-14
last seen
2026-09-11
releases · 30d
1
short id

Drift inferred · capture-to-capture

  1. HIGH code analysis flagged committed secret in BrianArfi/ai-second-brain
  2. HIGH code analysis flagged committed secret in BrianArfi/ai-second-brain
  3. HIGH code analysis flagged committed secret in BrianArfi/ai-second-brain
  4. HIGH code analysis flagged committed secret in BrianArfi/ai-second-brain
  5. HIGH code analysis flagged committed secret in BrianArfi/ai-second-brain
  6. HIGH code analysis flagged committed secret in BrianArfi/ai-second-brain
  7. HIGH code analysis flagged committed secret in BrianArfi/ai-second-brain
  8. HIGH code analysis flagged committed secret in BrianArfi/ai-second-brain
  9. HIGH code analysis flagged committed secret in BrianArfi/ai-second-brain
capabilities 3 tools
transport stdio counts 3 tools · 0 res · 0 prompts permission surface via code analysis

tools

  • create_calendar_event
  • list_calendar_events
  • sweep_calendar
skills & danger signals github-tarball
prompt-surface shipped agent-instruction files + hidden-content / dangerous-code findings — quoted from the analyzed source

analyzed commit 080368d · analyzer v33 · 6d ago

skills & prompt files 40

danger signals29

code evidence vv0.2.0 · github-tarball
evidence-backed findings quoted directly from the published source artifact — not inferred

code files: 230

filesystem 137

  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/activity_log.py :25 with open(LOG, encoding="utf-8") as fh:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/ai_call.py :40 import shutil
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/build_insights.py :34 reg = json.load(open(REGISTRY, encoding="utf-8"))
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/cdp_screenshot.py :123 open(OUT, "wb").write(base64.b64decode(full["data"]))
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/check_retired_commands.py :19 import pathlib
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/claude_session_reaper.py :32 from pathlib import Path
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/cron_throttle.py :40 from pathlib import Path
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/daily_update_runner.py :223 with open(path, 'w', encoding='utf-8') as f:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/decision_consistency.py :79 with open(DECISIONS_PATH, encoding='utf-8') as f:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/doc_share_gate.py :169 text = open(src, encoding="utf-8").read()
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/doc_version_guard.py :79 for line in open(path, encoding='utf-8'):
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/enrich_tickets.py :22 doc = json.load(open(TICKETS, encoding="utf-8"))
show 28 more
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/exec_and_capture.py :40 with open(args.output_file, 'w', encoding='utf-8') as f:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/gdoc_insert_images.py :134 with open(out, "w") as fh:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/gdoc_replace_image.py :40 with open(tok, "w") as fh:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/gdoc_reply_comments.py :44 with open(tok, "w") as fh:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/gdoc_revisions.py :53 open(out, 'w').write(body)
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/harness_config.py :256 with open(CONFIG_PATH, "r", encoding="utf-8") as fh:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/harness_migrate.py :58 import shutil
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/heartbeat.py :32 with open(PATH, "a", encoding="utf-8") as fh:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/ledger_lock.py :90 fh = open(path, 'w')
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/ledger_sync.py :140 with open(path, 'rb') as f:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/mcp_switcher.py :12 with open(CONFIG_PATH, 'r') as f:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/portfolio_render.py :19 from pathlib import Path
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/portfolio_sync.py :53 from pathlib import Path
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/portfolio_tagger.py :160 with open(path, 'r', encoding='utf-8') as fh:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/public_drift_check.py :26 import shutil
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/slack_ledger_merge_driver.py :42 with open(ours_path) as f:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/slack_mentions.py :68 with open(os.path.join(PEOPLE_DIR, fn), encoding='utf-8') as fh:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/slack_text.py :49 with open(path, encoding='utf-8') as fh:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/squad_share.py :48 cfg = json.load(open(CONFIG))
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/state_index.py :45 with open(src_path, 'r', encoding='utf-8') as f:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/token_efficiency.py :62 with open(tmp, 'w', encoding='utf-8') as fh:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/verify_briefing_numbers.py :54 with open(path, 'r', encoding='utf-8') as f:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/work_tree.py :62 with open(TREE) as fh:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/work_tree_backfill.py :217 with open(path) as fh:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/work_tree_link.py :63 with open(LINEAR_TEAMS) as fh:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/worktree_sync.py :161 with open(abspath, 'rb') as fh:
  • fs (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/access-watch/scripts/access_watch.py :80 return set(json.load(open(IGNORE)).get('ignore', []))
  • fs BrianArfi-ai-second-brain-080368d/.agent/skills/agy-bridge/run.py :46 import shutil

97 more not shown — this panel samples each group; the count above is the real total.

shell / exec 57

  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/ai_call.py :41 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/build_insights.py :15 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/claude_session_reaper.py :29 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/cron_throttle.py :36 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/daily_update_runner.py :30 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/decision_consistency.py :46 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/enrich_tickets.py :14 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/exec_and_capture.py :14 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/harness_config.py :52 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/harness_migrate.py :60 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/ledger_sync.py :61 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/mcp_atlassian_wrapper.py :2 import subprocess
show 28 more
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/portfolio_sync.py :49 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/public_drift_check.py :27 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/token_efficiency.py :44 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/work_tree_link.py :28 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/worktree_sync.py :39 import subprocess
  • shell BrianArfi-ai-second-brain-080368d/.agent/skills/agy-bridge/run.py :49 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/command-queue/scripts/command_queue.py :27 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/commitment-ledger/scripts/commitment_ledger.py :38 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/dashboard-updater/scripts/dashboard_sync.py :2 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/execution-guard/scripts/execution_guard.py :4 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/ga4-connector/scripts/sorting_impact.py :20 out = subprocess.run(
  • shell BrianArfi-ai-second-brain-080368d/.agent/skills/gdoc-comment/gdoc_comment.py :65 subprocess.run([c, "--headless", "--no-sandbox", "--disable-gpu",
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/harness-health/scripts/harness_health.py :41 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/inbox-hub/scripts/inbox_digest_agy.py :36 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/inbox-hub/scripts/inbox_sweep.py :558 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/outcomes-loop/scripts/outcomes_loop.py :34 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/premeeting-cards/scripts/enrich_cards_agy.py :30 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/premeeting-cards/scripts/premeeting_cards.py :43 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/project-tracking-update/scripts/render_followup_tracker.py :24 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/reply-queue/scripts/reply_queue.py :134 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/slack-channel-manager/scripts/get_channel_updates.py :4 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/slack-tracker/scripts/mention_ledger.py :33 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/token-tracker/scripts/token_usage.py :47 import subprocess
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/waiting-watchdog/scripts/waiting_watchdog.py :326 os.system(f'{sys.executable} {HEARTBEAT} --job waiting-watchdog --status ok '
  • shell (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/work-hours/scripts/work_hours.py :67 import subprocess
  • shell BrianArfi-ai-second-brain-080368d/.claude/hooks/ledger_freshness.py :23 import subprocess
  • shell BrianArfi-ai-second-brain-080368d/.claude/hooks/ledger_guard.py :26 import subprocess
  • shell BrianArfi-ai-second-brain-080368d/.claude/hooks/retired_commands_guard.py :14 import subprocess

17 more not shown — this panel samples each group; the count above is the real total.

network 43

  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/cdp_screenshot.py :12 import base64, json, os, socket, struct, sys, threading, time, urllib.request
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/daily_update_runner.py :476 import socket
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/gdoc_revisions.py :18 import requests
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/harness_migrate.py :59 import socket
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/slack_mentions.py :111 import urllib.parse
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/work_tree_link.py :30 import urllib.parse
  • net BrianArfi-ai-second-brain-080368d/.agent/skills/agy-bridge/run.py :47 import socket
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/clickup-connector/scripts/add_clickup_links_to_sheet.py :11 import requests
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/clickup-connector/scripts/clickup_client.py :4 import requests
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/clickup-connector/scripts/create_fina_tasks.py :11 import requests
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/clickup-connector/scripts/update_fina_tasks.py :11 import requests
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/commitment-ledger/scripts/commitment_ledger.py :42 import urllib.parse
show 28 more
  • net BrianArfi-ai-second-brain-080368d/.agent/skills/diagram-gen/mermaid_render.py :23 import requests
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/fathom-connector/scripts/fathom_client.py :7 import urllib.request
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/fathom-frame-grab/scripts/fathom_frame_grab.py :24 import argparse, os, re, sys, time, urllib.request, urllib.error
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/figma-connector/scripts/figma_check.py :15 import urllib.error
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/figma-connector/scripts/figma_client.py :4 import requests
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/figma-connector/scripts/figma_frames.py :18 import urllib.error
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/gdocs-writer/scripts/gdocs_writer.py :220 from urllib.parse import unquote
  • net BrianArfi-ai-second-brain-080368d/.agent/skills/gemini-image/generate.py :15 import argparse, base64, json, os, sys, urllib.request, urllib.error
  • net BrianArfi-ai-second-brain-080368d/.agent/skills/google-calendar-connector/gcal_manager.py :188 from urllib.parse import urlparse, parse_qs
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/harness-health/scripts/harness_health.py :44 import urllib.parse
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/inbox-hub/scripts/inbox_sweep.py :138 import urllib.request
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/jira-connector/scripts/dump_all_issues.py :15 import requests
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/jira-connector/scripts/jira_client.py :5 import requests
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/linear-connector/scripts/linear_client.py :24 import requests
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/mixpanel-connector/scripts/mixpanel_client.py :9 import urllib.request
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/reply-queue/scripts/reply_queue.py :38 import urllib.parse
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/secondary-slack-connector/scripts/setup_slack_app.py :5 import urllib.request
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/secondary-slack-connector/scripts/slack_client.py :7 import urllib.request
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/slack-connector/scripts/slack_client.py :9 import urllib.request
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/slack-connector/tests/test_incomplete_read_resilience.py :54 real_urlopen = sc.urllib.request.urlopen
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/slack-tracker/scripts/mention_ledger.py :36 import urllib.parse
  • net (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/waiting-watchdog/scripts/waiting_watchdog.py :38 import urllib.parse
  • net BrianArfi-ai-second-brain-080368d/.claude/hooks/link_guard.py :33 from urllib.parse import unquote
  • net BrianArfi-ai-second-brain-080368d/dashboard/server.py :22 from urllib.request import Request, urlopen
  • net BrianArfi-ai-second-brain-080368d/meeting-recorder/ingest_server.py :46 from urllib.parse import urlsplit, parse_qs
  • net BrianArfi-ai-second-brain-080368d/meeting-recorder/mom_reconcile.py :66 import urllib.error
  • net BrianArfi-ai-second-brain-080368d/meeting-recorder/transcribe.py :45 import urllib.error
  • net BrianArfi-ai-second-brain-080368d/meeting-recorder/vexa_bots.py :27 import urllib.error

3 more not shown — this panel samples each group; the count above is the real total.

secrets 20

  • secrets (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/daily_update_runner.py :255 user_token = tokens.get('SLACK_USER_TOKEN') or os.environ.get('SLACK_USER_TOKEN')
  • secrets (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/harness_migrate.py :51 import getpass
  • secrets (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/slack_mentions.py :123 token = (os.environ.get('SLACK_USER_TOKEN') or env.get('SLACK_USER_TOKEN')
  • secrets (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/clickup-connector/scripts/clickup_client.py :12 self.token = token or os.environ.get("CLICKUP_ACCESS_TOKEN")
  • secrets (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/command-queue/scripts/command_queue.py :80 oauth = os.environ.get('CLAUDE_CODE_OAUTH_TOKEN')
  • secrets (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/commitment-ledger/scripts/commitment_ledger.py :577 tok = os.environ.get('SLACK_USER_TOKEN')
  • secrets (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/fathom-connector/scripts/fathom_client.py :31 return os.environ.get('FATHOM_API_KEY')
  • secrets (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/figma-connector/scripts/figma_check.py :27 if os.environ.get("FIGMA_ACCESS_TOKEN"):
  • secrets (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/figma-connector/scripts/figma_client.py :127 token = os.environ.get("FIGMA_ACCESS_TOKEN")
  • secrets BrianArfi-ai-second-brain-080368d/.agent/skills/gemini-image/generate.py :21 key = os.environ.get("GEMINI_API_KEY")
  • secrets (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/inbox-hub/scripts/inbox_sweep.py :127 return os.environ.get('SLACK_USER_TOKEN')
  • secrets (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/jira-connector/scripts/jira_client.py :35 TOKEN = os.environ.get("JIRA_API_TOKEN", "")
show 8 more
  • secrets (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/linear-connector/scripts/linear_client.py :62 API_KEY = os.environ.get("LINEAR_API_KEY", "")
  • secrets (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/secondary-slack-connector/scripts/slack_client.py :522 token = args.token or os.environ.get("SLACK_BOT_TOKEN")
  • secrets (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/slack-connector/scripts/slack_client.py :1006 token = os.environ.get("SLACK_BOT_TOKEN")
  • secrets (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/slack-tracker/scripts/mention_ledger.py :121 tok = os.environ.get('SLACK_USER_TOKEN')
  • secrets (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/waiting-watchdog/scripts/waiting_watchdog.py :136 tok = os.environ.get('SLACK_USER_TOKEN')
  • secrets BrianArfi-ai-second-brain-080368d/meeting-recorder/ingest_server.py :75 env = os.environ.get("ASB_INGEST_TOKEN", "").strip()
  • secrets (weak) BrianArfi-ai-second-brain-080368d/scripts/fathom_registry_sync.py :70 return os.environ.get("FATHOM_API_KEY")
  • secrets BrianArfi-ai-second-brain-080368d/setup/connect.py :6 import getpass

database 1

  • db (weak) BrianArfi-ai-second-brain-080368d/.agent/skills/work-hours/scripts/work_hours.py :66 import sqlite3

tool registrations 3

  • sweep_calendar BrianArfi-ai-second-brain-080368d/.agent/skills/google-calendar-connector/gcal_manager.py :532
  • list_calendar_events BrianArfi-ai-second-brain-080368d/.agent/skills/google-calendar-connector/gcal_manager.py :540
  • create_calendar_event BrianArfi-ai-second-brain-080368d/.agent/skills/google-calendar-connector/gcal_manager.py :548

declared dependencies 25

  • google-auth@>=2.0.0
  • google-auth-oauthlib@>=1.0.0
  • google-auth-httplib2@>=0.2.0
  • google-api-python-client@>=2.0.0
  • requests@>=2.28.0
  • openpyxl@>=3.9.0
  • playwright@>=1.40.0
  • websocket-client@>=1.6.0
  • axum@0.8
  • tokio@1.53.0
  • chromiumoxide@0.9.1
  • tokio-tungstenite@0.30.0
show 13 more
  • futures@0.3
  • rusqlite@0.40.1
  • reqwest@0.13.4
  • serde@1.0.229
  • serde_json@1.0.150
  • toml@1.1.3
  • chrono@0.4.45
  • uuid@1.24.0
  • hound@3.5.1
  • tracing@0.1.44
  • tracing-subscriber@0.3.23
  • anyhow@1.0.104
  • thiserror@2.0.19

perm:untrusted 1

  • untrusted (weak) BrianArfi-ai-second-brain-080368d/.agent/scripts/gdoc_revisions.py :51 body = requests.get(link, headers={'Authorization': 'Bearer ' + creds.token}).text