Open-source agent core + payload library for Fimil's autonomous pentest engine.
Project description
fimil-pentest-core
Open-source agent core and payload library for Fimil's autonomous pentest engine.
What this is
This package ships the deployment-config-free subset of the Fimil pentest engine:
- Marker allocation (
fimil_pentest_core.markers) — cryptographic, run-scoped markers for deterministic exploit validation. - Payload library (
fimil_pentest_core.payloads) — a Pydantic-validated YAML schema and 39 curated payloads across seven vectors:- XSS (executable-context reflection)
- SQLi (boolean and time-based)
- SSRF (
{{oob_url}}-substituted, IP-literal-forbidden) - IDOR (cross-account session swaps)
- Authn/authz bypass (BOLA, vertical privilege escalation)
- Mass-assignment (privilege flag injection)
- Prompt-injection (chat differential refusal + structured JSON-schema violation)
The host application — Fimil-dev/fimil — provides everything else: the LLM agent loop, the deterministic validator, the scope guard (DNS pinning + IP allowlist + kill-switch), the redaction layer, and the persistence repositories. Those modules will land here as v0.2.0 once the relevant Protocols (RunRepository, ScopeGuardProtocol, LLMProvider, Redactor) are extracted.
Install
pip install fimil-pentest-core
Quickstart
import uuid
from fimil_pentest_core import markers, load_all_payloads
# 1) Allocate a fresh marker for a run.
run_id = uuid.uuid4()
policy_snapshot = {"oob_base_url": "https://oob.example.com"}
marker, oob_url = markers.allocate(run_id, policy_snapshot)
# marker == "<8-hex-prefix>.<128-bit-hex>"
# oob_url == "https://oob.example.com/<marker>"
# 2) Load the curated payload library.
all_payloads = load_all_payloads()
# {'xss': [...], 'sqli': [...], 'ssrf': [...], ...}
xss_payloads = all_payloads["xss"]
for entry in xss_payloads:
print(entry.id, entry.template, entry.severity)
Schema
Each payload YAML is validated by PayloadEntry:
vector: xss
id: script-tag-injection
template: "<script>alert({{marker}})</script>"
applies_to:
methods: [GET, POST]
param_hints: [q, search, query, message]
expected_signal: xss_executable
severity: high
references: [CWE-79, OWASP-A03]
Two model validators enforce hard constraints at load time:
- SSRF baked-URL guard — any SSRF template containing
http://,file://,gopher://, or a numeric IPv4 literal fails to load. Only{{oob_url}}substitution is permitted. - SQLi boolean differential —
expected_signal: sqli_boolean_diffrequires a pairednegative_template(the false complement) so the validator can run the differential.
Vector taxonomy
| Vector | OWASP | CWE | Validator type |
|---|---|---|---|
xss |
A03:2021 | CWE-79 | Parse-tree executable-context match |
sqli |
A03:2021 | CWE-89 | Boolean / time-based differential |
ssrf |
A10:2021 | CWE-918 | OOB callback within window |
idor |
A01:2021 | CWE-639 | Cross-account session three-signal |
authz |
A01:2021 | CWE-285 | Cross-account PII differential |
mass_assignment |
A08:2021 | CWE-915 | Read-back persistence |
prompt_injection |
LLM01 | CWE-1427 | Chat refusal differential / structured schema violation |
License
Apache 2.0. See LICENSE.
Contributing
This is the open-source core; the host application is closed-source. Issues and PRs welcome for:
- New payloads (must include CWE/OWASP references and pass SSRF / SQLi schema constraints)
- Additional vectors (coordinate with
Fimil-dev/fimilmaintainers — host validators must land in lockstep) - Schema improvements (PR with regression test)
Roadmap
- v0.1.x — payload library + markers (this release)
- v0.2.0 — extract
agent_loop+validatorfromFimil-dev/fimilonceRunRepository,ScopeGuardProtocol,LLMProvider, andRedactorProtocols land - v0.3.0+ — browser-driven testing primitives (Playwright tool wrapper)
See Fimil-dev/fimil issue tracker for upstream coordination.
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 fimil_pentest_core-0.1.0.tar.gz.
File metadata
- Download URL: fimil_pentest_core-0.1.0.tar.gz
- Upload date:
- Size: 21.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c2b586187367cc99c05cd1c401f5384fb97f5640b2acd382d4bdc4502512d1d
|
|
| MD5 |
23d670b1c8e5d2d8ca3d6666030b686d
|
|
| BLAKE2b-256 |
3da323e4748e9d6d312d6ab375c62f69fa2bf64ddd4ec93c7412f7ea62218039
|
Provenance
The following attestation bundles were made for fimil_pentest_core-0.1.0.tar.gz:
Publisher:
release.yml on Fimil-dev/fimil-pentest-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fimil_pentest_core-0.1.0.tar.gz -
Subject digest:
2c2b586187367cc99c05cd1c401f5384fb97f5640b2acd382d4bdc4502512d1d - Sigstore transparency entry: 1436667961
- Sigstore integration time:
-
Permalink:
Fimil-dev/fimil-pentest-core@56f3af7893686ce8f8bacf32114e7303cce68c26 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Fimil-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@56f3af7893686ce8f8bacf32114e7303cce68c26 -
Trigger Event:
push
-
Statement type:
File details
Details for the file fimil_pentest_core-0.1.0-py3-none-any.whl.
File metadata
- Download URL: fimil_pentest_core-0.1.0-py3-none-any.whl
- Upload date:
- Size: 40.1 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 |
1f039a3f9e745626e2459b14c581304ed82cadf4b58832a97b27d9f42a7f463a
|
|
| MD5 |
c7b872f2977a08249f85374ce3a45ea4
|
|
| BLAKE2b-256 |
b958ae1177c276c114957d562f5f3fcb4474275a520e09135027d7887517fb71
|
Provenance
The following attestation bundles were made for fimil_pentest_core-0.1.0-py3-none-any.whl:
Publisher:
release.yml on Fimil-dev/fimil-pentest-core
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fimil_pentest_core-0.1.0-py3-none-any.whl -
Subject digest:
1f039a3f9e745626e2459b14c581304ed82cadf4b58832a97b27d9f42a7f463a - Sigstore transparency entry: 1436667981
- Sigstore integration time:
-
Permalink:
Fimil-dev/fimil-pentest-core@56f3af7893686ce8f8bacf32114e7303cce68c26 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/Fimil-dev
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@56f3af7893686ce8f8bacf32114e7303cce68c26 -
Trigger Event:
push
-
Statement type: