Repository navigation
Add Cygnux-Labs/Tracekit to Security & Governance - #127
Open
LoopGlitch26 wants to merge 1 commit into
Open
LoopGlitch26 wants to merge 1 commit into
LoopGlitch26 wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
I maintain Tracekit (MIT). On the LangGraph side it has two entry points:
TracekitMiddleware, a LangChain v1AgentMiddlewareforcreate_agent, andtracekit_tool_nodefor graphs that run their tools throughToolNode. Before a tool runs, both ask a Tracekit signer, which is a separate process. A denied call comes back to the model as an error ToolMessage and the run carries on. A held call pauses the graph withinterrupt(), and on resume the signer lets it through only if a person approved those exact arguments. There is also an optional wrapper for any checkpointer that commits each checkpoint to the signer, so a checkpoint edited between the pause and the resume is recorded as a signed gap.Section
Checklist
Notes
pip install tracekit-ai "langchain>=1.4,<1.5" "langgraph>=1.2,<1.3", thenpython examples/v2/langchain/agent.py --scripted. A mock model asks forls,sudo rm -rf /and a command the signer can't parse. The first runs, the second is refused, and the third waits ininterrupt()until a second process approves it; then the run is exported andtracekit verifypasses. I ran exactly that in a fresh venv with tracekit-ai 1.3.0, langchain 1.4.6 and langgraph 1.2.16.npm run lint:mdpasses on the changed README.