
Security News
GitHub Actions Adds cache-mode to Limit Cache Poisoning Risk
GitHub Actions now supports cache-mode, a least-privilege control on the Actions cache aimed at the cache poisoning technique behind recent compromises.
@stelis/agent-q-core
Advanced tools
Agent-Q core library for USB device discovery, protocol transport, runtime session mirroring, and Firmware-authored result validation.
@stelis/agent-q-core is the shared Agent-Q core package.
It provides transport, protocol builders and parsers, runtime session mirroring,
local device selection/config storage, public error mapping, and Firmware result
parsing. The agent-q local server, Sui provider, and Sui CLI signer use this
package instead of reimplementing the device/protocol boundary.
The core package is not a signing authority and is not a policy authority. It does not store signing keys, does not make signing decisions, and does not apply policy. Agent-Q Firmware owns keys, policy evaluation, sensitive approval, and active policy commits.
Use this package directly when a Node process needs to discover an Agent-Q device, open a session, read accounts, and request signatures.
import { createDefaultAgentQDeviceClient } from "@stelis/agent-q-core/device";
const client = createDefaultAgentQDeviceClient();
await client.scanDevices();
await client.connectDevice({});
const accounts = await client.getAccounts({});
const result = await client.signTransaction({
chain: "sui",
method: "sign_transaction",
network: "testnet",
txBytes,
});
await client.disconnectDevice({});
The core request succeeds only when Firmware accepts the state, session, route, parameters, policy or device-confirmation gate, and signing operation.
scanDevices
-> identifyDevices?
-> selectDevice?
-> connectDevice
-> getCapabilities
-> getAccounts
-> signTransaction or signPersonalMessage
-> disconnectDevice
Use getCapabilities before signing. It reports the device's current signing
mode and supported signing methods for display and request selection. The
client cannot choose the device signing mode.
@stelis/agent-q-core exposes the full AgentQCore,
createDefaultAgentQCore, and low-level transport classes used by the
agent-q local server.@stelis/agent-q-core/device exposes the limited
createDefaultAgentQDeviceClient facade for provider/app code that should not
see policy proposal or server management methods.@stelis/agent-q-core/protocol exposes the shared protocol builders,
parsers, constants, and response types.@stelis/agent-q-core/provider-protocol exposes the browser-safe provider
protocol projection used by official dapp-facing adapters. It includes
provider request builders, an exact provider request serializer, provider
response parsers, bounded response-line handling, USB identifiers, and fixed
internal deadline constants; it does not expose Admin, policy read/update,
approval-history, or full-protocol request serialization.@stelis/agent-q-core/adapter-internal exposes support APIs for official
Agent-Q adapters, including bounded output schemas, public error mapping, safe
text validation, and the local host device registry. It is not the
dapp-facing provider API.chains[].methods. Signing availability is
advertised through top-level signing.authorization and signing.methods,
and the device API facade exposes signTransaction and
signPersonalMessage. The core parser accepts Firmware-authored
sign_result values for transaction policy/user outcomes and user-mode
personal-message outcomes. It accepts messageBytes only for signed
personal-message results and rejects raw transaction bytes in results, decoded
internals, session ids, request ids, and secret-like fields.(type, chain, method) routes before
resolving state/session. Sui is currently the only executable chain.
Method-parameter validation remains after a runtime session exists. Common
Core validation owns transport bounds and canonical base64 syntax, not the
current Sui Firmware adapter's decoded-payload capacities.From the repository root:
npm --workspace @stelis/agent-q-core run build
npm --workspace @stelis/agent-q-core test
Direct USB/Firmware hardware smoke tests live in this package and are opt-in.
They are skipped unless their AGENTQ_HW_CLIENT_* environment gates are set.
Run one smoke scenario at a time against a development device running the
current firmware build. The device must be provisioned, connected over USB, and
already in the signing mode required by the selected gate. Use the matching
*_DEVICE_ID variable when more than one Agent-Q device is connected. For
transaction-signing smoke, pass canonical base64 txBytes whose sender and gas
owner are the Agent-Q account. For policy-mode smoke, configure the active
device policy before running the scenario.
Examples:
npm --workspace @stelis/agent-q-core run build
AGENTQ_HW_CLIENT_SIGN_TRANSACTION_USER=1 \
AGENTQ_HW_CLIENT_SIGN_TRANSACTION_USER_SCENARIO=positive \
AGENTQ_HW_CLIENT_SIGN_TRANSACTION_USER_TX_BYTES=<base64> \
node --test packages/core/test/hardware-sign-api-smoke.test.mjs
AGENTQ_HW_CLIENT_SIGN_TRANSACTION_POLICY=1 \
AGENTQ_HW_CLIENT_SIGN_TRANSACTION_POLICY_SCENARIO=rejected \
node --test packages/core/test/hardware-sign-api-smoke.test.mjs
AGENTQ_HW_CLIENT_POLICY_UPDATE=1 \
node --test packages/core/test/hardware-sign-api-smoke.test.mjs
Adapter packages keep their tests focused on adapter projection and public API boundaries. Hardware smoke evidence must still record target hardware, commit, build/flash command, manual steps, observed result, and unchecked paths before implementation status is raised.
FAQs
Agent-Q core library for USB device discovery, protocol transport, runtime session mirroring, and Firmware-authored result validation.
The npm package @stelis/agent-q-core receives a total of 26 weekly downloads. As such, @stelis/agent-q-core popularity was classified as not popular.
We found that @stelis/agent-q-core demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
GitHub Actions now supports cache-mode, a least-privilege control on the Actions cache aimed at the cache poisoning technique behind recent compromises.

Company News
Allow myself to introduce... myself.

Research
/Security News
A Twitch browser extension on Chrome and Firefox forwards users’ live OAuth session tokens through proxies controlled by a Russian bot service.