Blog
Notes on agent security, MCP, and building Sallyport.
Latest Posts

8 min read
Are custom authentication headers safe to inject?
Custom authentication headers need byte-level validation before a gateway injects them. Reject line breaks, Unicode traps, and duplicate fields.
custom authentication headersHTTP header injection

8 min read
Duplicate MCP tool calls need an execution identity
Duplicate MCP tool calls need more than retries. Use request fingerprints and activity records to separate reconnects from real second actions.
duplicate MCP tool callsMCP request fingerprint

8 min read
How an API approval card shows the real target
Build an API approval card that exposes the real HTTP target by canonicalizing scheme, host, port, method, path, and encoded URLs.
API approval cardURL canonicalization

8 min read
How an SSH readiness checklist changes agent safety
Use this SSH readiness checklist to test result parsing, host identity, idempotency, approvals, and unknown remote states before agents get shell access.
SSH readiness checklistsafe SSH automation

8 min read
Incident response agents: production access without chaos
Incident response agents can investigate production safely when diagnostics stay bounded and humans approve a short recovery catalog.
incident response agentsproduction access

8 min read
MCP process trees: find unexpected child processes
Learn how to inspect MCP process trees on macOS, spot unexpected child processes, trace sockets, and contain risky local agent execution.
MCP process treesMCP security

8 min read
Agent action ticket references that survive review
Agent action ticket references connect approved change intent to API and SSH execution, giving reviewers evidence they can verify during incidents.
agent action ticket referencesAI agent audit trail

8 min read
When does SSH TTY allocation change a command?
SSH TTY allocation changes prompts, streams, signals, and terminal detection. Learn when to use -T, -t, or -tt without breaking automation.
SSH TTY allocationSSH pseudo terminal

8 min read
Agent approval on macOS must distinguish every build
Agent approval on macOS needs to distinguish stable, beta, package-manager, and local builds before one trusted process covers another.
agent approval on macOSmacOS code signing

8 min read
Downloaded macOS app verification before first launch
Use downloaded macOS app verification to check the publisher, checksum, signature, notarization, quarantine, and first launch permissions safely.
downloaded macOS app verificationverify macOS app signature

7 min read
MCP agents off environment variables: migrate credentials
Move MCP agents off environment variables by mapping tools, vaulting credentials, testing secret boundaries, and rotating old tokens safely.
MCP agents off environment variablesMCP credential migration

8 min read
Agent authorization after reboot: permissions that expire
Agent authorization after reboot should expire without erasing audit evidence. Define durable records, fresh approvals, and safe HTTP and SSH recovery.
agent authorization after rebootAI agent permissions

8 min read
Credential aliases for AI agents: safer local actions
Credential aliases for AI agents keep tokens and SSH keys outside agent context while preserving scoped access, approvals, rotation, and audit trails.
credential aliases for AI agentsagent secret management

8 min read
AI agents updating issue trackers without losing control
AI agents updating issue trackers need narrow field controls, clear status provenance, safe approvals, and audit records that survive incidents.
AI agents updating issue trackersagent action control

8 min read
How credential injection should follow request validation
Credential injection request validation prevents API keys from reaching the wrong host, redirect target, header path, or altered request body.
credential injection request validationauthenticated HTTP requests

8 min read
Reversible SaaS user provisioning for AI agents
Design reversible SaaS user provisioning for AI agents by separating invitations, roles, and groups, with safe retries and useful audit records.
reversible SaaS user provisioningAI agent access control

8 min read
What do force quit tests prove about an agent gateway?
Force quit tests expose what an agent gateway can prove after a crash, from credential injection and network I/O to audit commits.
force quit testsagent gateway security

8 min read
Does process replacement session approval survive exec?
Process replacement session approval needs a clear boundary: preserve trust only for the same verified image and ask again for a new executable.
process replacement session approvalexec session approval

8 min read
Can SSH pipeline exit status hide a failed command?
SSH pipeline exit status can hide a failed remote command. Capture Bash PIPESTATUS, handle pipefail, and return honest results to agents.
SSH pipeline exit statusBash PIPESTATUS

8 min read
How to revoke an agent session without stopping parallel work
Run a revoke agent session tabletop exercise that isolates one suspect AI process while healthy parallel work continues on the same Mac.
revoke agent sessionparallel AI agents

8 min read
Generic HTTP tools erase the permission boundary
Generic HTTP tools hide many distinct powers behind one call. Learn to authorize credentials, destinations, methods, and request details separately.
generic HTTP toolsHTTP tool permissions

8 min read
DNS rebinding protection requires an execution-time lookup
DNS rebinding protection for agent HTTP actions: resolve at execution time, reject unsafe answers, pin each connection, and test retries and redirects.
DNS rebinding protectionDNS rebinding defense

8 min read
Can macOS UI automation testing defeat an agent approval?
Run macOS UI automation testing against agent approval cards to expose Accessibility click paths, focus theft, stale requests, and weak audit evidence.
macOS UI automation testingAccessibility permission test

8 min read
MCP config security for repository changes
MCP config security starts with pull request review. Learn how command paths, package runners, arguments, cwd, and environment entries change risk.
MCP config securityreview .mcp.json

8 min read
Sudo access for AI agents: control every elevation
Sudo access for AI agents needs narrow approvals, accountable reasons, constrained helpers, and audit records that survive the agent session.
sudo access for AI agentsagent privilege escalation

8 min read
Planning and execution agents for safer production changes
Planning and execution agents reduce production risk when research, approval, credentials, and bounded actions stay separate.
planning and execution agentsAI agent permissions

8 min read
Can encrypted audit log verification catch deletions?
Encrypted audit log verification detects changed or missing middle records, but tail truncation needs an external checkpoint to prove completeness.
encrypted audit log verificationhash chain deletion detection

8 min read
Local AI agents and CI jobs need different access models
Local AI agents and CI jobs need different access models because human approval, workload identity, and credential exposure create different risks.
local AI agents and CI jobsCI workload identity

8 min read
Approval prompt spoofing on macOS for AI agent reviews
Approval prompt spoofing on macOS can fool busy reviewers. Learn how to verify app identity, reject lookalike windows, and review AI agent actions safely.
approval prompt spoofing on macOSmacOS fake approval window

8 min read
Does remote process cleanup work after SSH cancellation?
Remote process cleanup after SSH cancellation needs process groups, durable status, child-process tests, and an honest plan for disconnects.
remote process cleanupSSH cancellation

8 min read
SSH port forwarding for autonomous agents: safer tunnels
SSH port forwarding for autonomous agents needs strict route limits, expiring access, and approval records that withstand incident review.
SSH port forwarding for autonomous agentsrestrict SSH tunnels

8 min read
Fast User Switching security for local AI agent actions
Fast User Switching security determines who can approve local AI agent actions on a shared Mac. Learn session, vault, audit, and handoff controls.
Fast User Switching securityshared Mac security

8 min read
Payment API access for autonomous agents: approve by action
Payment API access for autonomous agents needs separate controls for sandbox refunds, captures, and subscription changes before live money moves.
payment API access for autonomous agentsrefund approvals

8 min read
OpenAPI agent action design that agents can use safely
Design an OpenAPI agent action with bounded inputs, useful results, approval rules, credential control, and safe handling of ambiguous failures.
OpenAPI agent actionagent API security

8 min read
Asynchronous API jobs: traceable agent workflows
Asynchronous API jobs need durable state, idempotency, polling, cancellation confirmation, result checks, and audit records for AI agents.
asynchronous API jobsagent workflows

8 min read
Local agent gateways with macOS MDM
Roll out local agent gateways with macOS MDM using signed packages, user-session launch, update rings, local vaults, and safe retirement.
local agent gateways with macOS MDMmacOS MDM app deployment

8 min read
Repository ownership changes: audit access before handoff
Repository ownership changes require more than moving a Git project. Audit people, tokens, deploy keys, workflows, apps, and agent actions before access lingers.
repository ownership changesrepository access audit

8 min read
Credential inventory worksheet for AI coding agents
Use a credential inventory worksheet to record AI agent API and SSH access, owners, allowed actions, environments, revocation, and rotation plans.
credential inventory worksheetAI coding agents

8 min read
Destructive API Parameters: Validate Before Deletion
Destructive API parameters need more than valid JSON. Verify account ownership, immutable IDs, scope, freshness, approvals, retries, and audit evidence.
destructive API parametersAI agent safety

8 min read
AI agent action gateway: five signs you need one
An AI agent action gateway keeps coding agents from holding secrets directly, clarifies approvals, and records every HTTP or SSH action.
AI agent action gatewayAI coding agent security

8 min read
Weekly agent security review: a practical 35-minute routine
Run a weekly agent security review that checks sessions, unusual commands, failed calls, revoked access, and credentials due for rotation.
weekly agent security reviewagent activity review

8 min read
Should audit evidence backups include credentials?
Audit evidence backups should preserve tamper-evident records without creating a second credential store. Build archives that investigators can verify safely.
audit evidence backupsencrypted audit logs

8 min read
Can forced SSH commands contain an AI service account?
Forced SSH commands limit AI-controlled service accounts to named server actions while human approval stays at the credential boundary.
forced SSH commandsSSH service account

8 min read
PID reuse corrupts agent session attribution
PID reuse can misattribute agent actions. Build safer macOS agent sessions with process start data, signer checks, parent snapshots, and strict revalidation.
PID reuseagent session attribution

8 min read
Conditional API requests that stop agent overwrites
Conditional API requests protect agent-driven updates from stale overwrites. Learn ETags, version fields, If-Match, 412 errors, and safe retry rules.
conditional API requestsETag

8 min read
How should unsigned local builds earn approval?
Unsigned local builds can work safely when approval follows process provenance, session boundaries, and scoped credentials instead of blanket trust.
unsigned local buildslocal agent approval

8 min read
API pagination for AI agents: bounded discovery
API pagination for AI agents needs page budgets, opaque cursors, safe retries, and reports that state exactly what the agent did not inspect.
API pagination for AI agentscursor pagination

8 min read
SSH background jobs outlive a successful tool call
Test SSH background jobs, nohup, job control, and detached processes so a zero tool exit cannot close your audit record too early.
SSH background jobsnohup over SSH

8 min read
Proxy environment variables: audit agent API traffic
Audit proxy environment variables before AI agents call internal APIs. Verify inheritance, test NO_PROXY matching, and contain unsafe proxy routes.
proxy environment variablesHTTP_PROXY audit

8 min read
Bastion host access for AI coding agents, done properly
Bastion host access for AI coding agents needs enforced routes, controlled credentials, SSH command evidence, and reliable target logging.
bastion host accessAI coding agents

8 min read
Replacing a developer Mac means rotating agent credentials
Replacing a developer Mac means separating data from authority, enrolling agent credentials safely, verifying the new vault, and revoking the old device.
replacing a developer Macagent credential rotation

8 min read
Can API host aliases bypass your destination review?
API host aliases can hide unreviewed destinations. Learn to inventory CNAMEs and base URLs, bind credentials by authority, and stop redirect leaks.
API host aliasesCNAME security

8 min read
Local action control for AI coding workflows: where it fits
Local action control helps AI coding agents act without exposing secrets. Learn when developer approvals fit and when server-side controls must decide.
local action controlAI coding workflow

8 min read
How a Time Machine restore splits an audit trail
A Time Machine restore can produce two valid audit branches. Learn how to preserve, label, verify, and report each timeline without corrupting evidence.
Time Machine restoreaudit trail integrity

8 min read
Dry-run endpoints that keep AI coding agents honest
Dry-run endpoints let AI coding agents preview planned changes, affected resources, and validation failures before they execute writes.
dry-run endpointsAI coding agents

8 min read
Keyboard approval shortcuts that resist misfires
Keyboard approval shortcuts need adversarial testing for focus, timing, repeats, and terminal input before they can authorize an agent action.
keyboard approval shortcutsapproval dialog testing

8 min read
Why query-string credentials leak before anyone reads them
Query-string credentials spread into logs, history, proxies, and exports. Use header injection to keep secrets out of URLs and agent context.
query-string credentialsAPI key in URL

8 min read
AI agent handoff: control active sessions overnight
AI agent handoff procedures for transferring active sessions, pending approvals, recovery actions, and audit evidence between on-call engineers.
AI agent handoffagent session transfer

8 min read
Why do MCP server startup failures look the same?
MCP server startup failures become diagnosable when you separate launch, handshake, tool discovery, and external action evidence.
MCP server startup failuresMCP handshake failure

8 min read
AI agents sending email through an API: safe controls
AI agents sending email through an API need recipient boundaries, final-message approvals, delivery handling, and records that survive an incident.
AI agents sending email through an APIagent email approvals

8 min read
Hash-chained audit logs: what they prove and miss
Hash-chained audit logs preserve record integrity and order. Learn what they prove, what gaps remain, and which operational records close them.
hash-chained audit logstamper-evident logs

8 min read
Agent process authorization: revoke forked access
Agent process authorization needs a boundary that survives forks. Learn to inspect children, revoke access, stop process groups, and retain evidence.
agent process authorizationforked agent processes

8 min read
Agent authority after Mac sleep and wake
Define agent authority after Mac sleep with clear rules for lock, lid close, wake, vault access, session approvals, and overnight runs.
agent authority after Mac sleepAI agent session approval

8 min read
Approval latency budget for safer agent actions
Set an approval latency budget for agent actions, measure review queues, and redesign routine workflows without weakening human control.
approval latency budgetagent approvals

8 min read
Authorization evidence: prove AI agent actions completed
Authorization evidence for AI agents must record human approval and the resulting API or SSH outcome, including timeouts and unknown states.
authorization evidenceAI agent audit trail

8 min read
Does locked vault request handling ever replay a call?
Test locked vault request handling so denied AI agent calls are discarded, never held in a queue and replayed after the vault opens.
locked vault request handlingdiscard requests after unlock

8 min read
SSH certificates for AI agents and local credential custody
SSH certificates for AI agents reduce the exposure of a stolen credential, but only with sound renewal, server checks, local custody, and revocation plans.
SSH certificates for AI agentsSSH certificate renewal

8 min read
Power loss during an audited agent action leaves unknown outcomes
Power loss during an audited agent action can leave the result unknown. Learn how to test interruption boundaries, reconcile outcomes, and retry safely.
power loss during audited agent actionunknown action outcome

8 min read
Approver for AI agent actions: ownership by shift
Choose an approver for AI agent actions by service ownership and on-call shift, with clear handoffs, scoped permissions, and audit records.
approver for AI agent actionsagent action ownership

8 min read
Are API subdomain credential boundaries actually enforced?
API subdomain credential boundaries prevent tokens from reaching sibling, regional, vanity, and tenant hosts through redirects or loose client code.
API subdomain credential boundariesAPI credential leakage

7 min read
Is SSH ProxyCommand security weaker than it looks?
SSH ProxyCommand security requires reviewing local shell execution, expansions, includes, and jump-host routing before agents reach a remote host.
SSH ProxyCommand securitySSH client configuration

8 min read
Does your Touch ID access review cover agent approvals?
A practical Touch ID access review runbook for fingerprint changes, Mac transfers, and biometric lockouts affecting agent approvals.
Touch ID access reviewTouch ID agent approval

8 min read
Do production backups need separate backup credentials?
Separate backup credentials keep one agent call from deleting live systems and recovery copies. Design distinct write, restore, and admin boundaries.
separate backup credentialsAI agent backups

8 min read
Nested MCP requests: trace every external action safely
Nested MCP requests need more than tool logs. Learn how to trace parent calls, retries, approvals, and the external actions agents actually trigger.
nested MCP requestsMCP tool tracing