MCPcopy Create free account
hub / github.com/BishopFox/aimap / construct

Method construct

presentation/aimap_slides.py:197–241  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

195
196class ProblemSlide(Scene):
197 def construct(self):
198 header = slide_title("THE PROBLEM")
199 self.play(FadeIn(header, shift=RIGHT * 0.3))
200
201 main_text = Text(
202 "AI infrastructure is being deployed at breakneck speed.\nSecurity is an afterthought.",
203 font="SF Mono", font_size=22, color=TEXT_PRIMARY, line_spacing=1.4
204 )
205 main_text.shift(UP * 2.5)
206 self.play(Write(main_text, run_time=2))
207
208 # Big stat cards
209 card1 = stat_card("175,000+", "Ollama servers\nexposed globally", SEVERITY_CRITICAL, width=4.2, height=2.2)
210 card2 = stat_card("2,000+", "Clawdbot gateways\nno authentication", SEVERITY_HIGH, width=4.2, height=2.2)
211 card3 = stat_card("7,000+", "MCP servers\nopen on the web", ACCENT_AMBER, width=4.2, height=2.2)
212
213 cards = VGroup(card1, card2, card3).arrange(RIGHT, buff=0.4)
214 cards.shift(DOWN * 0.3)
215
216 self.play(LaggedStart(
217 *[FadeIn(c, shift=UP * 0.5, scale=0.9) for c in cards],
218 lag_ratio=0.2
219 ), run_time=2)
220
221 # Bottom stats bar
222 bottom_stats = VGroup(
223 Text("43% of MCP servers have command injection", font="SF Mono", font_size=14, color=SEVERITY_CRITICAL),
224 Text(" | ", font="SF Mono", font_size=14, color=BORDER),
225 Text("$100K/day in stolen compute", font="SF Mono", font_size=14, color=SEVERITY_HIGH),
226 Text(" | ", font="SF Mono", font_size=14, color=BORDER),
227 Text("91,403 attack sessions documented", font="SF Mono", font_size=14, color=ACCENT_AMBER),
228 ).arrange(RIGHT, buff=0.05)
229 bottom_stats.shift(DOWN * 2.8)
230
231 self.play(FadeIn(bottom_stats, shift=UP * 0.2))
232
233 # Source citation
234 source = Text(
235 "Sources: SentinelOne/Censys Jan 2026, Shodan Jan 2026, AuthZed Dec 2025",
236 font="SF Mono", font_size=10, color=TEXT_MUTED
237 )
238 source.to_edge(DOWN, buff=0.3)
239 self.play(FadeIn(source))
240
241 self.wait(3)
242
243
244# ═══════════════════════════════════════════════════════════════════════════════

Callers

nothing calls this directly

Calls 2

slide_titleFunction · 0.85
stat_cardFunction · 0.85

Tested by

no test coverage detected