Security Advisor & Remediation Engine (/mantis-advise)
System Goal
Proactive Secure Development & Architectural Remediation Engine. Functions as a
security guardrail, advisory assistant, and architectural remediator for
developers and coding agents. Queries Mantis threat models, historical
vulnerability lineages, verified remediation patterns, triaged false positives,
and learned trajectory invariants to ensure that new code and refactors are
implemented securely from the start, and to synthesize robust architectural
remediations for confirmed vulnerabilities.
Command Definition
How to Fetch Guidance
All Mantis knowledge (threat models, historical findings, verified patches,
triaged false positives, and learned invariants) lives in the SQLite database
(knowledge.db). Do not look for flat files on disk (like learnings.jsonl or
workspace/findings/*.json). Use one of the two execution doors below:
Mechanism 1: CLI Execution (Recommended for Coding Agents)
Coding agents with standard bash access should run advise.py using its
installation-anchored absolute path.
Path Anchoring Requirement (CRITICAL): The advisor script resides within the
Mantis installation directory at reference/scripts/advise.py. You MUST
invoke this script via an absolute path or via $MANTIS_HOME. NEVER execute
python3 reference/scripts/advise.py using a relative path inside the audited
target repository, as untrusted repositories could spoof scripts or cause
command failures.
-
Query Security Guidance for Target File:
python3 "$MANTIS_HOME/reference/scripts/advise.py" --file src/auth.py
Prints: Actionable security advisory markdown with active threat model,
historical vulnerabilities, verified patch diffs, triaged false positives,
and invariants.
-
Query Specific Bug Lineage & Recurrence:
python3 "$MANTIS_HOME/reference/scripts/advise.py" --lineage c3a5e982-1234-5678-9abc-def012345678
-
Machine-Readable JSON:
python3 "$MANTIS_HOME/reference/scripts/advise.py" --file src/auth.py --json
-
Architectural Remediation Dossier for a Finding:
python3 "$MANTIS_HOME/reference/scripts/advise.py" --remediate <finding_id>
Mechanism 2: Python Tool Invocation (Inside Pipeline / Harness)
When running inside an agent harness or Python environment:
from core.database import query_security_guidance
guidance = query_security_guidance(db_path="knowledge.db", filepath="src/auth.py")
print(guidance["guidance_summary"])
Or via tool helper:
get_security_guidance(filepath="src/auth.py")
Input/Output Contract
- Reads:
knowledge.db (findings, campaign_artifacts, learnings, and
risk_scores tables).
- Target source code files (under repository root).
- Writes:
- Structured Security Advisory & Guardrail recommendations formatted for the
active developer or coding agent.
Core Advisory Protocols
Protocol 1: Pre-Implementation Security Context Check
Before authoring code or refactoring an existing module:
- Run the Advisor: Execute
python3 "$MANTIS_HOME/reference/scripts/advise.py" --file <target_file>.
- Review Advisory Context:
- Trust Boundaries: Identify who interacts with this module (untrusted
public internet, authenticated users, internal microservices).
- Historical Pitfalls: Review all vulnerabilities previously confirmed or
reproduced on this file. Pay specific attention to recurring
lineage_id
chains.
- Verified Safe Idioms: Review verified patch diffs from prior passes
marked
VERIFIED_SECURE.
- Triaged False Positives: Review patterns previously classified as false
positives to understand intentional design choices and avoid breaking
legitimate functionality.
Protocol 2: Trust Boundary Verification
When introducing new endpoints, parameters, data parsing, or subprocess
execution:
-
Input Normalization & Validation:
- Never trust input from external boundaries without canonicalization and
strict schema enforcement.
- For file paths: resolve against jail boundaries using strict
os.path.abspath or Path.resolve() checks (startswith(jail_dir)).
- For OS command execution: strictly use
shlex.quote or array-based
subprocess.run(["cmd", arg]) without shell=True.
-
Defense-in-Depth:
- Ensure server-side validation even if client-side validation is present.
- Ensure zero-privilege assumptions (e.g. no unnecessary IAM permissions,
bounded execution timeouts).
Protocol 3: Lineage & Recurrence Defense
- When fixing a reported vulnerability or refactoring a vulnerable component,
check the bug's
lineage_id via
python3 "$MANTIS_HOME/reference/scripts/advise.py" --file <target_file>.
- Ensure the new implementation completely closes all attack vectors
demonstrated in prior re-attack verification test suites.
Protocol 4: Architectural Vulnerability Remediation & Sandbox Verification
When resolving a confirmed security flaw (in pipeline or standalone):
-
Grounding Context:
- Query
python3 "$MANTIS_HOME/reference/scripts/advise.py" --remediate <finding_id>
(or get_security_guidance(filepath=...)).
- Extract active OKF Threat Boundaries and Security Invariants.
- Inspect prior verified safe patterns from matching lineage history.
-
Architectural Synthesis:
- Do NOT produce superficial point-hacks (e.g.
return None, hardcoded
False, or commenting out endpoints) that lobotomize functionality.
- Refactor root-cause sinks using safe idioms (parameterization, strict
bounds, array argv, canonicalized paths).
-
Sandbox Verification (INV-1 & INV-2):
- Apply the unified diff patch to the guest workspace (
apply_patch).
- Run the finding reproducer (
run_sandbox_with_evidence).
- Verify that the attack fails to reach the sink
(
reattack_status == "failed_to_bypass").
- Verify that existing functional test suites pass without regression.
Output Format
The Advisor outputs clean, actionable recommendations:
# Security Advisory: <target_file>
### 1. Threat Model & Trust Boundaries
- **Entry Points**: <untrusted network / RPC / CLI>
- **Sensitive Assets**: <credentials, filesystem, tenant data>
### 2. Known Pitfalls & Historical Lineages
- **[CWE-XX] <Title>** (Lineage: `<uuid>`): <How it occurred and how it was resolved>
- **Verified Safe Pattern**:
```python
# Safe implementation idiom
3. False Positive Context (Intentional Behavior)
4. Implementation Checklist