mirror of https://github.com/aliasrobotics/cai.git
[Doc]: fixing typos in different files (#359)
This commit is contained in:
parent
93b17abdf7
commit
e3eeec4ec3
|
|
@ -246,7 +246,7 @@ If you want to create Multi-Agent Patterns, see [multi_agent documentation](mult
|
|||
|
||||
There are two main context types. See [context](context.md) for details.
|
||||
|
||||
Agents are generic on their `context` type. Context is a dependency-injection tool: it's an object you create and pass to `Runner.run()`, that is passed to every agent, tool, handoff etc, and it serves as a grab bag of dependencies and state for the agent run. You can provide any Python object as the context.
|
||||
Agents are generic on their `context` type. Context is a dependency-injection tool: it's an object you create and pass to `Runner.run()`, that is passed to every agent, tool, handoff, etc., and it serves as a grab bag of dependencies and state for the agent run. You can provide any Python object as the context.
|
||||
|
||||
```python
|
||||
@dataclass
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ https://github.com/user-attachments/assets/386a1fd3-3469-4f84-9396-2a5236febe1f
|
|||
|
||||
1) Install node, following the instructions on the [official site](https://nodejs.org/en/download/current)
|
||||
|
||||
2) Instal Chrome (Chromium is not compatible with this functionality)
|
||||
2) Install Chrome (Chromium is not compatible with this functionality)
|
||||
|
||||
3) Run the following commands:
|
||||
```
|
||||
|
|
|
|||
|
|
@ -76,7 +76,7 @@ cai
|
|||
|
||||
### 🔹 Agent
|
||||
|
||||
At its core, CAI abstracts its cybersecurity behavior via `Agents` and agentic `Patterns`. An Agent in *an intelligent system that interacts with some environment*. More technically, within CAI we embrace a robotics-centric definition wherein an agent is anything that can be viewed as a system perceiving its environment through sensors, reasoning about its goals and and acting accordingly upon that environment through actuators (*adapted* from Russel & Norvig, AI: A Modern Approach). In cybersecurity, an `Agent` interacts with systems and networks, using peripherals and network interfaces as sensors, reasons accordingly and then executes network actions as if actuators. Correspondingly, in CAI, `Agent`s implement the `ReACT` (Reasoning and Action) agent model[3].
|
||||
At its core, CAI abstracts its cybersecurity behavior via `Agents` and agentic `Patterns`. An Agent in *an intelligent system that interacts with some environment*. More technically, within CAI we embrace a robotics-centric definition wherein an agent is anything that can be viewed as a system perceiving its environment through sensors, reasoning about its goals and acting accordingly upon that environment through actuators (*adapted* from Russel & Norvig, AI: A Modern Approach). In cybersecurity, an `Agent` interacts with systems and networks, using peripherals and network interfaces as sensors, reasons accordingly and then executes network actions as if actuators. Correspondingly, in CAI, `Agent`s implement the `ReACT` (Reasoning and Action) agent model[3].
|
||||
|
||||
For more details, including examples and implementation guidance, see the [Agents documentation](agents.md).
|
||||
|
||||
|
|
@ -87,7 +87,7 @@ For more details, including examples and implementation guidance, see the [Agent
|
|||
|
||||
You may find different [tools](src/cai/tools). They are grouped in 6 major categories inspired by the security kill chain[2]:
|
||||
|
||||
1. Reconnaissance and weaponization - *reconnaissance* (crypto, listing, etc)
|
||||
1. Reconnaissance and weaponization - *reconnaissance* (crypto, listing, etc,)
|
||||
2. Exploitation - *exploitation*
|
||||
3. Privilege escalation - *escalation*
|
||||
4. Lateral movement - *lateral*
|
||||
|
|
@ -116,7 +116,7 @@ wherein:
|
|||
- **\\(C\\) (Communication Protocol):** A messaging function \\( C: A \times A \to M \\), where \\( M \\) is a message space, defining how agents share information.
|
||||
- **\\(E\\) (Execution Model):** A function \\( E: A \times I \to O \\) where \\( I \\) is the input space and \\( O \\) is the output space, defining how agents perform tasks.
|
||||
|
||||
When building `Patterns`, we generall y classify them among one of the following categories, though others exist:
|
||||
When building `Patterns`, we generally classify them among one of the following categories, though others exist:
|
||||
|
||||
| **Agentic** `Pattern` **categories** | **Description** |
|
||||
|--------------------|------------------------|
|
||||
|
|
@ -134,7 +134,7 @@ Moreover in this new version we could orchestrate agents and add decision mechan
|
|||
During the agentic flow (conversation), we distinguish between **interactions** and **turns**.
|
||||
|
||||
- **Interactions** are sequential exchanges between one or multiple agents. Each agent executing its logic corresponds with one *interaction*. Since an `Agent` in CAI generally implements the `ReACT` agent model[3], each *interaction* consists of 1) a reasoning step via an LLM inference and 2) act by calling zero-to-n `Tools`.
|
||||
- **Turns**: A turn represents a cycle of one ore more **interactions** which finishes when the `Agent` (or `Pattern`) executing returns `None`, judging there're no further actions to undertake.
|
||||
- **Turns**: A turn represents a cycle of one or more **interactions** which finishes when the `Agent` (or `Pattern`) executing returns `None`, judging there're no further actions to undertake.
|
||||
|
||||
|
||||
> CAI Agents are not related to Assistants in the Assistants API. They are named similarly for convenience, but are otherwise completely unrelated. CAI is entirely powered by the Chat Completions API and is hence stateless between calls.
|
||||
|
|
|
|||
|
|
@ -175,7 +175,7 @@ Currently, supporting the following benchmarks, refer to [`ctf_configs.jsonl`](h
|
|||
|
||||
[^5]: **Very Hard (`Elite`)**: Designed for elite, highly skilled participants requiring innovation. Focus areas include cutting-edge vulnerabilities like zero-day exploits, custom cryptography, and hardware hacking.
|
||||
|
||||
[^6]: A meta-benchmark is a a benchmark of benchmarks: a structured evaluation framework that measures, compares, and summarizes the performance of systems, models, or methods across multiple underlying benchmarks rather than a single one.
|
||||
[^6]: A meta-benchmark is a benchmark of benchmarks: a structured evaluation framework that measures, compares, and summarizes the performance of systems, models, or methods across multiple underlying benchmarks rather than a single one.
|
||||
|
||||
[^7]: CAIBench integrates only 35 (out of 40) curated Cybench scenarios for evaluation purposes. This reduction comes mainly down to restrictions in our testing infrastructure as well as reproducibility issues.
|
||||
|
||||
|
|
|
|||
|
|
@ -284,7 +284,7 @@ Yes! Contact research@aliasrobotics.com for:
|
|||
### Is my security testing data private?
|
||||
|
||||
**Absolutely.** CAI PRO guarantees:
|
||||
- **No training on your data**: Your pentesting activities never improve our models (unless you explicitly opt-in)
|
||||
- **No training on your data**: Your pentesting activities never improve our models (unless you explicitly opt in)
|
||||
- **European hosting**: All data processed in GDPR-compliant datacenters
|
||||
- **No third-party sharing**: Unlike OpenAI/Anthropic, we never send your data elsewhere
|
||||
- **Encryption**: End-to-end encryption for all communications
|
||||
|
|
|
|||
|
|
@ -361,6 +361,6 @@ GDPR compliant - data processed in EU only
|
|||
|
||||
<small>
|
||||
*Questions? **contact@aliasrobotics.com** · +34 945 19 85 15*
|
||||
*Privacy: Your data stays in Europe (GDPR compliant)*
|
||||
*Privacy: Your data stays in Europe (GDPR-compliant)*
|
||||
</small>
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ While orchestrating via LLM is powerful, orchestrating via code makes tasks more
|
|||
|
||||
- Using structured outputs to generate well formed data that you can inspect with your code.
|
||||
|
||||
- Using a determinitstic pattern: Breaking down a task into a series of smaller steps. Chaining multiple agents, each step can be performed by an agent, and the output of one agent is used as input to the next.
|
||||
- Using a deterministic pattern: Breaking down a task into a series of smaller steps. Chaining multiple agents, each step can be performed by an agent, and the output of one agent is used as input to the next.
|
||||
|
||||
- Using [Guardrails](guardrails.md) and LLM_as_judge: They are agents that evaluates and provides feedback, until they says the inputs/outputs passes certain criteria. The agent ensures inputs/outputs are appropriate.
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ _bug_bounter_agent_copy.handoffs = []
|
|||
# Create handoffs using the SDK handoff function
|
||||
_retester_handoff = handoff(
|
||||
agent=_retester_agent_copy,
|
||||
tool_description_override="Transfer to Retester Agent for vulnerablity confirmation and triage"
|
||||
tool_description_override="Transfer to Retester Agent for vulnerability confirmation and triage"
|
||||
)
|
||||
|
||||
_bug_bounter_handoff = handoff(
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ Environment Variables
|
|||
(default: "false")
|
||||
CAI_MEMORY_OFFLINE: Enable/disable offline memory
|
||||
(default: "false")
|
||||
CAI_ENV_CONTEXT: Add enviroment context, dirs and
|
||||
CAI_ENV_CONTEXT: Add environment context, dirs and
|
||||
current env available (default: "true")
|
||||
CAI_MEMORY_ONLINE_INTERVAL: Number of turns between
|
||||
online memory updates (default: "5")
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@ def capture_remote_traffic(ip, username, password, interface, capture_filter="",
|
|||
raise RuntimeError(f"Unexpected error: {str(e)}")
|
||||
|
||||
|
||||
@function_tool # TODO: not ideal to decorete this context manager.
|
||||
@function_tool # TODO: not ideal to decorate this context manager.
|
||||
@contextmanager
|
||||
def remote_capture_session(ip, username, password, interface, capture_filter="", port=22):
|
||||
"""
|
||||
|
|
|
|||
Loading…
Reference in New Issue