100 Commits
Author SHA1 Message Date
Mr. The Plague 09360a60c8 feat(mcp): connection payload for OpenCode/Grok + JSON-RPC /mcp
When minting/rolling an mcp:connect token, return multi-format MCP
connection blob (OpenCode remote, Cursor mcpServers, CLI). Ops Admin
banner adds Copy MCP payload. POST /mcp speaks JSON-RPC tools/list|call
for remote LLM clients.
2026-08-04 13:02:44 -04:00
Mr. The Plague 1f583d957c fix(ops): keep page tabs on refresh; stop Session controls clipping
Persist active page-tab and Shell/Task sub-tab across soft refreshes and
rebuilds. Soft-update session list without wiping tab HTML. Give sub-tabs
and action rows flex-shrink:0 so the output box cannot crush Run/Shell UI.
2026-08-04 12:19:42 -04:00
Mr. The Plague 1f8cba06c1 feat(postex): implant SA/cred/lateral/persist + COFF/inject packs (I7–I11)
- sc5beacon v3.1: sa:* JSON SA, gated cred/lateral/persist, module:list
- COFF section parse + research exec hook; expanded inject technique stubs
- Server full module catalog + POST /modules/run allow-list
- File op chunk fields (offset/length/as_b64); stepped live SQLite backup
- Tests: Go postex + Python catalog/API
2026-08-04 12:01:35 -04:00
Mr. The Plague 7f51ac2384 feat(db): WAL read/write split + batched metrics flush (B1)
Separate read-only aiosqlite connection so concurrent operators/beacons
do not serialize behind write lock. Busy timeout, NORMAL sync, batch
metric upserts, and in-memory counter flush loop.
2026-08-04 11:51:30 -04:00
Mr. The Plague 0fce0dcd48 fix(ci): repair broken workflow YAML indentation
Comment stripping mis-indented cache: keys so GitHub never ran CI jobs,
leaving required checks stuck on Expected.
2026-08-04 11:43:54 -04:00
Mr. The Plague 3f8365632e security: GitHub-hosted CI + SHA-pinned actions for public SquidC5
Org Default runner group no longer allows public repos. Move CI/SquidGate
to ubuntu-latest/windows-latest and pin third-party actions to commit SHAs
(org sha_pinning_required). Document protected master + CI posture.
2026-08-04 11:41:41 -04:00
Mr. The Plague a1ebb72e8f fix(deps): bump golang.org/x/crypto to v0.54.0 (Dependabot)
Patches all open GHSA alerts on x/crypto (SSH-related; we only import
chacha20poly1305). Requires Go 1.25 — update native-agent CI toolchain.
2026-08-04 10:11:32 -04:00
Mr. The Plague b4504421fa docs: point README trailer at new YouTube video UPGqVn81mVw 2026-08-04 09:47:20 -04:00
Mr. The Plague d2408b4aea fix(ci): use ephemeral ports in listener bind tests
Fixed ports (9001/19001) collide when 3.11 and 3.12 jobs share a runner host.
2026-08-04 09:19:07 -04:00
Mr. The Plague b0680c6cb6 fix(build): restore project.dependencies after project.urls split
Editable install failed: dependencies were nested under project.urls.
2026-08-04 09:09:21 -04:00
Mr. The Plague d3b2fcfe79 docs: public-repo readiness — scrub private paths, fix links, CI notes
Remove personal OneDrive paths and wrong GitHub owner; document self-hosted
CI for external contributors; fix env prefix table, deploy lab script, UFW
guidance, pyproject URLs, and tighten gitignore for secrets.
2026-08-04 09:05:50 -04:00
Mr. The Plague 169ec40460 fix(ops): shell Run on Session tab + larger output + UI polish
Wire context handlers per mount so duplicate ctxRun IDs no longer leave
the Session-tab Run button dead (getElementById hit the hidden rail).
Grow session/console output space, right-align Close, restyle INKO close.
2026-08-04 00:25:01 -04:00
Mr. The Plague aa1a34327e docs: replace blank YouTube CDN thumb with local trailer card
YouTube maxresdefault was empty; host 1280x720 banner+play asset in repo.
2026-08-04 00:06:57 -04:00
Mr. The Plague 5e0687f556 docs: add SquidC5 YouTube trailer link to README
Clickable thumbnail near the top (GitHub cannot iframe-embed players).
2026-08-04 00:05:17 -04:00
Mr. The Plague 4d109c01ba fix(mcp): surface dual-gate status (settings + feature flag)
MCP needs SQUIDC5_MCP_ENABLED and feature mcp_enabled. Expose mcp.active
on meta/features/deep health; clearer 403 text; Ops Features warns when
feature is on but process env still blocks.
2026-08-03 21:47:58 -04:00
Mr. The Plague 47644e196c ci: disable Actions pip cache on self-hosted runners
Remote cache restore hung at 0 MB/s (~105MB). Use local pip cache only.
2026-08-03 20:47:58 -04:00
Mr. The Plague 68dccf18db feat(ops): privacy mode masks PII with yellow header indicator
Toggle in top bar; localStorage sc5_ops_privacy. Masks IPs, tokens, API
keys, URLs/hosts, emails in esc()/console/toasts; shows Privacy Mode Active.
2026-08-03 20:17:47 -04:00
Mr. The Plague a357e3b0bc feat(admin): factory reset API, CLI, and Ops Danger tab
Wipe DB/secrets to first-boot in-process, return bootstrap admin_token once.
Confirm phrase FACTORY RESET; optional keep TLS/PSK. Lifespan shutdown uses
live app_state after in-process reset swap.
2026-08-03 19:49:06 -04:00
Mr. The Plague 4390edcdad fix(ops): host detail labels + Session Shell/Task sub-tabs
- meta-rows grid: full labels (Address), nowrap, no vertical truncate
- Session tab: Shell vs Task sub-tabs for commands
2026-08-03 18:17:19 -04:00
Mr. The Plague 6eb7680de9 fix(ops): tab every nav page; fix INKO Status tab; tests
- Listeners, Payloads, Post-Ex, Collab, Observe, Profiles, Artifacts,
  Admin, INKO all use page-tabs shells
- bindPageTabs always rebinds + forces display flex/none (fixes dead tabs)
- Admin: Tokens | Features | Profile | TLS | LLM | Assets lib
- tests/test_ops_page_tabs.py; drop duplicate sanitize test; rename pack-a AI test
2026-08-03 17:39:43 -04:00
Mr. The Plague c43c02ccea fix: repair INKO workspace tabs after layout pass 2026-08-03 17:03:38 -04:00
Mr. The Plague 0c9d91638b feat(ops): tabbed layouts, assets graph zoom, dashboard flex, no alerts
- Page tabs component; Assets 30% pan/zoom graph + Assets/Host/Session tabs
- Sessions: list | session ops | tasks tabs; compact session context
- Dashboard stats flex-wrap; panels fill vertical space
- Bottom dock: split or tabs layout toggle
- INKO: accent New chat, icon close; docs via main Docs dropdown only
- sc5Confirm modal replaces window.confirm (no alert boxes)
- Bootstrap actor name squidc5-admin; Admin display-name rename
2026-08-03 17:02:50 -04:00
Mr. The Plague a548991ed7 ci: use pip-audit CLI from setup-python env 2026-08-03 16:25:12 -04:00
Mr. The Plague 9e56f3ada0 ci: faster PR tests (3.12 only), pip cache, no mypy reinstall
- PRs run Python 3.12 only; master push keeps 3.11+3.12 matrix
- setup-python pip cache + always python -m pip / ruff / pytest
- mypy already in requirements-dev — drop redundant pip install
2026-08-03 16:24:59 -04:00
Mr. The Plague d06d8af516 test: fix tls validate_runtime assert (empty list is ok) 2026-08-03 16:15:01 -04:00
Mr. The Plague c8e1dd4651 feat: shell stabilize toggle (default off) + one-click Stabilize
- shell_auto_stabilize default false (config, features, env, compose)
- Runtime auto controlled by feature flag; Admin feature checkboxes
- POST /sessions/{id}/stabilize: OS auto-detect Linux/Windows stage-2
- Context rail Stabilize shell button
2026-08-03 16:06:01 -04:00
Mr. The Plague f692f777db fix(assets): usable host-detail pane under graph
Replace crushed outbox with a grid split (graph | drag | detail),
min 200px detail, scrollable body, and drag-to-resize handle.
2026-08-03 15:54:20 -04:00
Mr. The Plague dba4ade6f0 fix: collapsible INKO LLM bar; auto-unhide live Assets hosts
INKO flyout collapses connection/model into a one-line summary when set.
Assets: live verified/interactive hosts always surface (clear stale
bulk-hide). mark_verified merges metadata and unhides host key.
2026-08-03 15:45:02 -04:00
Mr. The Plague 3444682340 ci: install PyInstaller via python -m pip (Windows self-hosted)
Bare pip on self-hosted Windows can target a different interpreter than
setup-python. Use python -m pip install -e ".[binaries]" and verify
import before build_binaries.py on Linux and Windows binary jobs.
2026-08-03 15:13:38 -04:00
Mr. The Plague 3f9db4cd79 fix(assets): verified-only graph, IP keys, drop inactive
Strict asset filter: reverse shells need exec-verify/stage-2 (not
scanner TCP). Host keys strip :port. Graph uses grid when many nodes.
Live-only filter + bulk Drop inactive. Fixes unusable 200+ noise ring.
2026-08-03 14:54:19 -04:00
Mr. The Plague b9dacfb428 docs: Assets drop/restore host graph 2026-08-03 14:13:42 -04:00
Mr. The Plague 3befca4e0e fix(assets): shells/implants only + drop host from graph
Filter Assets graph to verified/interactive shells, historical real
shells, and identity-bearing implants; skip scanner noise.
Persist dismiss list (schema v6); POST/DELETE /hosts/{id}/hide;
Ops Drop/Restore + show-dismissed toggle.
2026-08-03 14:13:34 -04:00
Mr. The Plague 56e7bebf96 feat: Assets host graph + session claim TTL locks
- GET /api/v1/hosts groups sessions into host nodes with co-host edges
- Claim TTL (SQUIDC5_SESSION_CLAIM_TTL_SEC), renew on activity, force claim
- Ops Assets view: SVG graph, host table, session drill-down to lock rail
- claim field on session list/get; UI chips + Force claim for admin
- Tests for hosts API, claim_info, ops markers; user-guide update
2026-08-03 12:11:48 -04:00
Mr. The Plague cfdd6faf0c ci: pin softprops/action-gh-release to commit SHA 2026-08-03 11:44:44 -04:00
Mr. The Plague 5c6970e036 ci: release via softprops (no gh binary); retry pip-audit
Avoid unverified gh tarball download (SquidGate CWE-494).
Retry pip-audit on transient PyPI timeouts on self-hosted.
2026-08-03 11:44:44 -04:00
Mr. The Plague c72d787eec ci: fix self-hosted release (gh CLI, smoke SIGPIPE, Windows shell)
- Install portable gh when missing on squidsec runners
- Drop curl|head under pipefail (exit 23 on healthy smoke)
- Use pwsh for Windows binary build steps (bash path break)
2026-08-03 11:44:44 -04:00
Mr. The Plague 14a703330f ci: block fork PRs from self-hosted runners (SquidGate CWE-284)
Only same-repo pull_request and push events schedule jobs on squidsec
runners. Fork PRs are skipped so untrusted code never hits internal hosts.
2026-08-03 10:33:42 -04:00
Mr. The Plague 15fd7e3f7e ci: harden self-hosted runners (ephemeral ports, no pip cache)
Shared squidsec runners collide on fixed :8443 and pip caches.
Use random host ports for docker/binary smoke, unique container names,
and disable actions/setup-python pip cache on self-hosted.
2026-08-03 10:21:52 -04:00
Mr. The Plague b67cb5f222 fix(auth): token presets - full operator, read-only+AI; never admin in All non-admin
- Fix All non-admin button (was setting admin when granter is admin)
- Reshape presets: Full operator, Operator, Read-only+INKO, Read only, ...
- Expose non_admin_scopes in meta catalog
2026-08-03 08:59:58 -04:00
Mr. The Plague dfea02fcda fix(auth): connection links use validated ops base_url from client 2026-08-03 08:01:41 -04:00
Mr. The Plague f7b64cd54c test: drop unused import 2026-08-03 07:55:38 -04:00
Mr. The Plague 65e11578d8 fix(auth): connection links use ops Host, not PUBLIC_HOST
SQUIDC5_PUBLIC_HOST is for implant/OAST callbacks (e.g. oast.*).
Connection tickets and redeem now build URLs from the request Host /
X-Forwarded-* so links match the ops console hostname.
2026-08-03 07:54:31 -04:00
Mr. The Plague 90548312ae ci: build Linux release assets in release job (bypass artifact quota) 2026-08-03 07:35:30 -04:00
Mr. The Plague c245159e8b ci: require binary artifact upload (quota: native-agent optional only) 2026-08-03 07:22:21 -04:00
Mr. The Plague c37b3df937 ci: do not fail PR when artifact storage quota is hit 2026-08-03 07:09:35 -04:00
Mr. The Plague 173900604c feat(auth): one-time connection tickets for existing tokens
Admins can issue a unique /ops#sc5ticket= URL for any active token
without seeing the secret. Recipient redeems once; server rolls the
token and auto-loads the new secret. CLI: sc5 tokens link.
2026-08-03 06:58:21 -04:00
Mr. The Plague 63b8111082 feat(auth): mint secret banner with connect link; token roll
- After mint/roll, Admin shows dismissible banner with secret + /ops#sc5= link
- POST /api/v1/tokens/{id}/roll and sc5 tokens roll rotate the secret
- tokens:manage cannot roll privileged tokens (admin only)
2026-08-02 15:59:09 -04:00
Mr. The Plague 2f7409f61b fix(auth): tokens:manage cannot edit privileged tokens 2026-08-02 14:30:40 -04:00
Mr. The Plague 8bd2036973 feat(auth): update token scopes, nav gates, named presets
- PATCH /api/v1/tokens/{id} updates name/scopes/mcp_tools (secret unchanged)
- Meta exposes scope_catalog + scope_presets with short descriptions
- Ops nav hides pages the connected token cannot use
- Admin Tokens: presets, edit/revoke table, MCP tool checkboxes
- CLI: sc5 tokens update
2026-08-02 14:25:05 -04:00
Mr. The Plague 3d46734119 fix(ops): stop INKO mobile keyboard scroll jitter
Pin drawer to visualViewport instead of padding foot by kb height.
Drop smooth scrollIntoView on every resize; snap chat log instantly
once; disable overflow-anchor on the message list.
2026-08-02 12:56:12 -04:00
Mr. The Plague 283eaee220 fix: restore GitHub workflow YAML indentation 2026-08-02 12:28:56 -04:00
Mr. The Plague fb18551392 chore: strip AI typography crumbs from docs and app
Replace em/en dashes, arrows, middots, smart quotes, ellipsis, and
emoji/icon glyphs with plain ASCII across docs, UI, source, and agents.
INKO branding is text-only; empty placeholder is "-"; nav icons removed.
2026-08-02 12:19:37 -04:00
Mr. The Plague 067e66a59b docs: Diátaxis consistency pass across all guides
- docs/README: catalog, section templates, Ops nav → guide map
- user-guide: WWHE + See also; Artifacts, Profiles, OAST, TLS library, Post-Ex
- runbook: Goal/Prereqs/Steps/Verify/If fails on every procedure
- deployment: Context/Config/Commands/Verify; generic OAST examples; TLS anchor
- README/vision/threat/roadmaps/AGENTS/CLAUDE/CONTRIBUTING/SECURITY cross-links
- Ops PAGE_DOCS anchors aligned to new user-guide headings
2026-08-02 11:35:09 -04:00
Mr. The Plague 65d559334e fix(ops): escape list items for SquidGate; keep single <ol>
List bodies use escapeHtml per item before <li> insert; placeholders
restored after global escape so bold/code still apply inside items.
2026-08-02 11:11:43 -04:00
Mr. The Plague 4c8f9a3c06 fix(ops): select chevron padding, INKO system docs, ordered lists
- Custom select arrow + right padding so text never collides with chevron
- Expand CHAT_SYSTEM_PROMPT with C5 purpose, objects, workflows, tool map
- Greedy markdown list match so consecutive 1. lines share one <ol>
2026-08-02 11:04:53 -04:00
Mr. The Plague a0a35a0b47 feat(ops): model switcher, Artifacts & Profiles pages, custom templates
- INKO connection + model selects (load provider models; PATCH default)
- New Artifacts page for saved payloads/templates/profiles/implants
- New Profiles page: list/activate/save/push malleable C2 profiles
- Payloads: dynamic templates API, profile select, custom template register
- Custom templates via operator_assets kind=template; INKO can register/save
- Docs menus right-aligned via main-head-actions
2026-08-02 10:29:23 -04:00
Mr. The Plague 2a14079612 feat(ops): soft refresh, INKO resize/starters, TLS lib, https listeners
- Soft-render views on nav/poll so focused inputs keep values
- Listener kinds: smtp + https; port range + duplicate port checks
- INKO: resizable flyout, New chat, empty-state starter cards, mobile kb inset
- Actor rename via PUT /me; LLM Get API key links; Admin TLS upload/activate
- Operator assets library for INKO-saved payloads/profiles/implants
2026-08-02 09:48:30 -04:00
Mr. The Plague 13b0b1751f fix(inko): escape GFM table cells at build time (XSS)
Extract tables before global escape and escapeHtml each cell when
building <th>/<td> so SquidGate XSS finding is closed.
2026-08-02 08:49:37 -04:00
Mr. The Plague ae8d5975f6 fix(ops): INKO page catalog, md tables, copy, live beacon count
- INKO nav page shows capabilities/status/tools (chat only in flyout)
- Status/tools outbox is large and scrollable
- Dashboard Beacons counts active sessions only (not closed totals)
- Render GFM markdown tables in INKO replies
- Copy button on each INKO assistant response
2026-08-02 08:43:17 -04:00
Mr. The Plague c9c7bfb6a6 docs: complete INKO coverage across AGENTS, README, guides
Document INKO flyout UX, /ai/chat + tools API, Admin LLM path, and
railed tool model in AGENTS, README, user guide, runbook, vision, roadmap.
2026-08-02 08:21:13 -04:00
Mr. The Plague 3b6ba5a8ed feat(inko): persist chat, pending state, markdown replies
Keep INKO history in localStorage across flyout/page views. Clear the
input as soon as send starts, show a thinking indicator while waiting,
block concurrent sends, and render assistant markdown safely.
2026-08-02 08:15:19 -04:00
Mr. The Plague 97197d9699 feat(ui): rebrand neural operator to INKO with top-bar flyout
Rename INK to INKO (Intelligent Neural Kinetic Operator) across ops UI,
chat system prompt, and docs. Replace floating FAB with a top-bar INKO
button that opens a right-side flyout panel (full-screen on mobile).
2026-08-02 08:11:58 -04:00
Mr. The Plague b93dad85b5 fix(ops): mobile drawer nav, INK brand, resizable dock, themed scrollbars
- Hamburger slide-out nav on mobile (full-height menu, not tiny strip)
- Brand operator AI as INK (neural operator); Enter-to-send on chat
- Remove legacy capability runner; LLM config only under Admin
- Drag-resize bottom dock height and event/console split (persisted)
- Pink/purple themed scrollbars across the ops chrome
2026-08-02 07:19:00 -04:00
Mr. The Plague cac2c451c3 fix(ops): mobile fixed header + scrollable context sheet
Compact sticky top bar with safe-area; swipe-friendly nav.
Session context opens as a bottom sheet with touch scrolling
(instead of being hidden on mobile). Docs menu scrolls when long.
2026-08-01 23:29:51 -04:00
Mr. The Plague c7cbb53c3a feat(ai): operator chat with railed C5 tools
Add multi-turn Admin AI chat (POST /api/v1/ai/chat) that can answer
generally and call allow-listed tools: sessions, listeners, tasks,
payloads, metrics, events, audit. Policy + scopes enforced per tool;
bounded rounds; sanitized I/O. Offline intents for list/create listener
when no LLM is configured. Ops UI drawer and AI tab are free-form chat.
2026-08-01 21:52:27 -04:00
Mr. The Plague d49609f2e0 fix(ai): block LLM key exfil via models base_url override
When listing models by llm_id, use only stored base_url/key.
Restrict POST /llm/models to llm:manage|admin (not ai:use).
2026-08-01 21:31:20 -04:00
Mr. The Plague b64659088f fix(ops): LLM providers, model picker, xAI /v1 path, admin layout
- Preserve /v1 path in LLM base_url SSRF validation (fixes 404 on api.x.ai/chat/completions)
- Legacy pathless bases get /v1 restored for known OpenAI-compatible hosts
- POST /api/v1/llm/models proxies provider model list (SSRF-guarded)
- Ops UI: full provider list, auto base URL, key→model select, override checkbox
- AI page + drawer: pick among configured LLMs
- Admin view: hide context/bottom panes, roomier stack layout
2026-08-01 21:26:05 -04:00
Mr. The Plague 3503d597f6 fix(ops): LLM configure UI + per-page docs menu
Add BYO LLM form (provider/model/base_url/api_key) on AI and Admin views.
Replace scattered Docs links with a single header Docs dropdown per page.
Allow http loopback LLM base URLs for local Ollama (SSRF still blocks private/non-loopback).
2026-08-01 21:04:36 -04:00
Mr. The Plague 9e39db44e4 fix(tasks): require session_id for non-admin task list
SquidGate: prevent global task enumeration; UI only queries by session.
2026-08-01 20:48:28 -04:00
Mr. The Plague 558639abff fix(ops): mobile layout, scope checkboxes, listener fill, task queue
- Mobile: fixed shell height, horizontal nav scroll, larger touch targets
- Main/split/panels fill vertical space (flex 1)
- Mint token: selectable scope chips with presets
- Listener row select populates manage form
- Pending tasks list with cancel + edit (PATCH/cancel APIs)
2026-08-01 20:43:22 -04:00
Mr. The Plague 1f798c3468 fix(ops): keep selection on refresh, docs links, Admin AI tab+drawer
- Soft-update session/listener tables so poll refresh does not clear selection
- Persist selected session/listener in localStorage
- Soft-update context rail (preserve shell/task inputs)
- Doc links on every view and feature block (GitHub user-guide anchors)
- AI nav tab + global floating Admin AI chat (POST /ai/run capabilities)
2026-08-01 20:25:08 -04:00
Mr. The Plague b5cb51b0df feat(ops): header Phone QR for mobile auto-connect
Add top-bar Phone QR button that encodes /ops#sc5= payload (url+token)
client-side. Scan opens ops and auto-connects; token never leaves browser
to a third-party QR API.
2026-08-01 20:08:43 -04:00
Mr. The Plague f4dc774154 feat(ui): rebuild ops console as C2 app shell
Replace card/masonry layout with competitor-style shell: top bar,
sidebar nav, main workspace, session context rail, bottom event/output
consoles. Session-centric workflow for discoverability.
2026-08-01 19:51:08 -04:00
Mr. The Plague 3dbe87e3d1 fix(ui): dense desktop ops layout + SquidC5 banner
Replace absolute masonry/fixed-tile heights with CSS grid and natural
panel height. Multi-page nav stays compact. Add SquidC5 banner to
README, docs, and web assets (replace SquidSec logo hero).
2026-08-01 19:29:40 -04:00
Mr. The Plague f8a9110709 fix(security): critical/high/medium hardening + multi-page ops UI
Token grant subset, policy admin-only, MCP REST parity, HITL single-use,
implant AEAD on HTTP/DNS/WS, session-bound task complete, claim locks,
team lead RBAC, SOCKS loopback, LLM SSRF guard, CORS tighten, stage-2
host sanitize, multi-page ops nav with admin role layouts, regression tests.
2026-08-01 19:15:14 -04:00
Mr. The Plague 7091db64ae fix(collab): handoff claim check + team chat membership
Require claim holder for handoff; restrict team channels to members.
2026-08-01 18:42:33 -04:00
Mr. The Plague 86c985eb89 feat(collab): multi-op M1–M6 + ops UI U1–U8
Session claim/lock, handoff packs, spectator, presence, team chat,
per-op audit; workbench, events rail, teams panel, presets, file crumbs,
pivot map, mobile hit targets. Docs + tests.
2026-08-01 18:37:27 -04:00
Mr. The Plague 031be203a7 fix(agent): require AEAD on WebSocket check-in responses
Remove plaintext WS fallback so tasks only run after openEnv.
2026-08-01 18:16:28 -04:00
Mr. The Plague 9ddde6e9c0 feat(implant): maturity I1–I6 — jobs, WS, BOF, stagers, OPSEC, CI
sc5beacon v3: config blob, job manager, HTTP/WS AEAD channels, COFF
parse + 5 lab BOFs, stage0 bash/ps1, sleep/string OPSEC, multi-arch CI.
2026-08-01 18:13:53 -04:00
Mr. The Plague 3c10e869c8 docs: fix README badges for private repo
Drop live Actions/release shields (private API 404s as not found).
Use static link badges; remove goal badge.
2026-08-01 15:28:05 -04:00
Mr. The Plague 62df7519b5 feat: inject/BOF catalog, sleep mask, ops UI panels
Lab-gated inject and bof:run tasks, COFF metadata planner, agent
sleep-mask modes, and ops console panels for files/SOCKS/HITL/ROE/modules.
2026-08-01 15:18:04 -04:00
Mr. The Plague f5d2a9aa87 docs: fix README badges via shields.io workflow status 2026-08-01 14:46:16 -04:00
Mr. The Plague 465a33f167 fix(ai): local LLM opt-in only (LOCAL_LLM_ENABLED) 2026-08-01 14:39:54 -04:00
Mr. The Plague 5e357dfa93 feat: SOCKS5 duplex relay, badge/docs refresh, local Ollama path
- Full SOCKS5 NOAUTH+CONNECT; implant reverse-dial bridge + direct mode
- sc5beacon socks:connect handler
- README badges (live CI/SquidGate workflows), docs index, runbook
- Admin AI uses SQUIDC5_LOCAL_LLM_* when no cloud LLM configured
2026-08-01 14:38:06 -04:00
Mr. The Plague cdd68f932d fix(audit): use hmac.compare_digest for chain verify 2026-08-01 14:21:40 -04:00
Mr. The Plague ea86161100 fix(audit): stable timestamp formatting for chain hash 2026-08-01 14:20:19 -04:00
Mr. The Plague 20f16155fc fix(audit): harden hash chain verification 2026-08-01 14:18:56 -04:00
Mr. The Plague e72c8cb560 feat(five-star): audit verify, profile push, file chunks, agent CI
Pack B/C: GET /audit/verify + sc5 audit-verify; profile push tasks;
chunked file read args; sc5beacon file chunk + profile switch ack;
CI builds native linux/windows agents.
2026-08-01 14:14:59 -04:00
Mr. The Plague 29f927b0ca fix(engagement): enforce HITL for file:write when required 2026-08-01 14:09:01 -04:00
Mr. The Plague fd0311cf52 fix(agent): require AEAD only; remove TLS skip-verify 2026-08-01 14:05:14 -04:00
Mr. The Plague 914377cefe feat(five-star): native sc5beacon v2, factory, AI pack, engagement ROE
Pack A/D core: Go agent with sleep/jitter/kill/files/sysinfo; implant
build API/CLI; 8 new Admin AI capabilities; engagement policy object;
BOF module pack scaffold.
2026-08-01 14:01:25 -04:00
Mr. The Plague 949fd19737 docs: parity complete notes, CLI surface, feature list 2026-08-01 13:38:59 -04:00
Mr. The Plague 3878937dff refactor(api): extract implant router (B10 start) 2026-08-01 13:29:10 -04:00
Mr. The Plague 276a626df7 ci: coverage gate, mypy core, SBOM, e2e/fuzz/load tests
D01-D05/D07-D08: cov-fail-under 65, mypy core, release SBOM,
transform fuzz, beacon load, lab e2e playbook, issue templates,
remove dead require_scope stub.
2026-08-01 13:28:38 -04:00
Mr. The Plague 0fc64b7dea feat: malleable transforms, file ops, SOCKS, Windows beacon, Caddy
C03 transform pipeline; C05 file:* tasks + /files/op; C04 SOCKS broker;
C11 profile_id on check-in; C07 Windows PS file ops; C10 Caddy redirector.
2026-08-01 13:14:03 -04:00
Mr. The Plague 3b4a308096 docs: release notes 0.1.107 and plan status 2026-08-01 13:06:08 -04:00
Mr. The Plague 462d62768a fix(payloads): remove insecure TLS from generated beacons 2026-08-01 12:57:21 -04:00
Mr. The Plague 658ac7ab9e fix(payloads): HTTPS default without insecure TLS by default 2026-08-01 12:54:03 -04:00
Mr. The Plague 6790c92b0f feat(payloads): HTTPS-default beacons and kill date
HTTP beacon templates default to https with lab insecure TLS; bash uses
curl -k. Beacons honor kill_date metadata and close when expired.
2026-08-01 12:53:44 -04:00
Mr. The Plague 86dc1607cb feat: audit chain, team RBAC on shell, native Linux beacon
- C08: SHA-256 audit chain_hash/prev_hash on insert (migration v3)
- B14: shell.interact requires team membership when session has team_id
- C06: agents/linux Go beacon using implant AEAD envelope
2026-08-01 12:44:26 -04:00