Deterministic, no-LLM SecurityAnalyzer for OpenHands, backed by the rein engine.
Project description
rein-openhands
A deterministic, no-LLM SecurityAnalyzer for OpenHands, backed by the rein engine.
OpenHands' built-in LLMSecurityAnalyzer asks the model to grade its own
actions. This grades them with rein instead. Before an action runs, rein reviews
the code or command it would write for leaked secrets, unsafe code, and slop, and
returns a SecurityRisk that feeds OpenHands' ConfirmRisky policy. No model in
the loop, so the same action gets the same verdict every time.
Install
pip install rein-openhands
It pulls in rein-engine and openhands-sdk.
Use
from rein_openhands import ReinSecurityAnalyzer
agent = Agent(llm=llm, tools=tools, security_analyzer=ReinSecurityAnalyzer())
Or set it on an existing conversation:
conversation.set_security_analyzer(ReinSecurityAnalyzer())
That is all. See the OpenHands docs for agent and confirmation-policy setup.
What it judges
rein judges the content of the action: secrets, unsafe code patterns, and slop in the code being written. It is not a shell allow or deny list, OpenHands' own action checks and confirmation policy stay in charge of pure action authorization. rein is the deterministic code-content layer alongside them, and is strongest when the action writes a code file.
License
Apache-2.0. See LICENSE.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file rein_openhands-0.1.0.tar.gz.
File metadata
- Download URL: rein_openhands-0.1.0.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
59845ea7fd34dd53a404dc02abf1ff8823c1cb6d3943147a3262f26891f49254
|
|
| MD5 |
1659bad2203995739abbeb8d4957e8f0
|
|
| BLAKE2b-256 |
bf9d097193cdf208b3abad9ad6f5beaf04aa31ccf471f684b5649c1090d31ea1
|
Provenance
The following attestation bundles were made for rein_openhands-0.1.0.tar.gz:
Publisher:
publish.yml on SametAtas/rein-openhands
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rein_openhands-0.1.0.tar.gz -
Subject digest:
59845ea7fd34dd53a404dc02abf1ff8823c1cb6d3943147a3262f26891f49254 - Sigstore transparency entry: 1731118220
- Sigstore integration time:
-
Permalink:
SametAtas/rein-openhands@762476a2b2ffbbecdd0f44a4ee748a8f2c8cd175 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/SametAtas
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@762476a2b2ffbbecdd0f44a4ee748a8f2c8cd175 -
Trigger Event:
release
-
Statement type:
File details
Details for the file rein_openhands-0.1.0-py3-none-any.whl.
File metadata
- Download URL: rein_openhands-0.1.0-py3-none-any.whl
- Upload date:
- Size: 7.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
de1eb372b0172bbb917a3376986fd6c1b69a290358a59ee4d1467b46a0e912e8
|
|
| MD5 |
6f65d62b8ae74c2006086ac5ad327119
|
|
| BLAKE2b-256 |
876e222c0799818805e41907f3e9a2913ca23daea1a61476008552bd2df9d4b9
|
Provenance
The following attestation bundles were made for rein_openhands-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on SametAtas/rein-openhands
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
rein_openhands-0.1.0-py3-none-any.whl -
Subject digest:
de1eb372b0172bbb917a3376986fd6c1b69a290358a59ee4d1467b46a0e912e8 - Sigstore transparency entry: 1731118259
- Sigstore integration time:
-
Permalink:
SametAtas/rein-openhands@762476a2b2ffbbecdd0f44a4ee748a8f2c8cd175 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/SametAtas
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@762476a2b2ffbbecdd0f44a4ee748a8f2c8cd175 -
Trigger Event:
release
-
Statement type: