Validér og rens alt
Betragt input fra modellen som upålideligt.
Validér og rens alt er en gratis MCP Academy-lektion på CoddyKit. Dette er lektion 3 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i MCP Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. MCP Academy-kurset indeholder 4 lektioner i alt.
Input er ikke betroet
Ethvert argument, modellen sender til et værktøj, er input, du ikke stoler på. Modellen kan være ærlig, men dens argumenter kan være formet af injiceret tekst, så kontrollér dem. 🔎
Validér, før du handler
Kontrollér form, type og interval, før et værktøj gør noget reelt. Validering ved indgangen forvandler et uklart dårligt kald til en tydelig, sikker afvisning.
Lad Pydantic hjælpe
Typeangivelser og Pydantic-modeller afviser ugyldige argumenter, før din kode kører. Dette input skal være et positivt heltal, så en streng eller en negativ værdi bliver afvist tidligt.
from pydantic import Field
@mcp.tool()
def get_page(n: int = Field(gt=0, le=100)) -> str:
return load(n)Begræns værdierne
Sæt grænser for størrelser, længder og antal. Et grænsefelt på en forespørgsel forhindrer modellen i at bede om en million rækker og gøre ét kald til et tjenestenægtelsesangreb.
Rens til destinationen
Rensning betyder at gøre input sikkert til det sted, hvor det ender. En værdi, der er sikker i en log, kan være farlig i en shell, en SQL-streng eller en filsti.
Byg aldrig SQL manuelt
SQL, der er sammensat med strengkonkatenering, inviterer til injektion. Brug parameteriserede forespørgsler, så databasen kun behandler modelinput som en værdi og aldrig som kode, der skal udføres.
cur.execute(
"SELECT * FROM orders WHERE id = ?",
(order_id,),
)Beskyt shellen
Hvis et værktøj kører en kommando, må du aldrig indsætte argumenter i en shell-streng. Send en argumentliste, og undgå shellfortolkning, så input ikke kan smugle ekstra kommandoer ind.
Opløs og begræns stier
For filværktøjer skal du opløse stien til dens kanoniske form og bekræfte, at den forbliver inden for din tilladte rodmappe. Afvis alt med stigennemløb som punktum-punktum.
p = (ROOT / name).resolve()
if not p.is_relative_to(ROOT):
raise ValueError("path escapes root")Fejl sikkert
Når input ikke består en kontrol, skal du stoppe og returnere en tydelig fejl. Sikker fejlhåndtering er bedre end at gætte, fordi et forkert gæt kan være præcis det, en angriber ønsker.
Stol heller ikke på værktøjets output
Data, dit værktøj returnerer, kan føre injicerede instruktioner videre. Hvor det er relevant, skal du mærke eller escape hentet indhold, så modellen behandler det som data og ikke som ordrer.
Validér ved hver grænse
Kontrollér input, når det kommer ind i dit værktøj, og igen før det rammer en database, fil eller API. Hver grænse er en ny mulighed for at opdage noget usikkert.
Hurtigt tjek
Hvilket valg beskytter bedst en SQL-forespørgsel mod injektion?
Opsummering
Betragt alt værktøjsinput som ikke-betroet: validér typer og intervaller, rens til destinationen, begræns stier, og håndtér fejl sikkert. Stol ikke på input. ✅
Lær Python med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 30
- Lektioner
- 120
Ofte stillede spørgsmål
Er lektionen “Validér og rens alt” gratis?
Ja — alle 3 lektioner i læringssporet MCP Academy, inklusive “Validér og rens alt”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. MCP Academy-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Validér og rens alt”?
Betragt input fra modellen som upålideligt. Du øver dig i MCP Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på MCP Academy?
Der kræves ingen tidligere erfaring. MCP Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 3 af 4.
Hvor lang tid tager lektionen “Validér og rens alt”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne MCP Academy-lektion?
Ja. Alle MCP Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Trusler, der er særlige for MCP
- Værktøjsadgang med mindst mulige privilegier
- Validér og rens alt
- Beskyt destruktive handlinger