Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Use when reviewing AI-generated code before merge or execution: plan AST/security checks, isolated behavior tests and evidence, with language-specific coverage limits.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치 방법 보기설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
| Field | Type | Example / meaning |
|---|---|---|
| policy_id | string | SEC-001, not a SERIAL integer |
| candidate_digest | string | digest of the exact reviewed source |
| language_runtime | string | actual installed Python/Rust/TypeScript version |
| static_rules | array | rule IDs, versions and known coverage limits |
| dependency_checks | array | lockfile and advisory database identity/status |
| execution_permissions | object | isolated validation only; no production credentials |
| behavior_tests | array | required cases and observed outcomes |
| manual_review | reference | reviewed flows, reviewer, exact revision and open gaps |
| enforcement | enum | advisory / blocking; identify the actual CI implementation |
| outcome | enum | pending / blocked / accepted-for-stated-scope |
The following Python 3 example inspects source as data. It never runs it. It
recognizes only direct eval/exec calls and imports of os/subprocess. It is a
teaching filter, not a sandbox or complete security analyzer. Aliases, attribute
calls, dynamic imports and other harmful behavior can bypass these few patterns.
import ast
def inspect_generated_python(source):
if not isinstance(source, str):
return {"status": "incomplete", "reason": "source must be text", "findings": []}
try:
if len(source.encode("utf-8")) > 65536:
return {"status": "incomplete", "reason": "source exceeds 64 KiB", "findings": []}
tree = ast.parse(source)
except (SyntaxError, RecursionError, UnicodeError):
return {"status": "incomplete", "reason": "source cannot be parsed", "findings": []}
findings = []
for node in ast.walk(tree):
if isinstance(node, ast.Call) and isinstance(node.func, ast.Name):
if node.func.id in {"eval", "exec"}:
findings.append({"rule": "direct-dynamic-execution", "line": node.lineno})
if isinstance(node, (ast.Import, ast.ImportFrom)):
modules = [a.name for a in node.names] if isinstance(node, ast.Import) else [node.module or ""]
if any(m.split(".")[0] in {"os", "subprocess"} for m in modules):
findings.append({"rule": "restricted-import", "line": node.lineno})
return {"status": "blocked" if findings else "review-required", "findings": findings}
print(inspect_generated_python("import subprocess\n"))
print(inspect_generated_python("answer = 1 + 1\n"))
Expected results: restricted-import/blocked for the first input; review-required, not approved, for the second. Invalid syntax is incomplete, never a clean pass. The caller also needs an isolated/resource-bounded parser for hostile large inputs.
A generated API change parses and passes its style rules, but a cross-tenant test was skipped. Register the code digest, the skipped case and the observed static results; outcome remains pending. Do not replace the missing authorization test with an embedding similarity score or a prose comment that callers should check.
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Automate 21risk tasks via Rube MCP (Composio). Always search tools first for current schemas.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Automate 2chat tasks via Rube MCP (Composio). Always search tools first for current schemas.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Usar al iniciar o mejorar un proyecto de IA: diagnostica código y restricciones, propone skills existentes y redacta tareas y un plan de implementación en español.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Usar para crear o mejorar una skill de Andru.ia: define entradas y resultados, redacta SKILL.md con ejemplos y límites, valida la estructura y prepara una PR.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Usar tras definir el sector de un proyecto: prepara un dossier en español con contexto, normas aplicables, patrones UX y riesgos, distinguiendo fuentes verificadas de hipótesis.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
AI-powered presentation generation via the 2slides API — create slides from text, match a reference image style, summarize documents into decks, add AI voice narration, and export pages/audio. Use f
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.