From e3eeec4ec35aa3d7ecd39df84caa4f0d1947fb40 Mon Sep 17 00:00:00 2001 From: Didier Durand <2927957+didier-durand@users.noreply.github.com> Date: Thu, 4 Dec 2025 05:19:48 +0100 Subject: [PATCH] [Doc]: fixing typos in different files (#359) --- docs/agents.md | 2 +- docs/cai/getting-started/MCP.md | 2 +- docs/cai_architecture.md | 8 ++++---- docs/cai_benchmark.md | 2 +- docs/cai_pro.md | 2 +- docs/cai_pro_contact.md | 2 +- docs/multi_agent.md | 2 +- src/cai/agents/patterns/bb_triage.py | 2 +- src/cai/cli.py | 2 +- src/cai/tools/network/capture_traffic.py | 2 +- 10 files changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/agents.md b/docs/agents.md index b6679c56..e70ed4a0 100644 --- a/docs/agents.md +++ b/docs/agents.md @@ -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 diff --git a/docs/cai/getting-started/MCP.md b/docs/cai/getting-started/MCP.md index 1bf04c13..de17e2be 100644 --- a/docs/cai/getting-started/MCP.md +++ b/docs/cai/getting-started/MCP.md @@ -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: ``` diff --git a/docs/cai_architecture.md b/docs/cai_architecture.md index 71f4dafe..64f2daeb 100644 --- a/docs/cai_architecture.md +++ b/docs/cai_architecture.md @@ -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. diff --git a/docs/cai_benchmark.md b/docs/cai_benchmark.md index 485ebc9d..7afa7c74 100644 --- a/docs/cai_benchmark.md +++ b/docs/cai_benchmark.md @@ -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. diff --git a/docs/cai_pro.md b/docs/cai_pro.md index 72050c8c..d1883944 100644 --- a/docs/cai_pro.md +++ b/docs/cai_pro.md @@ -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 diff --git a/docs/cai_pro_contact.md b/docs/cai_pro_contact.md index 5bee932b..141fb2ac 100644 --- a/docs/cai_pro_contact.md +++ b/docs/cai_pro_contact.md @@ -361,6 +361,6 @@ GDPR compliant - data processed in EU only *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)* diff --git a/docs/multi_agent.md b/docs/multi_agent.md index 062930bd..1cd328a1 100644 --- a/docs/multi_agent.md +++ b/docs/multi_agent.md @@ -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. diff --git a/src/cai/agents/patterns/bb_triage.py b/src/cai/agents/patterns/bb_triage.py index 418d56da..3342868c 100644 --- a/src/cai/agents/patterns/bb_triage.py +++ b/src/cai/agents/patterns/bb_triage.py @@ -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( diff --git a/src/cai/cli.py b/src/cai/cli.py index 580d8aa9..8cacf525 100644 --- a/src/cai/cli.py +++ b/src/cai/cli.py @@ -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") diff --git a/src/cai/tools/network/capture_traffic.py b/src/cai/tools/network/capture_traffic.py index cf674826..ca7006d1 100644 --- a/src/cai/tools/network/capture_traffic.py +++ b/src/cai/tools/network/capture_traffic.py @@ -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): """