AI Agent Framework Governance Ratings

Independent governance analysis of popular AI agent frameworks, scored on security defaults, example quality, and governance primitives.

Generated {{ report.generated_at[:10] }} Drako v{{ report.drako_version }} {{ report.summary_stats.frameworks_rated }} frameworks rated
{% if report.summary_stats.frameworks_rated %}
{{ report.summary_stats.frameworks_rated }}
Frameworks
{{ report.summary_stats.mean_score }}
Mean Score
{{ report.summary_stats.median_score }}
Median Score
{{ report.summary_stats.max_score }}
Top Score
{{ report.summary_stats.min_score }}
Low Score
{% endif %}

Overall Ranking

{% for name, fw in ranked %} {% endfor %}
# Framework Grade Score Top Issue
{{ loop.index }} {{ fw.display_name }} {{ fw.grade }}
{{ fw.score }} / 100
{% if fw.governance_gaps %} {{ fw.governance_gaps[0] }} {% elif fw.top_findings %} {{ fw.top_findings[0].message[:80] }} {% else %} — {% endif %}

Detailed Breakdown

{% for name, fw in ranked %}
{{ fw.grade }} {{ fw.display_name }} {{ fw.score }} / 100

Strengths

    {% for s in fw.strengths %}
  • {{ s }}
  • {% endfor %}

Governance Gaps

    {% for g in fw.governance_gaps %}
  • {{ g }}
  • {% endfor %} {% if not fw.governance_gaps %}
  • No major gaps identified
  • {% endif %}

Default Analysis (modifier: {{ fw.default_modifier }})

    {% for key, info in fw.default_analysis.get('breakdown', {}).items() %}
  • {{ info.label }} {% if info.impact != 0 %}({{ "%+d" | format(info.impact) }}){% endif %}
  • {% endfor %}

Score Breakdown

  • Example avg: {{ fw.example_avg }}
  • Defaults score: {{ fw.defaults_score }}
  • Composite: {{ fw.score }} (60% examples + 40% defaults)
{% if fw.top_findings %}

Top Findings

    {% for f in fw.top_findings[:5] %}
  • {{ f.severity }} {{ f.rule }} — {{ f.message[:120] }} {% if f.file %}
    {{ f.file }}{% endif %}
  • {% endfor %}
{% endif %} {% if fw.example_scores %}

Example Scans

{% for ex in fw.example_scores %} {% endfor %}
PathScoreFindings
{{ ex.path }} {% if ex.score is not none %}{{ ex.score }}{% else %}—{% endif %} {{ ex.findings_count }}
{% endif %} {% if fw.errors %}

Errors

    {% for e in fw.errors %}
  • {{ e }}
  • {% endfor %}
{% endif %}
{% endfor %}

Methodology

{% for para in report.methodology.split('\n\n') %}

{{ para }}

{% endfor %}
composite = 0.6 × mean(example_scores) + 0.4 × clamp(50 + default_modifier, 0, 100)

Default modifiers: Code execution enabled by default: −15  |  Each positive governance default (audit logging, tool permissions, output validation, human-in-the-loop, memory isolation, rate limiting, credential management): +5