Toxic dependencies er et begreb inden for softwareudvikling og sikkerhed, der dækker over tredjepartsafhængigheder, som udgør en langsigtet risiko for systemets sikkerhed, stabilitet, performance eller forretningsmæssige bæredygtighed. Problemet opstår, når afhængigheder introduceres uden klar kontrol, ejerskab eller exit-strategi.
En toxic dependency er en ekstern komponent (library, framework, SDK, SaaS eller API), som applikationen er afhængig af, men som:
ikke længere vedligeholdes,
udvikles uden sikkerhedsfokus,
ændrer vilkår uforudsigeligt,
eller er for dybt indlejret til nem udskiftning.
Afhængigheden fungerer teknisk, men skaber strategisk gæld.
Typiske årsager:
Hurtige valg under tidspres (“vi fik det til at virke”)
Overafhængighed af open source uden ejerskab
Manglende version pinning
Manglende vendor risk management
Frameworks eller packages brugt uden reelt behov
“Transitive dependencies” uden overblik
Problemet akkumulerer over tid og opdages ofte først, når det er for sent.
Kendte CVE’er uden patches
Supply chain-angreb
Ondsindede opdateringer eller takeover af packages
Breaking changes uden varsel
Uforudsigelig performance
Deprecated API’er der lukker ned
Vendor lock-in
Prisændringer og licensændringer
Compliance- og juridiske risici
Refaktorering bliver dyr
Releases bremses af eksterne beslutninger
Teams bliver bange for at opdatere
Open source libraries uden aktive maintainers
SaaS-API’er uden SLA eller roadmap
Framework-plugins der “ejer” forretningslogik
Auth- eller betalingsløsninger uden fallback
Dependencies med dybe hooks i core flows
Kend hvorfor hver dependency findes
Dokumentér ejerskab og ansvar
Kræv vedligeholdelsesstatus og community-aktivitet
Indkapsl dependencies bag interfaces
Undgå direkte coupling til framework-specifikke features
Brug adapters og facades
Pin versions eksplicit
Undgå auto-opdateringer i produktion
Test opgraderinger isoleret
Antag at alle dependencies kan forsvinde
Overvej “cost to replace” før adoption
Undgå dependencies i kerneforretning, hvis muligt
“Det er et populært library”
“Det har mange GitHub stars”
“Det er open source”
“Vi opdaterer senere”
Popularitet er ikke governance.
Toxic dependencies er ofte skjult tech debt, der først rammer under vækst eller krise.
Jo flere afhængigheder, desto mere uforudsigelig bliver roadmap og leverance.
Ved opkøb, investering eller compliance audits er dependencies et fast fokuspunkt.
Udfordring: Mange transitive dependencies
Løsning: Dependency scanning og SBOM (Software Bill of Materials)
Udfordring: Dybt integreret SaaS
Løsning: Abstrahér integrationen og planlæg alternativ
Udfordring: Manglende overblik
Løsning: Regelmæssige dependency reviews og audits
Toxic dependencies er sjældent et teknisk problem i isolation.
Det er et ledelses- og arkitekturproblem.
Hvis en dependency:
ikke kan fjernes,
ikke kan opdateres,
eller ikke kan forklares,
så ejer den allerede dit system.
Professionel softwareudvikling kræver bevidst afhængighedsstyring.