Security review

Tejus scans the files an agent changed after every turn for hardcoded secrets, injection, weak crypto and other risky code, and can send findings back to the agent.

After each agent turn, Tejus reviews the files that turn changed and reports risky code: hardcoded secrets, injection, weak cryptography, unsafe deserialization, raw HTML sinks, path traversal and disabled TLS checks. It works with every agent (the built-in Tejus agent and the CLI agents), runs entirely on your computer, and uploads nothing.

Real product capture3024 × 1896
A Tejus thread with a security review entry for the files the agent changed, and the finding in the notifications panel

How it works

  1. When a turn finishes and its diff has been captured, Tejus takes the files the turn added or modified. Deleted files and files with no added lines are skipped.
  2. Each file is scanned with Tejus's built-in rules. The review covers up to 60 files per turn and skips files larger than 256 KB.
  3. Findings at or above your Minimum severity are added to the turn as a Security review entry, for example Security review: 2 issues in changed files (1 critical, 1 high). Each finding shows its severity, file:line, what was found and a suggested fix. Up to 20 findings are listed per turn.
  4. The same summary appears in the notification bell in the window bar, with the chat's name and the first finding.
  5. A finding is reported once per chat. Tejus doesn't repeat it on later turns.

What it detects

RuleSeverityLanguages
Hardcoded credentialCriticalAll files
AWS access key idCriticalAll files
Embedded private key blockCriticalAll files
Shell command built from inputCriticalJavaScript/TypeScript, Python
TLS verification disabledCriticalJavaScript/TypeScript, Python, Go, PHP
Dynamic eval / FunctionHighJavaScript/TypeScript
SQL built by concatenationHighJavaScript/TypeScript, Python, Java, PHP, Go, C#
Weak hash (MD5/SHA-1)HighJavaScript/TypeScript, Python, Java, Go, PHP, Ruby
Unsafe deserializationHighPython, PHP, Ruby, JavaScript/TypeScript
Raw HTML injection sinkHighJavaScript/TypeScript, HTML
Path built from request inputHighJavaScript/TypeScript
Math.random() for tokensMediumJavaScript/TypeScript

The rules favour few false positives over catching everything. A clean review is not a security audit, so still review agent changes yourself.

Settings

Open Settings → Security (in the Tejus account group). You don't need to sign in to use it.

SettingOptionsDefault
Review agent changesOn / offOn
Minimum severityCritical only · High and above · Medium and above · EverythingHigh and above
When issues are foundReport only · Ask the agent to fixReport only
  • Report only: findings appear in the turn and in the bell. Nothing else happens.
  • Ask the agent to fix: when a review finds critical or high issues, Tejus queues one follow-up message in the same chat. It lists those findings and asks the agent to fix each one with the smallest safe change, or to explain why a finding is a false positive. A chat gets at most one automatic fix request every 15 minutes, so a fix that trips a rule again can't loop.

The settings are saved in %USERPROFILE%\.tejus\userdata\tejus-security.json.

Silence a finding

If a finding is a false positive, add a comment containing tejus-ignore on the flagged line:

const sample = "AKIAIOSFODNN7EXAMPLE"; // tejus-ignore: documented example key

Findings on that line are no longer reported. The older tron-ignore marker from the previous Tejus IDE works too.

Last updated on